[
https://issues.apache.org/jira/browse/AMQ-6606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15883375#comment-15883375
]
ASF subversion and git services commented on AMQ-6606:
------------------------------------------------------
Commit 22d5b51a0c69b48665f32ea19bad5046d7237426 in activemq's branch
refs/heads/activemq-5.14.x from [~gtully]
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=22d5b51 ]
[AMQ-6606] avoid partial writes to the end of the journal - revert offset
increment on ioexception, fix and test
(cherry picked from commit d53b8f8d424e3cf51646b215007fc017717edf44)
> Journal partial write can result in batch corruption on restart
> ---------------------------------------------------------------
>
> Key: AMQ-6606
> URL: https://issues.apache.org/jira/browse/AMQ-6606
> Project: ActiveMQ
> Issue Type: Bug
> Components: KahaDB
> Affects Versions: 5.14.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.15.0
>
>
> Recovery checking on kahadb will ignore a partial journal write at the end of
> the journal. However repeated write errors increment the write offset and if
> a subsequent write succeeds recovery fails reporting a corrupt block.
> {code}
> MessageDatabase | emq.store.kahadb.MessageDatabase | Detected corrupt
> journal files. [34:43883209 >= key < 34:47226069]
> {code}
> One scenario is write failure for no space followed by gc which allows
> subsequent writes to complete.
> A failed write or sync should fail with an exception and should revert any
> offset increment such that a subsequent write reuses that offset, avoiding a
> partial write corruption.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)