[ https://issues.apache.org/jira/browse/HBASE-14919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15121515#comment-15121515 ]
Eshcar Hillel commented on HBASE-14919: --------------------------------------- No problem - I can explain again: When an external flush is invoked (call to snapshot()), the data is flushed to disk, but some data may still be left in memory. The sequenceId is passed to the memstore so it can do a bookkeeping of sequence ids and compute an approximation of the lowest sequence id (oldest entry) still in memory. updateLowestUnflushedSequenceIdInWal() is called when completing a flush to disk and when completing an in-memory compaction. These are the two events when the content of the memory changes. This method updates the wal with the lowest sequence id that is still in memory, as explained above. > Infrastructure refactoring for In-Memory Flush > ---------------------------------------------- > > Key: HBASE-14919 > URL: https://issues.apache.org/jira/browse/HBASE-14919 > Project: HBase > Issue Type: Sub-task > Affects Versions: 2.0.0 > Reporter: Eshcar Hillel > Assignee: Eshcar Hillel > Attachments: HBASE-14919-V01.patch, HBASE-14919-V01.patch, > HBASE-14919-V02.patch, HBASE-14919-V03.patch, HBASE-14919-V04.patch, > HBASE-14919-V04.patch, HBASE-14919-V05.patch, HBASE-14919-V06.patch, > HBASE-14919-V06.patch, HBASE-14919-V07.patch > > > Refactoring the MemStore hierarchy, introducing segment (StoreSegment) as > first-class citizen and decoupling memstore scanner from the memstore > implementation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)