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

Stefania commented on CASSANDRA-12706:
--------------------------------------

Thanks for the update and for providing the schema!

I opted for a unit test in order to reproduce the NPE. Here is the full patch, 
it's identical to yesterday's except for the unit test. For trunk there is only 
the unit test because the fix had already been implemented by a new feature 
(CASSANDRA-7392). Therefore, I am not going to wast CPU cycles and skip the CI 
tests on trunk (I verified the unit test passes locally). 

||3.0||trunk||
|[patch|https://github.com/stef1927/cassandra/commits/12706-3.0]|[patch|https://github.com/stef1927/cassandra/commits/12706]|
|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-12706-3.0-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-12706-testall/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-12706-3.0-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-12706-dtest/]|

> Exception supposedly after ttl expires and compaction occurs
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-12706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12706
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>         Environment: Linux amd64 Amazon default AMI,
> Java 1.8.0_122 oracle jdk
>            Reporter: Nikhil Sharma
>            Assignee: Stefania
>            Priority: Critical
>             Fix For: 3.0.x, 3.x
>
>
> After TTL (1 week) expires and compaction occurs. We start seeing:
> WARN  [SharedPool-Worker-1] 2016-09-26 07:35:17,420 
> AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-1,5,main]: {}
> java.lang.NullPointerException: null
>               at 
> org.apache.cassandra.db.Slices$ArrayBackedSlices$ComponentOfSlice.isEQ(Slices.java:748)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.Slices$ArrayBackedSlices.toCQLString(Slices.java:659) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.toCQLString(ClusteringIndexSliceFilter.java:150)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.SinglePartitionReadCommand.appendCQLWhereClause(SinglePartitionReadCommand.java:911)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.ReadCommand.toCQLString(ReadCommand.java:560) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.ReadCommand$1MetricRecording.onClose(ReadCommand.java:506)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.transform.BasePartitions.runOnClose(BasePartitions.java:70)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.transform.BaseIterator.close(BaseIterator.java:76) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:48)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_102]
>               at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.9.jar:3.0.9]
>               at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]
> WARN  [SharedPool-Worker-3] 2016-09-26 07:35:31,247 
> AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-3,5,main]: {}
> java.lang.RuntimeException: java.lang.NullPointerException
>               at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2470)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_102]
>               at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.9.jar:3.0.9]
>               at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]
> Caused by: java.lang.NullPointerException: null
>               at 
> org.apache.cassandra.db.Slices$ArrayBackedSlices$ComponentOfSlice.isEQ(Slices.java:748)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.Slices$ArrayBackedSlices.toCQLString(Slices.java:659) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.toCQLString(ClusteringIndexSliceFilter.java:150)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.SinglePartitionReadCommand.appendCQLWhereClause(SinglePartitionReadCommand.java:911)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.ReadCommand.toCQLString(ReadCommand.java:560) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.ReadCommand$1MetricRecording.onClose(ReadCommand.java:506)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.transform.BasePartitions.runOnClose(BasePartitions.java:70)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.db.transform.BaseIterator.close(BaseIterator.java:76) 
> ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1797)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2466)
>  ~[apache-cassandra-3.0.9.jar:3.0.9]
>               ... 5 common frames omitted
> This results in queries failing on those tables (not always though, at 
> first). The failures keep increasing, until total failure after a few days.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to