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)