Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-5151

Overflown ChangeSets are not handled correctly in ChangeSetFilterImpl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5.14
    • 1.5.15, 1.6.0
    • core
    • None

    Description

      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:

      1. either upon overflow to just include the change (simplest)
      2. 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 (created OAK-5151 for this)

      Attachments

        Issue Links

          Activity

            People

              stefanegli Stefan Egli
              stefanegli Stefan Egli
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: