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


Reply via email to