cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10112) Refuse to start and print txn log information in case of disk corruption
Date Fri, 26 Feb 2016 08:40:18 GMT


Stefania commented on CASSANDRA-10112:

As suggested by [~benedict] above, this patch simply prints out all contents of transaction
logs with problems and stops the start-up, regardless of disk failure policy. I've updated
the title of this ticket accordingly.


Sample output:

ERROR 08:37:41 Unexpected disk state: failed to read transaction log [ma_txn_compaction_d291e2b0-dc62-11e5-8d7c-8933a8fd4210.log
in folders /home/stefi/git/cstar/cassandra/bin/../data/data/keyspace1/standard1-a0509e70dc5f11e5a8dffbb9e667c513]
Files and contents follow:
                ***Invalid checksum for sstable [ma-2-big]: [4101796893] should have been

ERROR 08:37:41 Cannot remove temporary or obsoleted files for keyspace1.standard1 due to a
problem with transaction log files. Please check records with problems in the log messages
above and fix them. Refer to the 3.0 upgrading instructions in NEWS.txt for a description
of transaction log files.

> Refuse to start and print txn log information in case of disk corruption
> ------------------------------------------------------------------------
>                 Key: CASSANDRA-10112
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local Write-Read Paths
>            Reporter: Stefania
>            Assignee: Stefania
>             Fix For: 3.x
> Transaction logs were introduced by CASSANDRA-7066 and are read during start-up. In case
of file system errors, such as disk corruption, we currently log a panic error and leave the
sstable files and transaction logs as they are; this is to avoid rolling back a transaction
(i.e. deleting files) by mistake.
> We should instead look at the {{disk_failure_policy}} and refuse to start unless the
failure policy is {{ignore}}. 
> We should also consider stashing files that cannot be read during startup, either transaction
logs or sstables, by moving them to a dedicated sub-folder. 

This message was sent by Atlassian JIRA

View raw message