cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolay (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is "0"
Date Mon, 15 Oct 2012 20:59:03 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-4596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476439#comment-13476439
] 

Nikolay commented on CASSANDRA-4596:
------------------------------------

have similar issue with my patch for 
https://issues.apache.org/jira/browse/CASSANDRA-4804

if you set 0, it time out. However 2^127 - 1 is equal to 
"170141183460469231731687303715884105727"

setting it to bigger number, for example
"200000000000000000000000000000000000000"
works correct too, even is "outside" the ring.
                
> thrift call to get_paged_slice() hangs if end token is "0"
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-4596
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4596
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API, Core, Hadoop
>    Affects Versions: 1.1.3
>         Environment: linux
>            Reporter: Normen Seemann
>
> I am using get_paged_slice() for range scans driven from within hadoop mappers. The mapper
that scans the "last segment" with get_paged_slice() where start key is set *and* end_token
is set to "0" token hangs within the thirft call. Client shows following jstack:
>  - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], int, int, int)
@bci=0 (Interpreted frame)
>  - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129 (Interpreted frame)
>  - org.apache.thrift.transport.TIOStreamTransport.read(byte[], int, int) @bci=25, line=127
(Interpreted frame)
>  - org.apache.thrift.transport.TTransport.readAll(byte[], int, int) @bci=22, line=84
(Interpreted frame)
>  - org.apache.thrift.transport.TFramedTransport.readFrame() @bci=10, line=129 (Interpreted
frame)
>  - org.apache.thrift.transport.TFramedTransport.read(byte[], int, int) @bci=28, line=101
(Interpreted frame)
>  - org.apache.thrift.transport.TTransport.readAll(byte[], int, int) @bci=22, line=84
(Interpreted frame)
>  - org.apache.thrift.protocol.TBinaryProtocol.readAll(byte[], int, int) @bci=12, line=378
(Interpreted frame)
>  - org.apache.thrift.protocol.TBinaryProtocol.readI32() @bci=52, line=297 (Interpreted
frame)
>  - org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin() @bci=1, line=204 (Interpreted
frame)
>  - org.apache.thrift.TServiceClient.receiveBase(org.apache.thrift.TBase, java.lang.String)
@bci=4, line=69 (Interpreted frame)
>  - org.apache.cassandra.thrift.Cassandra$Client.recv_get_paged_slice() @bci=12, line=727
(Interpreted frame)
>  - org.apache.cassandra.thrift.Cassandra$Client.get_paged_slice(java.lang.String, org.apache.cassandra.thrift.KeyRange,
java.nio.ByteBuffer, org.apache.cassandra.thrift.ConsistencyLevel) @bci=10, line=711 (Interpreted
frame)
> Changing the end_token from "0" to "2**127-1" fixes the problem, however, I would only
consider this a workaround. Now, there are actually two issues:
> 1.) Is the call to get_paged_slice() I described supported at all?
> 2.) if it is not supported please fix with reasonable error instead of just hanging

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message