Pola Sairam created HBASE-26660:
-----------------------------------
Summary: Override the flush requested by PeriodicMemstoreFlusher
by the Flush requested when hbase.hregion.memstore.flush.size is breached
Key: HBASE-26660
URL: https://issues.apache.org/jira/browse/HBASE-26660
Project: HBase
Issue Type: Bug
Components: regionserver
Reporter: Pola Sairam
Assignee: Pola Sairam
PeriodicMemstoreFlusher requests flush with a random delay ranging from 0 to
`hbase.regionserver.periodicmemstoreflusher.rangeofdelayseconds`
For example, consider the following configuration:
^hbase.regionserver.periodicmemstoreflusher.rangeofdelayseconds - 200 secs^
^hbase.hregion.memstore.flush.size - 256MB^
^hbase.hregion.memstore.block.multiplier - 4^
Consider the case when PeriodicMemstoreFlusher requests a flush with 100secs
delay and memstore size is less than 256MB.
Now if we have write load that fills the memstore more than 256MB, the flush
request because of memstore breaching `hbase.hregion.memstore.flush.size` is
not honored as a flush request already exists that was made by
PeriodicMemstoreFlusher.
And if we have a huge write load, then blocking limit will also hit and writes
will start failing not only till flush is happened but also during the delay
time (< 100secs in this case) added by PeriodicMemstoreFlusher.
We need to overwrite the flush requested by PeriodicMemstoreFlusher by the
flush requested when memstore flush size is reached to remove the delay in
flushing.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)