Description
As mentioned by alex.parvulescu, the condition at line 1096 of SegmentWriter looks off:
} else if (!(before instanceof SegmentNodeState) || store.containsSegment(before.getRecordId().getSegmentId())) {
In fact it looks like a refactoring accident introduced with OAK-631
- || ((SegmentNodeState) before).getStore() != store) { + || store.containsSegment(((SegmentNodeState)before) .getRecordId().getSegmentId())) {
where the negation has just been forgotten. See https://github.com/apache/jackrabbit-oak/commit/d96eb8c3ea8738695780b6a03c4902f0ce1f337f#diff-cd2b669b9d707784b58ff1783748f932