使用CQLSSTableWriter时的ArrayIndexOutOfBoundsException

时间:2015-03-11 14:18:48

标签: cassandra cassandra-2.0

我在一个应用程序中使用CQLSSTableWriter,该应用程序使用sstableloader为sssans 2.1.2准备sstables以进行批量加载。

"有时"我在应用程序的输出中遇到了这个异常:

14:23:58.694 [Thread-4] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_area_cell1/sensordata-packets_area_cell1-tmp-ka-318-CompressionInfo.db to /mnt/datasstables-generated/2006/05/sensordata/packets_area_cell1/sensordata-packets_area_cell1-ka-318-CompressionInfo.db
14:23:58.695 [Thread-4] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_area_cell1/sensordata-packets_area_cell1-tmp-ka-318-Data.db to /mnt/datasstables-generated/2006/05/sensordata/packets_area_cell1/sensordata-packets_area_cell1-ka-318-Data.db
Exception in thread "Thread-7" java.lang.ArrayIndexOutOfBoundsException: 132385
    at org.apache.cassandra.db.ArrayBackedSortedColumns.append(ArrayBackedSortedColumns.java:196)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.sortCells(ArrayBackedSortedColumns.java:167)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.maybeSortCells(ArrayBackedSortedColumns.java:125)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.access$1100(ArrayBackedSortedColumns.java:44)
    at org.apache.cassandra.db.ArrayBackedSortedColumns$CellCollection.iterator(ArrayBackedSortedColumns.java:622)
    at org.apache.cassandra.db.ColumnFamily.iterator(ColumnFamily.java:476)
    at org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:429)
    at org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:225)
    at org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:215)
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at dk.company.commons.app.CliCommandList$1.execute(CliCommandList.java:50)
    at dk.company.commons.app.CliCommandList.invoke(CliCommandList.java:80)
    at dk.company.ais.store.Main.main(Main.java:33)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 132385
    at org.apache.cassandra.db.ArrayBackedSortedColumns.append(ArrayBackedSortedColumns.java:196)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.sortCells(ArrayBackedSortedColumns.java:167)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.maybeSortCells(ArrayBackedSortedColumns.java:125)
    at org.apache.cassandra.db.ArrayBackedSortedColumns.access$1100(ArrayBackedSortedColumns.java:44)
    at org.apache.cassandra.db.ArrayBackedSortedColumns$CellCollection.iterator(ArrayBackedSortedColumns.java:622)
    at org.apache.cassandra.db.ColumnFamily.iterator(ColumnFamily.java:476)
    at org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:429)
    at org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:225)
    at org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:215)
14:24:45.763 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-Index.db to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-Index.db
14:24:45.763 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-Filter.db to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-Filter.db
14:24:45.765 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-Digest.sha1 to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-Digest.sha1
14:24:45.765 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-Statistics.db to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-Statistics.db
14:24:45.766 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-TOC.txt to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-TOC.txt
14:24:45.766 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-CompressionInfo.db to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-CompressionInfo.db
14:24:45.767 [Thread-3] DEBUG o.apache.cassandra.io.util.FileUtils - Renaming /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-tmp-ka-320-Data.db to /mnt/datasstables-generated/2006/05/sensordata/packets_id/sensordata-packets_id-ka-320-Data.db

我仍然没有弄清楚是否"有时"始终在我的输入文件中的相同位置;或者是否更不可预测地触发了异常。数据集非常大 - 因此重现需要一段时间。上面的示例是在处理文件的原始输入9小时后发生的。

有其他人看过这个 - 或者知道如何解决它?

更新:我已提交错误报告: https://issues.apache.org/jira/browse/CASSANDRA-8978

0 个答案:

没有答案