Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0
    • 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

        1. HBASE-15359-V01.patch
          43 kB
          Eshcar Hillel
        2. HBASE-14918-FIX-SEGMENT.patch
          43 kB
          Eshcar Hillel

        Issue Links

          Activity

            People

              eshcar Eshcar Hillel
              eshcar Eshcar Hillel
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: