hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-18905) Allow CPs to request flush/compaction on Region
Date Fri, 29 Sep 2017 23:53:00 GMT

    [ 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)

Mime
View raw message