You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2017/09/29 23:53:00 UTC
[jira] [Comment Edited] (HBASE-18905) Allow CPs to request
flush/compaction on Region
[ https://issues.apache.org/jira/browse/HBASE-18905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186707#comment-16186707 ]
Andrew Purtell edited comment on HBASE-18905 at 9/29/17 11:53 PM:
------------------------------------------------------------------
Copying my comment from HBASE-18906:
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.
was (Author: apurtell):
Copying my comment from HBASE-18906:
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.
> Allow CPs to request flush/compaction on Region
> -----------------------------------------------
>
> Key: HBASE-18905
> URL: https://issues.apache.org/jira/browse/HBASE-18905
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 2.0.0-alpha-4
>
>
> Follow up for HBASE-18183
> As per that Jira, we keep only requestCompaction API in Region. We did not have any such for flush in Region. Only API which was there is a flush which will block the callee unless flush is done. This issue has to tacke
> 1. Decide whether we need a requestFlush in Region and if so add
> 2. Whether the requestCompaction (And requestFlush too) should return a Future? Right now the former do not return any but allow to pass a CompactionLifeCycleTracker which will get notified on start and end of compaction.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)