[ 
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)

Reply via email to