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

basanth gowda edited comment on CASSANDRA-4532 at 8/30/12 1:21 AM:
-------------------------------------------------------------------

No luck. See the last query closed the socket. I took the latest from git and 
compiled

Here are the steps to reproduce :

cqlsh:testkeyspace1> create table compositetest(status ascii,ctime bigint,key 
ascii,nil ascii,PRIMARY KEY(status,ctime,key));

cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345678,'key1','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345678,'key2','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key3','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key4','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key5','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345680,'key6','');
cqlsh:testkeyspace1> select * from compositetest;
 status | ctime    | key  | nil
--------+----------+------+-----
      C | 12345678 | key1 |    
      C | 12345678 | key2 |    
      C | 12345679 | key3 |    
      C | 12345679 | key4 |    
      C | 12345679 | key5 |    
      C | 12345680 | key6 |    

1st query of slice :

cqlsh:testkeyspace1> select * from compositetest where ctime<=12345680 limit 3;
 status | ctime    | key  | nil
--------+----------+------+------
      C | 12345678 | key1 |     
      C | 12345678 | key2 |     
      C | 12345679 | key3 | null

Second Query : I want to get values where first one left off (Yes you could do 
this with hector) [Try 1]

cqlsh:testkeyspace1> select * from compositetest where ctime>=12345679 and 
key='key3' and ctime<=12345680 limit 3;
Bad Request: PRIMARY KEY part key cannot be restricted (preceding part ctime is 
either not restricted or by a non-EQ relation) [Try 2]
cqlsh:testkeyspace1> select * from compositetest where ctime=12345679 and 
key='key3' and ctime<=12345680 limit 3;
TSocket read 0 bytes
cqlsh:testkeyspace1>
                
      was (Author: basu76):
    No luck. See the last query closed the socket.

Here are the steps to reproduce :

cqlsh:testkeyspace1> create table compositetest(status ascii,ctime bigint,key 
ascii,nil ascii,PRIMARY KEY(status,ctime,key));

cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345678,'key1','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345678,'key2','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key3','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key4','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345679,'key5','');
cqlsh:testkeyspace1> insert into compositetest(status,ctime,key,nil) VALUES 
('C',12345680,'key6','');
cqlsh:testkeyspace1> select * from compositetest;
 status | ctime    | key  | nil
--------+----------+------+-----
      C | 12345678 | key1 |    
      C | 12345678 | key2 |    
      C | 12345679 | key3 |    
      C | 12345679 | key4 |    
      C | 12345679 | key5 |    
      C | 12345680 | key6 |    

1st query of slice :

cqlsh:testkeyspace1> select * from compositetest where ctime<=12345680 limit 3;
 status | ctime    | key  | nil
--------+----------+------+------
      C | 12345678 | key1 |     
      C | 12345678 | key2 |     
      C | 12345679 | key3 | null

Second Query : I want to get values where first one left off (Yes you could do 
this with hector) [Try 1]

cqlsh:testkeyspace1> select * from compositetest where ctime>=12345679 and 
key='key3' and ctime<=12345680 limit 3;
Bad Request: PRIMARY KEY part key cannot be restricted (preceding part ctime is 
either not restricted or by a non-EQ relation) [Try 2]
cqlsh:testkeyspace1> select * from compositetest where ctime=12345679 and 
key='key3' and ctime<=12345680 limit 3;
TSocket read 0 bytes
cqlsh:testkeyspace1>
                  
> NPE when trying to select a slice from a composite table
> --------------------------------------------------------
>
>                 Key: CASSANDRA-4532
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4532
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API, Core
>    Affects Versions: 1.1.3
>         Environment: Cassandra 1.1.3 (2 nodes) on a single host - mac osx
>            Reporter: basanth gowda
>            Priority: Minor
>              Labels: Slice, cql, cql3
>
> I posted this question on StackOverflow, because i need a solution. 
> Created a table with :
> {noformat}
> create table compositetest(m_id ascii,i_id int,l_id ascii,body ascii, PRIMARY 
> KEY(m_id,i_id,l_id));
> {noformat}
> wanted to slice the results returned, so did something like below, not sure 
> if its the right way. The first one returns data perfectly as expected, 
> second one to get the next 3 columns closes the transport of my cqlsh
> {noformat}
> cqlsh:testkeyspace1> select * from compositetest where i_id<=3 limit 3;
>  m_id | i_id | l_id | body
> ------+------+------+------
>    m1 |    1 |   l1 |   b1
>    m1 |    2 |   l2 |   b2
>    m2 |    1 |   l1 |   b1
> cqlsh:testkeyspace1> Was trying to write something for slice range.
> TSocket read 0 bytes
> {noformat}
> Is there a way to achieve what I am doing here, it would be good if some 
> meaning ful error is sent back, instead of cqlsh closing the transport.
> On the server side I see the following error.
> {noformat}
> ERROR [Thrift:3] 2012-08-12 15:15:24,414 CustomTThreadPoolServer.java (line 
> 204) Error occurred during processing of message.
> java.lang.NullPointerException
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement$Restriction.setBound(SelectStatement.java:1277)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.updateRestriction(SelectStatement.java:1151)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1001)
>       at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:215)
>       at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:121)
>       at 
> org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1237)
>       at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3542)
>       at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3530)
>       at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>       at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>       at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:680)
> {noformat}
> With ThriftClient I get :
> {noformat}
> org.apache.thrift.transport.TTransportException
>       at 
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
>       at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
>       at 
> org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129)
>       at 
> org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
>       at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
>       at 
> org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378)
>       at 
> org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297)
>       at 
> org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204)
>       at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
>       at 
> org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql_query(Cassandra.java:1402)
>       at 
> org.apache.cassandra.thrift.Cassandra$Client.execute_cql_query(Cassandra.java:1388)
> {noformat}

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

Reply via email to