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)