Details
-
Improvement
-
Status: Resolved
-
Medium
-
Resolution: Done
-
None
-
None
Description
We have switched to using UnsignedLongSet to track identifiers, which improves our memory footprint and performance in CONTROLLER-1720.
Our in-memory metadata formats are still using ImmutableRangeSets, which require additional indirection and conversion. They are also prone to allocating large arrays when they become large, which does not play nice with G1GC.
Split out UnsignedLongSet to a Mutable and Immutable implementation, where the Immutable version can be serialized/deserialized using the same serialization format as we use for RangeSets.
Attachments
Issue Links
- relates to
-
CONTROLLER-1720 Improve RangeSet tracking performance
- Resolved
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 98302,8 | Use UnsignedLongSet instead of RangeSet in metadata | master | controller | Status: MERGED | +2 | +1 |
| 98311,1 | Use UnsignedLongSet instead of RangeSet in metadata | 3.0.x | controller | Status: MERGED | +2 | +1 |
| 98320,1 | Use UnsignedLongSet instead of RangeSet in metadata | 2.0.x | controller | Status: MERGED | +2 | +1 |