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 "Stefan Egli (JIRA)" <ji...@apache.org> on 2016/11/23 16:26:58 UTC

[jira] [Created] (OAK-5151) Overflown ChangeSets are not handled correctly in ChangeSetFilterImpl

Stefan Egli created OAK-5151:
--------------------------------

             Summary: Overflown ChangeSets are not handled correctly in ChangeSetFilterImpl
                 Key: OAK-5151
                 URL: https://issues.apache.org/jira/browse/OAK-5151
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: core
    Affects Versions: 1.5.14
            Reporter: Stefan Egli
            Assignee: Stefan Egli
             Fix For: 1.5.15


In OAK-5107 there was a NPE reported which happened during prefiltering. Turns out that the {{null}} there was not due to some bug but actually the _overflowing_ aspect of the ChangeSet: when there are too many items put into a ChangeSet (in the ChangeSetBuilder actually), then to avoid it consuming arbitrary large amounts of memory it has a mechanism that marks a particular set as _overflown_. It does this by returning {{null}} for that set.

The ChangeSetFilterImpl stumbled over this very fact and the fix in OAK-5107 is actually wrong, as it treats null as an empty set, which results in wrong prefiltering.

The actual fix is:
# either upon overflow to just include the change (simplest)
# or only look at non-overflown sets of the ChangeSet

For simplicity reason the first choice is implemented at this stage. Perhaps later on we should improve this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)