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:
- 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 (created OAK-5151 for this)