You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Stack <st...@duboce.net> on 2019/11/01 20:15:29 UTC

Re: Coprocessor restart after region split rollback

On Fri, Oct 25, 2019 at 12:40 AM Ondrej Kvasnicka <ok...@fastmail.fm>
wrote:

> Hi all,
>
> we are seeing the following behavior in our HBase (version 1.1) and are
> not sure whether it is an intended behavior or possibly a bug:
>
> We have a custom coprocessor loaded (RegionObserver implementation) and
> see that whenever a region split takes place, prior to the split the
> coprocessor is stopped automatically (this is expected).
>
> However, occasionally the region split will fail and will be rolled
> back. After a successful rollback, the coprocessor will _not_ be
> restarted for the region, even though it _was_ running prior to the split
> attempt.
>
> Can someone confirm that this is an intended behavior? We would expect
> the coprocessor to be automatically re-started after successful region
> split rollback, but it does not seem to be the case.
>
>
Sounds like a bug to me or more like an oversight in the split rollback
code; we probably forgot to re-enable any CPs.


> Are coprocessors supposed to handle the restart themselves after a
> region split rollback, e.g. in RegionObserver#postRollbackSplit, such as
> in the following example?:
>
>
> https://github.com/splicemachine/spliceengine/blob/master/hbase_pipeline/src/main/java/com/splicemachine/derby/hbase/SpliceIndexObserver.java#L206
>
>
Looks like they ran into your problem (smile) and this was their workaround.

Any chance of upgrading? 1.1. is pretty old by now.

Thanks,
S


> Thanks,
> Ondrej
>

Re: Coprocessor restart after region split rollback

Posted by Ondrej Kvasnicka <ok...@fastmail.fm>.
We are aware that HBase 1.1 is quite old by now, but will probably not be able to upgrade in the near future, so for now we'll need to use something like the workaround mentioned earlier. I've created HBASE-23265 to track this.

Thanks.

Ondrej

On Fri, Nov 1, 2019, at 21:40, Rushabh Shah wrote:
> Looks like we need to open a ticket in hbase to fix this at hbase layer.
> 
> Rushabh Shah
> 
>    - Software Engineering SMTS | Salesforce
>    -
>       - Mobile: 213 422 9052
> 
> 
> 
> On Fri, Nov 1, 2019 at 1:32 PM Stack <st...@duboce.net> wrote:
> 
> > On Fri, Oct 25, 2019 at 12:40 AM Ondrej Kvasnicka <ok...@fastmail.fm>
> > wrote:
> >
> > > Hi all,
> > >
> > > we are seeing the following behavior in our HBase (version 1.1) and are
> > > not sure whether it is an intended behavior or possibly a bug:
> > >
> > > We have a custom coprocessor loaded (RegionObserver implementation) and
> > > see that whenever a region split takes place, prior to the split the
> > > coprocessor is stopped automatically (this is expected).
> > >
> > > However, occasionally the region split will fail and will be rolled
> > > back. After a successful rollback, the coprocessor will _not_ be
> > > restarted for the region, even though it _was_ running prior to the split
> > > attempt.
> > >
> > > Can someone confirm that this is an intended behavior? We would expect
> > > the coprocessor to be automatically re-started after successful region
> > > split rollback, but it does not seem to be the case.
> > >
> > >
> > Sounds like a bug to me or more like an oversight in the split rollback
> > code; we probably forgot to re-enable any CPs.
> >
> >
> > > Are coprocessors supposed to handle the restart themselves after a
> > > region split rollback, e.g. in RegionObserver#postRollbackSplit, such as
> > > in the following example?:
> > >
> > >
> > >
> > https://github.com/splicemachine/spliceengine/blob/master/hbase_pipeline/src/main/java/com/splicemachine/derby/hbase/SpliceIndexObserver.java#L206
> > >
> > >
> > Looks like they ran into your problem (smile) and this was their
> > workaround.
> >
> > Any chance of upgrading? 1.1. is pretty old by now.
> >
> > Thanks,
> > S
> >
> >
> > > Thanks,
> > > Ondrej
> > >
> >
>

Re: Coprocessor restart after region split rollback

Posted by Rushabh Shah <ru...@salesforce.com.INVALID>.
Looks like we need to open a ticket in hbase to fix this at hbase layer.

Rushabh Shah

   - Software Engineering SMTS | Salesforce
   -
      - Mobile: 213 422 9052



On Fri, Nov 1, 2019 at 1:32 PM Stack <st...@duboce.net> wrote:

> On Fri, Oct 25, 2019 at 12:40 AM Ondrej Kvasnicka <ok...@fastmail.fm>
> wrote:
>
> > Hi all,
> >
> > we are seeing the following behavior in our HBase (version 1.1) and are
> > not sure whether it is an intended behavior or possibly a bug:
> >
> > We have a custom coprocessor loaded (RegionObserver implementation) and
> > see that whenever a region split takes place, prior to the split the
> > coprocessor is stopped automatically (this is expected).
> >
> > However, occasionally the region split will fail and will be rolled
> > back. After a successful rollback, the coprocessor will _not_ be
> > restarted for the region, even though it _was_ running prior to the split
> > attempt.
> >
> > Can someone confirm that this is an intended behavior? We would expect
> > the coprocessor to be automatically re-started after successful region
> > split rollback, but it does not seem to be the case.
> >
> >
> Sounds like a bug to me or more like an oversight in the split rollback
> code; we probably forgot to re-enable any CPs.
>
>
> > Are coprocessors supposed to handle the restart themselves after a
> > region split rollback, e.g. in RegionObserver#postRollbackSplit, such as
> > in the following example?:
> >
> >
> >
> https://github.com/splicemachine/spliceengine/blob/master/hbase_pipeline/src/main/java/com/splicemachine/derby/hbase/SpliceIndexObserver.java#L206
> >
> >
> Looks like they ran into your problem (smile) and this was their
> workaround.
>
> Any chance of upgrading? 1.1. is pretty old by now.
>
> Thanks,
> S
>
>
> > Thanks,
> > Ondrej
> >
>