Skip to content

Conversation

@kkanellis
Copy link
Contributor

Previously, compaction could stall indefinitely if the provided until_address was equal to hlog.begin_address. This could occur, if called from an existing test when auto_compaction is false. In this case, pages_available remained permanently true, causing compaction threads to spin and preventing LightEpoch from draining pending GC callbacks (as reported in #944).

The changes in this PR ensure we validate the compaction range upfront (until_address > hlog.begin_address). If the range is invalid, we now skip compaction. When the call originates from the F2Kv class, a warning is logged before skipping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant