Details
-
Bug
-
Status: Reopened
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
When you call IW.rollback, IW asks all running merges to abort, and the merges should periodically check their abort flags (it's a "cooperative" mechanism, like thread interrupting in Java).
In 5.x/trunk we have a nice clean solution where the Directory checks the abort bit during writes, so the codec doesn't have to bother with this.
But in 4.x, we have to call MergeState.checkAbort.work, and I noticed that neither DVs nor norms call this.
Typically this is not a problem since merging DVs and norms is usually fast, but for a very large merge / very many DVs and norm'd fields, it could take non-trivial time to merge.