You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by 土卜皿 <pe...@gmail.com> on 2015/12/29 00:28:28 UTC

why I got error "Could not retrieve endpoint rangs" when I run sstableloader?

hi, all
   I used the sstableloader many times successfully, but I got the
following error:

[root@localhost pengcz]# /usr/local/cassandra/bin/sstableloader -u user -pw
password -v -d 172.21.0.131 ./currentdata/keyspace/table

Could not retrieve endpoint ranges:
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:267)
        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:1833)
        at
org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1126)
        at
org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
        ... 2 more

I don't know whether this error is relative to one of cluster nodes' linux
crash?

Any advice will be appreciated!

Dillon Peng

Re: why I got error "Could not retrieve endpoint rangs" when I run sstableloader?

Posted by Yuki Morishita <mo...@gmail.com>.
You only need patch for sstableloader.
You don't have to upgrade your cassandra servers at all.

So,

1. fetch the latest cassandra-2.1 source
    $ git clone https://git-wip-us.apache.org/repos/asf/cassandra.git
    $ cd cassandra
    $ git checkout origin/cassandra-2.1
2. build it
    $ ant
3. use sstableloader you just built
    $ bin/sstableloader ....



On Mon, Dec 28, 2015 at 6:03 PM, 土卜皿 <pe...@gmail.com> wrote:
> hi, Yuki
>    Thank you very much!
>     The issue's description almost fits to my case!
>     1. My Cassandra version is 2.1.11
>      2.  my table has several colomn with collection type
>      3.  Before failed this time, I can use sstableloader to load the data
> into this table,  but
>          I got this error after I drop one column with collection type and
> insert a column with int type
> Do you think I will resolve my question if I  update the version into
> 2.1.13?
>
> And, my table already had 560 millions of records. So, for resolving this,
> Whether I only need to update the new version C*.jar
> and restart  cassandra?
>
> Dillon
>
> 2015-12-29 7:36 GMT+08:00 Yuki Morishita <mo...@gmail.com>:
>>
>> This is known issue.
>>
>> https://issues.apache.org/jira/browse/CASSANDRA-10700
>>
>> It is fixed in not-yet-released version 2.1.13.
>> So, you need to build from the latest cassandra-2.1 branch to try.
>>
>>
>> On Mon, Dec 28, 2015 at 5:28 PM, 土卜皿 <pe...@gmail.com> wrote:
>> > hi, all
>> >    I used the sstableloader many times successfully, but I got the
>> > following
>> > error:
>> >
>> > [root@localhost pengcz]# /usr/local/cassandra/bin/sstableloader -u user
>> > -pw
>> > password -v -d 172.21.0.131 ./currentdata/keyspace/table
>> >
>> > Could not retrieve endpoint ranges:
>> > 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:267)
>> >         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:1833)
>> >         at
>> >
>> > org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1126)
>> >         at
>> >
>> > org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
>> >         ... 2 more
>> >
>> > I don't know whether this error is relative to one of cluster nodes'
>> > linux
>> > crash?
>> >
>> > Any advice will be appreciated!
>> >
>> > Dillon Peng
>>
>>
>>
>> --
>> Yuki Morishita
>>  t:yukim (http://twitter.com/yukim)
>
>



-- 
Yuki Morishita
 t:yukim (http://twitter.com/yukim)

Re: why I got error "Could not retrieve endpoint rangs" when I run sstableloader?

Posted by 土卜皿 <pe...@gmail.com>.
hi, Yuki
   Thank you very much!
    The issue's description almost fits to my case!
    1. My Cassandra version is 2.1.11
     2.  my table has several colomn with collection type
     3.  Before failed this time, I can use sstableloader to load the data
into this table,  but
         I got this error after I drop one column with collection type and
insert a column with int type
Do you think I will resolve my question if I  update the version into
2.1.13?

And, my table already had 560 millions of records. So, for resolving this,
Whether I only need to update the new version C*.jar
and restart  cassandra?

Dillon

2015-12-29 7:36 GMT+08:00 Yuki Morishita <mo...@gmail.com>:

> This is known issue.
>
> https://issues.apache.org/jira/browse/CASSANDRA-10700
>
> It is fixed in not-yet-released version 2.1.13.
> So, you need to build from the latest cassandra-2.1 branch to try.
>
>
> On Mon, Dec 28, 2015 at 5:28 PM, 土卜皿 <pe...@gmail.com> wrote:
> > hi, all
> >    I used the sstableloader many times successfully, but I got the
> following
> > error:
> >
> > [root@localhost pengcz]# /usr/local/cassandra/bin/sstableloader -u user
> -pw
> > password -v -d 172.21.0.131 ./currentdata/keyspace/table
> >
> > Could not retrieve endpoint ranges:
> > 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:267)
> >         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:1833)
> >         at
> >
> org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1126)
> >         at
> >
> org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
> >         ... 2 more
> >
> > I don't know whether this error is relative to one of cluster nodes'
> linux
> > crash?
> >
> > Any advice will be appreciated!
> >
> > Dillon Peng
>
>
>
> --
> Yuki Morishita
>  t:yukim (http://twitter.com/yukim)
>

Re: why I got error "Could not retrieve endpoint rangs" when I run sstableloader?

Posted by Yuki Morishita <mo...@gmail.com>.
This is known issue.

https://issues.apache.org/jira/browse/CASSANDRA-10700

It is fixed in not-yet-released version 2.1.13.
So, you need to build from the latest cassandra-2.1 branch to try.


On Mon, Dec 28, 2015 at 5:28 PM, 土卜皿 <pe...@gmail.com> wrote:
> hi, all
>    I used the sstableloader many times successfully, but I got the following
> error:
>
> [root@localhost pengcz]# /usr/local/cassandra/bin/sstableloader -u user -pw
> password -v -d 172.21.0.131 ./currentdata/keyspace/table
>
> Could not retrieve endpoint ranges:
> 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:267)
>         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:1833)
>         at
> org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1126)
>         at
> org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
>         ... 2 more
>
> I don't know whether this error is relative to one of cluster nodes' linux
> crash?
>
> Any advice will be appreciated!
>
> Dillon Peng



-- 
Yuki Morishita
 t:yukim (http://twitter.com/yukim)