[jira] [Commented] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is 0

2012-09-04 Thread Normen Seemann (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-4596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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] [Created] (CASSANDRA-4596) thrift call to get_paged_slice() hangs if end token is 0

2012-08-30 Thread Normen Seemann (JIRA)
Normen Seemann created CASSANDRA-4596:
-

 Summary: 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