[jira] [Commented] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is "0"
[ 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 "200" 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
[jira] [Commented] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is "0"
[ https://issues.apache.org/jira/browse/CASSANDRA-4596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13448276#comment-13448276 ] Normen Seemann commented on CASSANDRA-4596: --- I don't set the end_key at all, I only set start_key and end_token. Just like in the ColumnFamilyRecordReader.WideRowIterator. I set end_token to BigInteger.ZERO.toString() // "0". Another observation is that if start_key is unset the call returns. > 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
[jira] [Commented] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is "0"
[ https://issues.apache.org/jira/browse/CASSANDRA-4596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445868#comment-13445868 ] Jonathan Ellis commented on CASSANDRA-4596: --- Not sure how you've managed to do this. Thrift is hanging trying to read the end_key, which should just be a ByteBuffer like any other. Unclear without knowing how you've formed end_key. > 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