[
https://issues.apache.org/jira/browse/AMQ-6625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-6625.
-----------------------------
Resolution: Fixed
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.3.15#6346)