HBase
  1. HBase
  2. HBASE-3484

Replace memstore's ConcurrentSkipListMap with our own implementation

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 0.92.0
    • Fix Version/s: None
    • Component/s: Performance
    • Labels:
      None

      Description

      By copy-pasting ConcurrentSkipListMap into HBase we can make two improvements to it for our use case in MemStore:

      • add an iterator.replace() method which should allow us to do upsert much more cheaply
      • implement a Set directly without having to do Map<KeyValue,KeyValue> to save one reference per entry

      It turns out CSLM is in public domain from its development as part of JSR 166, so we should be OK with licenses.

      1. WIP_HBASE-3484.patch
        51 kB
        Anoop Sam John
      2. memstore_drag.png
        31 kB
        Jean-Daniel Cryans
      3. hierarchical-map.txt
        40 kB
        Todd Lipcon

        Issue Links

          Activity

          Todd Lipcon created issue -
          stack made changes -
          Field Original Value New Value
          Priority Major [ 3 ] Critical [ 2 ]
          stack made changes -
          Component/s performance [ 12314193 ]
          stack made changes -
          Fix Version/s 0.92.0 [ 12314223 ]
          stack made changes -
          Link This issue is related to HBASE-3993 [ HBASE-3993 ]
          Todd Lipcon made changes -
          Assignee Todd Lipcon [ tlipcon ]
          Todd Lipcon made changes -
          Attachment hierarchical-map.txt [ 12515575 ]
          Jean-Daniel Cryans made changes -
          Attachment memstore_drag.png [ 12521588 ]
          Anoop Sam John made changes -
          Attachment WIP_HBASE-3484.patch [ 12601799 ]
          Anoop Sam John made changes -
          Attachment WIP_HBASE-3484.patch [ 12601799 ]
          Anoop Sam John made changes -
          Attachment WIP_HBASE-3484.patch [ 12601815 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Todd Lipcon
            • Votes:
              0 Vote for this issue
              Watchers:
              25 Start watching this issue

              Dates

              • Created:
                Updated:

                Development