[
https://issues.apache.org/jira/browse/HBASE-13980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14606617#comment-14606617
]
Abhilash commented on HBASE-13980:
----------------------------------
In my opinion rather than giving more weight (it would be difficult in itself
to reason about their relative weights) to blockedFlushCount. We should
directly take tuning decision if we observe blocked flushes in steady state.
Because they are rare and very undesirable.
One complication is that when memory tuner increases block cache size and
decreases memstore size. It might force many blocked flushes but that does not
mean we have to abruptly increase memstore size. So we should do that only in
steady state.
If after reading this you have doubt about how tuner would works then ?
Ans : Suppose in a certain period tuner(1st tuning) increased block cache by 8%
and decreased memstore by same amount. Then in next step(if server is not
completely read heavy, if it is ready heavy then we are good anyways) we will
observe many blocked / unblocked flushes. Then if this is number is really very
high compared to past trend we revert our tuning. But not completely, we
partially revert previous tuning operation(2nd tuning). Overall we have
increased block cache by 4% which tuner wanted to do in 1st tuning.
> Distinguish blockedFlushCount vs unblockedFlushCount when tuning heap memory
> ----------------------------------------------------------------------------
>
> Key: HBASE-13980
> URL: https://issues.apache.org/jira/browse/HBASE-13980
> Project: HBase
> Issue Type: Improvement
> Reporter: Ted Yu
> Assignee: Abhilash
> Priority: Minor
>
> Currently DefaultHeapMemoryTuner doesn't distinguish blockedFlushCount vs
> unblockedFlushCount.
> In its tune() method:
> {code}
> long totalFlushCount = blockedFlushCount+unblockedFlushCount;
> rollingStatsForCacheMisses.insertDataValue(cacheMissCount);
> rollingStatsForFlushes.insertDataValue(totalFlushCount);
> {code}
> Occurrence of blocked flush indicates that upper limit for memstore is not
> sufficient.
> We should either give blockedFlushCount more weight or, take tuning action
> based on blockedFlushCount directly.
> See discussion from tail of HBASE-13876.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)