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)

Reply via email to