NullPointerException in getTempSSTablePath() with leveled compaction strategy
-----------------------------------------------------------------------------
Key: CASSANDRA-3683
URL: https://issues.apache.org/jira/browse/CASSANDRA-3683
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 1.0.5
Environment: Linux
Reporter: Kent Tong
When using the leveled compaction strategy, sometimes a NullPointerException is
raised during compaction. See the stacktrace below for the details.
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,117 GCInspector.java (line 123) GC
for ParNew: 1481 ms for 1 collections, 5577352760 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,117 StatusLogger.java (line 50)
Pool Name Active Pending Blocked
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,118 StatusLogger.java (line 65)
ReadStage 1 3 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,118 StatusLogger.java (line 65)
RequestResponseStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,118 StatusLogger.java (line 65)
ReadRepairStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,118 StatusLogger.java (line 65)
MutationStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,119 StatusLogger.java (line 65)
ReplicateOnWriteStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,119 StatusLogger.java (line 65)
GossipStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,119 StatusLogger.java (line 65)
AntiEntropyStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,120 StatusLogger.java (line 65)
MigrationStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,120 StatusLogger.java (line 65)
StreamStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,120 StatusLogger.java (line 65)
MemtablePostFlusher 1 1 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,120 StatusLogger.java (line 65)
FlushWriter 1 1 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,121 StatusLogger.java (line 65)
MiscStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,121 StatusLogger.java (line 65)
InternalResponseStage 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,121 StatusLogger.java (line 65)
HintedHandoff 0 0 0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,122 StatusLogger.java (line 69)
CompactionManager n/a -3
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,122 StatusLogger.java (line 81)
MessagingService n/a 0,0
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,122 StatusLogger.java (line 85)
ColumnFamily Memtable ops,data Row cache size/cap Key cache
size/cap
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,122 StatusLogger.java (line 88)
system.NodeIdInfo 0,0 0/0
0/1
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,122 StatusLogger.java (line 88)
system.IndexInfo 0,0 0/0
0/1
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,123 StatusLogger.java (line 88)
system.LocationInfo 0,0 0/0
2/3
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,123 StatusLogger.java (line 88)
system.Versions 3,103 0/0
0/1
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,123 StatusLogger.java (line 88)
system.Migrations 0,0 0/0
0/3
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,123 StatusLogger.java (line 88)
system.HintsColumnFamily 0,0 0/0
0/1
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,123 StatusLogger.java (line 88)
system.Schema 0,0 0/0
0/3
INFO [ScheduledTasks:1] 2011-12-29 08:43:52,124 StatusLogger.java (line 88)
mcas.timebasedtoken 2198,1027880 0/0
7000000/7000000
INFO [ScheduledTasks:1] 2011-12-29 08:43:53,565 GCInspector.java (line 123) GC
for ParNew: 372 ms for 1 collections, 5582229656 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:43:55,570 GCInspector.java (line 123) GC
for ParNew: 405 ms for 1 collections, 6098538760 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:43:56,572 GCInspector.java (line 123) GC
for ParNew: 294 ms for 1 collections, 5598626768 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:43:57,832 GCInspector.java (line 123) GC
for ParNew: 338 ms for 1 collections, 5599197240 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:43:59,307 GCInspector.java (line 123) GC
for ParNew: 340 ms for 1 collections, 5602933488 used; max is 10171187200
INFO [FlushWriter:74] 2011-12-29 08:44:00,745 Memtable.java (line 275)
Completed flushing
/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-437-Data.db
(61452240 bytes)
INFO [COMMIT-LOG-WRITER] 2011-12-29 08:44:00,766 CommitLog.java (line 489)
Discarding obsolete commit
log:CommitLogSegment(/opt/weblogic/apache-cassandra-1.0.5/data/commitlog/CommitLog-1325116625989.log)
INFO [CompactionExecutor:400] 2011-12-29 08:44:00,836 CompactionTask.java
(line 112) Compacting
[SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-311-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-399-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-323-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-413-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-297-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-302-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-295-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-306-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-322-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-312-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-317-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-303-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-293-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-316-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-298-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-318-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-402-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-321-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-319-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-309-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-324-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-408-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-410-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-308-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-314-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-313-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-315-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-320-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-305-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-296-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-411-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-406-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-299-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-437-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-301-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-415-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-307-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-294-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-310-Data.db'),
SSTableReader(path='/opt/weblogic/apache-cassandra-1.0.5/data/data/mcas/timebasedtoken-hb-300-Data.db')]
ERROR [CompactionExecutor:400] 2011-12-29 08:44:02,481
AbstractCassandraDaemon.java (line 133) Fatal exception in thread
Thread[CompactionExecutor:400,1,main]
java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at
org.apache.cassandra.db.ColumnFamilyStore.getTempSSTablePath(ColumnFamilyStore.java:629)
at
org.apache.cassandra.db.ColumnFamilyStore.getTempSSTablePath(ColumnFamilyStore.java:640)
at
org.apache.cassandra.db.ColumnFamilyStore.createCompactionWriter(ColumnFamilyStore.java:1866)
at
org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:150)
at
org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:57)
at
org.apache.cassandra.db.compaction.CompactionManager$1.call(CompactionManager.java:134)
at
org.apache.cassandra.db.compaction.CompactionManager$1.call(CompactionManager.java:114)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
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:662)
INFO [ScheduledTasks:1] 2011-12-29 08:47:31,917 GCInspector.java (line 123) GC
for ParNew: 202 ms for 1 collections, 3479837216 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:48:38,308 GCInspector.java (line 123) GC
for ParNew: 411 ms for 1 collections, 3551202680 used; max is 10171187200
INFO [ScheduledTasks:1] 2011-12-29 08:49:42,440 GCInspector.java (line 123) GC
for ParNew: 210 ms for 1 collections, 3579420432 used; max is 10171187200
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira