You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2017/07/25 06:44:00 UTC

[jira] [Commented] (OAK-5602) Avoid missing journal entries

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

Marcel Reutegger commented on OAK-5602:
---------------------------------------

My proposal is the following, make the maximum transaction time dependent on the retention time of journal entries (maxRevisionAge). To be more precise, a transaction would be killed if it takes longer than half of the journal retention time.

There are two guarantees we get with this:
- The final merge commit will always reference valid branch commits still present in the journal
- The transaction will be valid with all its referencing branch commits for half of the retention time. That is, the DocumentNodeStore diff mechanism can use the journal as long as both node states to compare have a revision newer than half the retention time.

> Avoid missing journal entries
> -----------------------------
>
>                 Key: OAK-5602
>                 URL: https://issues.apache.org/jira/browse/OAK-5602
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.6.0
>            Reporter: Stefan Egli
>            Assignee: Marcel Reutegger
>             Fix For: 1.8
>
>
> As a follow up of OAK-5601: that one is about a situation where backgroundRead falls way behind and journal GC cleans up journal entries before it was able to read it. We should generally look into improving this situation, eg by having journal GC not do the clean up as long as there are instances that haven't read the entry. This could perhaps be achieved by periodically having each instance inform the rest about what journal entries it has processed (or simpler: how far back it would be -find- fine for journal entries to be GC'ed)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)