[ https://issues.apache.org/jira/browse/HBASE-18906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186705#comment-16186705 ]
Andrew Purtell commented on HBASE-18906: ---------------------------------------- Phoenix doesn't use these APIs, but they should. Instead they are doing this terrible thing: https://github.com/apache/phoenix/blob/master/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java#L236 I think we should consider providing APIs for the following: - Request flush async - Request compaction async - Poll for the completion of a single flush request - Poll for the completion of a single compaction request - Wait for all pending flushes to complete on the region - Wait for all pending compactions to finish on the region It's a good idea to get away from providing access to low level implementation details. However I think it would be good to allow coprocessors to wrap the behaviors. One example: guarantee persistence in HFiles: write some data, trigger a flush (API needed), wait for flushes to complete (API needed), then do more stuff. Another example: secure delete: lay some delete markers, trigger flushing and compactions (APIs needed), wait for the activity to complete (API needed), then do more stuff. > Investigate Phoenix usages of Region#waitForXXX APIs > ---------------------------------------------------- > > Key: HBASE-18906 > URL: https://issues.apache.org/jira/browse/HBASE-18906 > Project: HBase > Issue Type: Sub-task > Components: Coprocessors > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Fix For: 2.0.0-alpha-4 > > > While reviewing HBASE-18183, Andy pointed out that Phoenix uses > waitForFlushesAndCompactions and/or waitForFlushes for diff reasons. This > issue is to see why they need them and whether alternate ways are possible. > This seems to be too much internal stuff and a normal CP hook calling these > would be dangerous. > If there are alternate ways for Phoenix not to use this and not landing in > issues (As said by Andy) we should suggest/fix for them. -- This message was sent by Atlassian JIRA (v6.4.14#64029)