Eshcar Hillel created HBASE-20542:
-------------------------------------

             Summary: Better heap utilization for IMC with MSLABs
                 Key: HBASE-20542
                 URL: https://issues.apache.org/jira/browse/HBASE-20542
             Project: HBase
          Issue Type: Task
            Reporter: Eshcar Hillel


Following HBASE-20188 we realized in-memory compaction combined with MSLABs may 
suffer from heap under-utilization due to internal fragmentation. This jira 
presents a solution to circumvent this problem. The main idea is to have each 
update operation check if it will cause overflow in the active segment *before* 
it is writing the new value (instead of checking the size after the write is 
completed), and if it is then the active segment is atomically swapped with a 
new empty segment, and is pushed (full-yet-not-overflowed) to the compaction 
pipeline. Later on the IMC deamon will run its compaction operation (flatten 
index/merge indices/data compaction) in the background. Some subtle concurrency 
issues should be handled with care. We next elaborate on them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to