cassandradatastaxdatastax-enterprisebulkloader

Could not retrieve endpoint ranges: java.lang.IllegalArgumentException


I am tyring to load sstables to cassandra using sstableloader utility. But I am getting the following error.

> java.lang.IllegalArgumentException
java.lang.RuntimeException: Could not retrieve endpoint ranges: 
    at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:338)
    at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:156)
    at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:106)
Caused by: java.lang.IllegalArgumentException
    at java.nio.Buffer.limit(Buffer.java:275)
    at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:543)
    at org.apache.cassandra.serializers.CollectionSerializer.readValue(CollectionSerializer.java:124)
    at org.apache.cassandra.serializers.MapSerializer.deserializeForNativeProtocol(MapSerializer.java:101)
    at org.apache.cassandra.serializers.MapSerializer.deserializeForNativeProtocol(MapSerializer.java:30)
    at org.apache.cassandra.serializers.CollectionSerializer.deserialize(CollectionSerializer.java:50)
    at org.apache.cassandra.db.marshal.AbstractType.compose(AbstractType.java:68)
    at org.apache.cassandra.cql3.UntypedResultSet$Row.getMap(UntypedResultSet.java:287)
    at org.apache.cassandra.config.CFMetaData.fromSchemaNoTriggers(CFMetaData.java:1824)
    at org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1117)
    at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
    ... 2 mor

the command I am using to load the sstable is

$bin/sstableloader -d nodename -u username -pw password path/to/sstable/keyspacename/tablename

this was working a few days back .I am not sure whats changed and how to debug it ? I am using datastax. I am loading the sstable from the same node which is in the cluster.i.e my source and destination node are same. Has someone seen this error before ? Cassandra version : 2.1 Any Help is appreciated.


Solution

  • I had this problem again, so debugged it a little for the root cause. The problem is if at any time you have altered your cassandra table by dropping some column. it triggers a bug for sstableLoader. That why dropping the table and creating it again works.