cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Antonetti (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-12215) NullPointerException during Compaction
Date Fri, 29 Jul 2016 00:01:46 GMT

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

Daniel Antonetti commented on CASSANDRA-12215:
----------------------------------------------

How does this look


{code:java}
INFO  [ReadStage-1] 2016-07-28 16:58:20,340 ApproximateTime.java:44 - Scheduling approximate
time-check task with a precision of 10 milliseconds
INFO  [OptionalTasks:1] 2016-07-28 16:58:20,376 CassandraRoleManager.java:412 - Completed
conversion of legacy users
INFO  [OptionalTasks:1] 2016-07-28 16:58:20,377 CassandraRoleManager.java:417 - Migrating
legacy credentials data to new system table
INFO  [OptionalTasks:1] 2016-07-28 16:58:20,404 CassandraRoleManager.java:430 - Completed
conversion of legacy credentials
INFO  [Service Thread] 2016-07-28 16:58:35,407 GCInspector.java:284 - ConcurrentMarkSweep
GC in 272ms.  CMS Old Gen: 78753424 -> 74660792; Code Cache: 25616576 -> 25689664; Metaspace:
41159368 -> 41170872; Par Eden Space: 200170976 -> 208049320;
WARN  [ReadStage-2] 2016-07-28 16:59:06,804 AbstractLocalAwareExecutorService.java:169 - Uncaught
exception on thread Thread[ReadStage-2,5,main]: {}
java.lang.RuntimeException: java.lang.NullPointerException
	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2473)
~[main/:na]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_101]
	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
~[main/:na]
	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
[main/:na]
	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) [main/:na]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
Caused by: java.lang.NullPointerException: null
	at org.apache.cassandra.db.ReadCommand$1MetricRecording.applyToRow(ReadCommand.java:470)
~[main/:na]
	at org.apache.cassandra.db.ReadCommand$1MetricRecording.applyToStatic(ReadCommand.java:464)
~[main/:na]
	at org.apache.cassandra.db.transform.BaseRows.add(BaseRows.java:108) ~[main/:na]
	at org.apache.cassandra.db.transform.UnfilteredRows.add(UnfilteredRows.java:41) ~[main/:na]
	at org.apache.cassandra.db.transform.Transformation.add(Transformation.java:162) ~[main/:na]
	at org.apache.cassandra.db.transform.Transformation.apply(Transformation.java:128) ~[main/:na]
	at org.apache.cassandra.db.ReadCommand$1MetricRecording.applyToPartition(ReadCommand.java:458)
~[main/:na]
	at org.apache.cassandra.db.ReadCommand$1MetricRecording.applyToPartition(ReadCommand.java:442)
~[main/:na]
	at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:96) ~[main/:na]
	at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:289)
~[main/:na]
	at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:145) ~[main/:na]
	at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:138)
~[main/:na]
	at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:134)
~[main/:na]
	at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:76) ~[main/:na]
	at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:323) ~[main/:na]
	at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1803)
~[main/:na]
	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2469)
~[main/:na]
	... 5 common frames omitted
WARN  [ReadStage-2] 2016-07-28 16:59:21,498 AbstractLocalAwareExecutorService.java:169 - Uncaught
exception on thread Thread[ReadStage-2,5,main]: {}
{code}


> NullPointerException during Compaction
> --------------------------------------
>
>                 Key: CASSANDRA-12215
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12215
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Compaction
>         Environment: Cassandra 3.0.8, cqlsh 5.0.1
>            Reporter: Hau Phan
>             Fix For: 3.0.x
>
>
> Running 3.0.8 on a single standalone node with cqlsh 5.0.1, the keyspace RF = 1 and class
SimpleStrategy.  
> Attempting to run a 'select * from <table>' and receiving this error:
> ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation failed
- received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses':
1, 'consistency': 'ONE'}
> Cassandra system.log prints this:
> {code}
> ERROR [CompactionExecutor:5] 2016-07-15 13:42:13,219 CassandraDaemon.java:201 - Exception
in thread Thread[CompactionExecutor:5,1,main]
> java.lang.NullPointerException: null
> 	at org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:58)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:64)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:24)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:96)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:226)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:177)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:78)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:263)
~[apache-cassandra-3.0.8.jar:3.0.8]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_65]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_65]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_65]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
> {code}
> Doing a sstabledump -d shows a few rows with the column value of "<tombstone>",
telling me compaction doesn't seem to be working correctly.  
> # nodetool compactionstats 
> pending tasks: 1
> attempting to run a compaction gets:
> # nodetool compact <table> <cf>
> error: null
> -- StackTrace --
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:58)
> 	at org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:64)
> 	at org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:24)
> 	at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:96)
> 	at org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:226)
> 	at org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:177)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:78)
> 	at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
> 	at org.apache.cassandra.db.compaction.CompactionManager$8.runMayThrow(CompactionManager.java:606)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
> Since the table is pretty small, I can do a copy to, truncate the table, and copy from,
and the table is fine.  But my concern is if compaction fails to remove those rows, and the
table will eventually be very large in a production environment, the copy, truncate, and copy
will no longer be an option.



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

Mime
View raw message