Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
0.90.4
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- relates to
-
HBASE-6835 HBaseAdmin.flush claims to be asynchronous but appears to be synchronous
- Closed