Harmonize HBA flush, compact and majorCompact
---------------------------------------------
Key: HBASE-4198
URL: https://issues.apache.org/jira/browse/HBASE-4198
Project: HBase
Issue Type: Improvement
Affects Versions: 0.90.4
Reporter: Jean-Daniel Cryans
Fix For: 0.94.0
As I mentioned on the mailing list, the way HBA.flush behaves is different from
what is used to be. Right now here's how flush and compact work:
- When calling HBA.flush it will fetch the list of regions then will contact
their owners directly one by one and the flush will be done inline. The major
issue here is flushing a big table will take a *long* time, but it does give
some guarantee that all the flushes are done. The old behavior was that all
flushes were done async.
- For compactions it also calls every regions' owners one by one and instead
of being inline the compactions are queued. This is not very different from the
old behavior, except that the master has nothing to do now.
What I believe we need to do:
- Both methods should have the same guarantees, either they return when
everything is flushed/compacted or they don't.
- If we do inlining, we should issue the requests in parallel a la
HTable.batch.
- We definitely need to offer an async version.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira