[ https://issues.apache.org/jira/browse/OAK-690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13598895#comment-13598895 ]
Michael Dürig commented on OAK-690: ----------------------------------- Revision 1455173 contains an initial fix for this. However it produces a couple of follow up test failures for code which accesses tree instances that have become invalid. To keep the build stable the fix must currently be explicitly enabled using {{-DOAK-690=true}}. I'll create follow up issues for these test failures. > Enforce and clarify Root contract wrt. invalid Tree instances > ------------------------------------------------------------- > > Key: OAK-690 > URL: https://issues.apache.org/jira/browse/OAK-690 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core > Reporter: Michael Dürig > Assignee: Michael Dürig > > The contract of {{Root.commit()}}, {{Root.refresh()}} and {{Root.rebase()}} > specify that {{Tree}} instances acquired through that {{Root}} instance > become invalid after one of these methods are called. > In fact the hierarchy related methods are not affected by this, which is > required for higher layers to be able to reload {{Tree}} instances that have > become invalid. OTOH affected methods might not immediately throw an > exception but just result in undefined behaviour. I'd like to change this > such that invalid {{Tree}} instances immediately throw an > {{IllegalStateException}} when accessed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira