found the issue. It should not be null when using function on the field.

Anyway to solve those kind of issue? Like ignore if field is null or not null 
fields set 0 date while altering table?

cqlsh:demodb> select dateof(search_date) from news_comments where 
search_date=a7790001-02e8-11e3-bc81-fb4a940b08ec and userid=21 allow filtering;

 dateof(search_date)
--------------------------
 2013-08-12 02:46:41+0200


Thanks,
Saravanan



________________________________
 From: Saravanan <[email protected]>
To: "[email protected]" <[email protected]> 
Sent: Monday, August 12, 2013 3:13 AM
Subject: cql throw error when secondary timeuuid field use dateof()
 


Hi,

I am trying to create a comments table. Which has primary key timeuuid and 
secondary field which also has timeuuid. 

when I do query using funtion dateof() it throws error and i needed to 
reconnect again. But that query don't work at all.

cqlsh:demodb> select id,dateof(search_date) from news_comments;
TSocket read 0 bytes

it works fine if I do the same function for primarykey based timeuuid field

cqlsh:demodb> select id,dateof(created_date),search_date from news_comments;

 id  | dateof(created_date)     | search_date
-----+--------------------------+--------------------------------------
 105 | 2013-08-12 02:46:33+0200 | a2bb29d1-02e8-11e3-bc81-fb4a940b08ec
 105 | 2013-08-12 02:46:36+0200 |
 a4abd641-02e8-11e3-bc81-fb4a940b08ec
 105 | 2013-08-12 02:46:41+0200 | a7790001-02e8-11e3-bc81-fb4a940b08ec
 105 | 2013-08-12 02:46:44+0200 | a943d4f1-02e8-11e3-bc81-fb4a940b08ec
 100 | 2013-08-07 05:35:47+0200 |                                 null
 100 | 2013-08-07 05:35:58+0200 |                                 null
 100 | 2013-08-07 05:35:59+0200 |                                 null
 100 | 2013-08-07 05:36:00+0200
 |                                 null

In systemlog i get following error.

ERROR [Thrift:4] 2013-08-12 03:08:28,303 CustomTThreadPoolServer.java (line 
217) Error occurred during processing of message.
java.lang.NullPointerException
    at org.apache.cassandra.utils.UUIDGen.getUUID(UUIDGen.java:76)
    at 
org.apache.cassandra.cql3.functions.TimeuuidFcts$4.execute(TimeuuidFcts.java:66)
    at 
org.apache.cassandra.cql3.statements.Selection$FunctionSelector.compute(Selection.java:361)
    at 
org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:436)
    at
 
org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.newRow(Selection.java:275)
    at 
org.apache.cassandra.cql3.statements.SelectStatement.handleGroup(SelectStatement.java:842)
    at 
org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:734)
    at 
org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:134)
    at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:128)
    at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:56)
    at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:118)
    at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:128)
    at
 
org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1707)
    at 
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074)
    at 
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062)
    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:199)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Thanks,
Saravanan

Reply via email to