[ https://issues.apache.org/jira/browse/AMQ-6625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15907515#comment-15907515 ]
Gary Tully edited comment on AMQ-6625 at 6/15/17 4:38 PM: ---------------------------------------------------------- Prior to the handIOException up-call the journal and index pause. The appender write thread won't get recreated and the index is marked unloaded. This ensures that subsequent writes will fail allowing auto recovery from a partial write to kick in on restart. The DefaultIOExceptionHandler implements a resume call on kahadb that allows the stopStartConnectors behaviour or ignore all errors behaviour to be chosen if necessary. was (Author: gtully): Prior to the handIOException up-call the journal and index pause. The appender write thread won't get recreated and the index is marked unloaded. This ensures that subsequent writes will fail allowing auto recovery from a partial write to kick in on restart. The new kahaDBIOExceptionHandler implements a resume call on kahadb that allows the stopStartConnectors behaviour or ignore all errors behaviour to be chosen if necessary. > IOException in kahaDB needs to pause pending IOExceptionHandler intervention > ---------------------------------------------------------------------------- > > Key: AMQ-6625 > URL: https://issues.apache.org/jira/browse/AMQ-6625 > Project: ActiveMQ > Issue Type: Bug > Components: KahaDB > Affects Versions: 5.14.0 > Reporter: Gary Tully > Assignee: Gary Tully > Fix For: 5.15.0 > > > KahaDB can recover from kill -9 by replaying the journal from the last > checkpoint or by detecting and reapplying partial writes to the index. > However this activity is compromised if the journal or index accepts > subsequent writes. It an lead to skipped write batches or skipped partial > updates to the index. > The desirable behaviour of treating an IOException as fatal and stopping the > broker in the knowledge that it will restart and fully recover needs to treat > the first IO error as fatal and by default not accept any further writes. > A more advanced IOException handler can facilitate staying alive in more > specific scenarios and reactivate kahadb. -- This message was sent by Atlassian JIRA (v6.4.14#64029)