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

Joshua McKenzie commented on CASSANDRA-7927:
--------------------------------------------

The previously linked branch actually had a couple of problems with it I've 
resolved 
[here|https://github.com/josh-mckenzie/cassandra/compare/7927?expand=1].  
Namely, the when I combined the checking for FSError / CorruptSSTableException 
in inspectThrowable I didn't check the Commit log failure policy in the 
DatabaseDescriptor and also wouldn't have been able to do so without augmenting 
the information passed in to indicate it originated in a CommitLog context.  I 
think you were on the right track w/having an independent entry point for 
inspection of CommitLog errors - that way we can kill the JVM on *any* commit 
log errors without having to worry about the type of error thrown on the 
CommitLog operation.

I did a few other things on this branch as well:
# added an entry in CHANGES.txt
# added assertion to CommitLogTest to confirm the _die actually worked
# added a workaround for the fact that File.setWritable(false) on a directory 
fails on Windows (/sigh)
# merged the KillerForTests into the JVMStabilityInspector to help keep the 
code-base clean
# promoted the inspection in FileUtils and in CommitLog of the Throwable to the 
root of (handleFSError/handleCorruptSSTable/handleCommitError) so the inspector 
will immediately kill if appropriate

> Kill daemon on any disk error
> -----------------------------
>
>                 Key: CASSANDRA-7927
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7927
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>         Environment: aws, stock cassandra or dse
>            Reporter: John Sumsion
>            Assignee: John Sumsion
>              Labels: bootcamp, lhf
>             Fix For: 2.1.1
>
>         Attachments: 7927-v1-die.patch
>
>
> We got a disk read error on 1.2.13 that didn't trigger the disk failure 
> policy, and I'm trying to hunt down why, but in doing so, I saw that there is 
> no disk_failure_policy option for just killing the daemon.
> If we ever get a corrupt sstable, we want to replace the node anyway, because 
> some aws instance store disks just go bad.
> I want to use the JVMStabilityInspector from CASSANDRA-7507 to kill so that 
> remains standard, so I will base my patch on CASSANDRA-7507.



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

Reply via email to