You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "guluo (Jira)" <ji...@apache.org> on 2024/01/08 12:42:00 UTC
[jira] [Created] (HBASE-28296) Sending compact request if necessary after flushing at server side
guluo created HBASE-28296:
-----------------------------
Summary: Sending compact request if necessary after flushing at server side
Key: HBASE-28296
URL: https://issues.apache.org/jira/browse/HBASE-28296
Project: HBase
Issue Type: Improvement
Components: Compaction
Reporter: guluo
By default, hbase would automatically compact periodically.
However, In this period, what we flush frequently would cause many hfile genereated, and hbase does not compact until the next period.
So in order to prevent the rapid growth of the number of hfile under some conditions, I think we can add a check if it needs to compact after flushing region at server side.
Do you think it's a better way? thanks!
One of the codes in here:
{code:java}
//FlushRegionCallable.java doCall()
try {
HRegion.FlushResult res;
if (columnFamilies == null) {
res = region.flush(true);
} else {
res = region.flushcache(columnFamilies, false, FlushLifeCycleTracker.DUMMY);
}
if (res.getResult() == HRegion.FlushResult.Result.CANNOT_FLUSH) {
throw new IOException("Unable to complete flush " + regionInfo);
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)