On 31/01/17 18:07, "Stefan Egli" <[email protected]> wrote:
>I'm following up on failure case in oak 1.2.14 where as part of a >persisted >branch merge commit hooks do not propagate through all affected changes, >resulting in an inconsistent state. >https://issues.apache.org/jira/browse/OAK-5557 I believe the problem is indeed related to a rebase that happens before merging a persisted branch. The diffManyChildren subsequently takes the rebased revision timestamp as the minValue, instead of taking the branch's previous purges into account. This seems to (only) occur when between the last purge and the actual merge another session does a merge. One possible fix I see is to detect such a situation (in diffManyChildren) - ie check if one of the revisions is a branch revision - and fall back to not using the _modified index then. This will definitely find all potential child nodes - but it has the downside that it becomes slow/doesn't scale well with a very large list of child nodes. Other ideas? Cheers, Stefan
