Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
Now that it is clear that no memstore segment will be implemented as an HFIle, and that all segments store their data in some representation of CellSet (skip-list or flat), the segment hierarchy can be much simplified.
The attached patch includes only 3 classes in the hierarchy:
Segment - comprises most of the state and implementation
MutableSegment - extends API with add and rollback functionality
ImmutableSegment - extends API with key-value scanner for snapshot
SegmentScanner is the scanner for all types of segments.
In addition, the option to rollback immutable segment in the memstore is disabled.
This code would allow us to make progress independently in the compaction subtask (HBASE-14920) and the flat index representation subtask (HBASE-14921). It also means that the new immutable segment can reuse the existing SegmentScanner, instead of implementing a new scanner.
Attachments
Attachments
Issue Links
- links to