Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
Description
CompactionMap#get(RecordId before) searches through the compaction maps until it finds one containing before returning its value. However that one might already have been compacted again an be present as key in a later compaction map generation.
A correct implementation of CompactionMap#get(RecordId before) should consider the transitive closure over all maps starting at before. Note however that in this case we would also need to stop removing keys from the compaction map after cleanup as this would break transitivity again. (See http://svn.apache.org/viewvc?view=revision&revision=1673791)