[ 
https://issues.apache.org/jira/browse/HBASE-18770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-18770:
--------------------------
    Release Note: 
Removes blanket bypass mechanism (Observer#bypass). Instead, a curated ubset of 
methods are bypassable.

    Changes Coprocessor ObserverContext 'bypass' semantic. We flip the
    default so bypass is NOT supported on Observer invocations; only a
    couple of preXXX methods in RegionObserver allow it: e.g.  preGet
    and prePut but not preFlush, etc. Everywhere else, we throw
    a Exception if a Coprocessor Observer tries to invoke bypass. Master
    Observers can no longer stop or change move, split, assign, create table, 
etc.
    preBatchMutate can no longer be bypassed (bypass the finer-grained
    prePut, preDelete, etc. instead)

    Ditto on complete, the mechanism that allowed a Coprocessor
    rule that all subsequent Coprocessors are skipped in an
    invocation chain; now, complete is only available to
    bypassable methods (and Coprocessors will get an exception if
    they try to 'complete' when it is not allowed).

    See javadoc for whether a Coprocessor Observer method supports
    'bypass'. If no mention, 'bypass' is NOT supported.

  was:
Removes blanket bypass mechanism (Observer#bypass). Instead, a curated ubset of 
methods are bypassable.

    Changes Coprocessor ObserverContext 'bypass' semantic. We flip the
    default so bypass is NOT supported on Observer invocations; only a
    couple of preXXX methods in RegionObserver allow it: e.g.  preGet
    and prePut but not preFlush, etc. Everywhere else, we throw
    a DoesNotSupportBypassException if a Coprocessor Observer
    tries to invoke bypass. Master Observers can no longer stop
    or change move, split, assign, create table, etc.

    Ditto on complete, the mechanism that allowed a Coprocessor
    rule that all subsequent Coprocessors are skipped in an
    invocation chain; now, complete is only available to
    bypassable methods (and Coprocessors will get an exception if
    they try to 'complete' when it is not allowed).

    See javadoc for whether a Coprocessor Observer method supports
    'bypass'. If no mention, 'bypass' is NOT supported.


> Remove bypass method in ObserverContext and implement the 'bypass' logic case 
> by case
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-18770
>                 URL: https://issues.apache.org/jira/browse/HBASE-18770
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>            Reporter: Duo Zhang
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-18770.master.001.patch, 
> HBASE-18770.master.002.patch, HBASE-18770.master.003.patch, 
> HBASE-18770.master.004.patch, HBASE-18770.master.005.patch, 
> HBASE-18770.master.006.patch, HBASE-18770.master.007.patch, 
> HBASE-18770.master.008.patch, HBASE-18770.master.009.patch, 
> HBASE-18770.master.010.patch
>
>
> http://search-hadoop.com/m/HBase/YGbbXd0RDCIHSC1



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to