Stefania created CASSANDRA-10159:
------------------------------------

             Summary: Incorrect last update time causes dtest to fail due to 
unexpected errors
                 Key: CASSANDRA-10159
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10159
             Project: Cassandra
          Issue Type: Bug
            Reporter: Stefania
            Assignee: Stefania
             Fix For: 3.0.0 rc1


Some dtests are failing as follows:

http://cassci.datastax.com/job/cassandra-3.0_dtest/lastCompletedBuild/testReport/counter_tests/TestCounters/upgrade_test/

{code}
Unexpected error in node2 node log: ['ERROR [main] 2015-08-23 11:25:52,701 
TransactionLog.java:246 - Possible disk corruption detected for sstable 
[ma-2-big], record [REMOVE:[ma-2-big,1440329048000,8]]: last update time [Thu 
Jan 01 00:00:00 UTC 1970] should have been [Sun Aug 23 11:24:08 UTC 2015] ERROR 
[main] 2015-08-23 11:25:52,709 TransactionLog.java:992 - Possible disk 
corruption: failed to read transaction log 
/mnt/tmp/dtest-E0OvQC/test/node2/data/system/local-7ad54392bcdd35a684174e047860b377/ma_txn_compaction_90eda9f0-4989-11e5-86bd-f32569933441.log
 
org.apache.cassandra.db.lifecycle.TransactionLog$CorruptTransactionLogException:
 Failed to verify transaction 90eda9f0-4989-11e5-86bd-f32569933441 record 
[REMOVE:[ma-2-big,1440329048000,8]]: possible disk corruption, aborting \tat 
org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile.readRecords(TransactionLog.java:349)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.TransactionLog$TransactionData.readLogFile(TransactionLog.java:574)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.TransactionLog.removeUnfinishedLeftovers(TransactionLog.java:988)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.LifecycleTransaction.removeUnfinishedLeftovers(LifecycleTransaction.java:548)
 [main/:na] \tat 
org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:584)
 [main/:na] \tat 
org.apache.cassandra.service.StartupChecks$7.execute(StartupChecks.java:274) 
[main/:na] \tat 
org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:103) 
[main/:na] \tat 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:166) 
[main/:na] \tat 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516) 
[main/:na] \tat 
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:622) 
[main/:na] ERROR [main] 2015-08-23 11:25:52,710 TransactionLog.java:998 - 
Failed to remove unfinished transaction leftovers 
org.apache.cassandra.db.lifecycle.TransactionLog$CorruptTransactionLogException:
 Failed to verify transaction 90eda9f0-4989-11e5-86bd-f32569933441 record 
[REMOVE:[ma-2-big,1440329048000,8]]: possible disk corruption, aborting \tat 
org.apache.cassandra.db.lifecycle.TransactionLog$TransactionFile.readRecords(TransactionLog.java:349)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.TransactionLog$TransactionData.readLogFile(TransactionLog.java:574)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.TransactionLog.removeUnfinishedLeftovers(TransactionLog.java:988)
 ~[main/:na] \tat 
org.apache.cassandra.db.lifecycle.LifecycleTransaction.removeUnfinishedLeftovers(LifecycleTransaction.java:548)
 [main/:na] \tat 
org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:584)
 [main/:na] \tat 
org.apache.cassandra.service.StartupChecks$7.execute(StartupChecks.java:274) 
[main/:na] \tat 
org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:103) 
[main/:na] \tat 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:166) 
[main/:na] \tat 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516) 
[main/:na] \tat 
{code}

My best guess is that before reading the update time we should check that the 
file actually exists.



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

Reply via email to