You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Andrew Purtell <ap...@apache.org> on 2015/05/14 00:21:34 UTC

Re: Troubles with HBase 1.1.0 RC2

> So, it looks like RegionCoprocessorEnvironment.getRegion() has been
removed?

No, the signature has changed, basically s/HRegion/Region/. HRegion is an
internal, low level implementation type. Has always been. We have replaced
it with Region, an interface that contains a subset of HRegion we feel we
can support for coprocessor source and binary compatibility longer term.
This work was done on HBASE-12972 if you're curious to know more about it.

> I guess I deploy a new coproc that uses whatever the new method is, and
then in my client, detect at runtime which HBase version I'm talking to and
use that to determine which coprocessor to hit?

Coprocessors are server side extensions. These API changes will require you
to modify the code you plan to deploy on the server. I don't think any
client side changes are needed. Unless your coprocessor implements an
Endpoint and _you_ are changing your RPC message formats, a 1.0.x client
shouldn't care whether it is talking to a 1.0.x server or a 1.1.x server,
running your coprocessor or not.



On Wed, May 13, 2015 at 3:00 PM, James Estes <ja...@gmail.com> wrote:

> I saw the vote thread for RC2, so tried to build my project against it.
>
> My build fails when I depend on 1.1.0. I created a bare bones project
> to show the issue I'm running into:
> https://github.com/housejester/hbase-deps-test
>
> To be clear, it works in 1.0.0 (and I did add the repository).
>
> Further, we have a coprocessor and when I stand up a 1.1.0 HBase and
> call my endpoint, I get:
>
> ! Caused by: java.lang.NoSuchMethodError:
>
> org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment.getRegion()Lorg/apache/hadoop/hbase/regionserver/HRegion;
>
> The same coprocessor works under 1.0.0.
>
> So, it looks like RegionCoprocessorEnvironment.getRegion() has been
> removed?
>
> The Audience annotation is:
> @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
> @InterfaceStability.Evolving
>
> Since it is Evolving it is allowed to change in a breaking way. I'm
> trying to think about how I migrate. I guess I deploy a new coproc
> that uses whatever the new method is, and then in my client, detect at
> runtime which HBase version I'm talking to and use that to determine
> which coprocessor to hit?
>
> Thanks,
> James
>



-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Re: Troubles with HBase 1.1.0 RC2

Posted by James Estes <ja...@gmail.com>.
Thanks Andrew & Enis.

Part of my issue with the coproc change is just how we version our
coprocessor, so that is on us. Thanks for the feedback/confirmation.

After Enis had a clean build with my dependency issue test project, I
thought I'd try upgrading my gradle from 1.12 to 2.4, and sure enough,
it works. Something with the pom has changed in 1.0.0 for gradle 1.12
to need the -Dcompat.module=hbase-hadoop2-compat, then fails to parse
the hbase-server 1.1.0 pom (seems ok with hbase-common pom for
example). We'll upgrade to 2.4. I know 1.12 is a year old, but we'd
been unable to do so b/c of issues with some plugins we are using, but
will have to tackle that :). So, in case anyone sees this same issue,
they'll also need to upgrade gradle.

Thanks again,

James

On Wed, May 13, 2015 at 8:19 PM, Enis Söztutar <en...@gmail.com> wrote:
> Yeah, for coprocessors, what Andrew said. You have to make minor changes.
>
> From your repo, I was able to build:
>
> HW10676:hbase-deps-test$ ./build.sh
>
> :compileJava
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase/1.1.0/hbase-1.1.0.pom
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-server/1.1.0/hbase-server-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0-tests.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-protocol/1.1.0/hbase-protocol-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-procedure/1.1.0/hbase-procedure-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-client/1.1.0/hbase-client-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-prefix-tree/1.1.0/hbase-prefix-tree-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop-compat/1.1.0/hbase-hadoop-compat-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop2-compat/1.1.0/hbase-hadoop2-compat-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-annotations/1.1.0/hbase-annotations-1.1.0.jar
>
> :processResources UP-TO-DATE
>
> :classes
>
> :jar
>
> :assemble
>
> :compileTestJava UP-TO-DATE
>
> :processTestResources UP-TO-DATE
>
> :testClasses UP-TO-DATE
>
> :test UP-TO-DATE
>
> :check UP-TO-DATE
>
> :build
>
>
> BUILD SUCCESSFUL
>
>
> Total time: 1 mins 8.182 secs
>
>
> Also you should not need to pass -Dcompat.module=hbase-hadoop2-compat.
>
> Enis
>
> On Wed, May 13, 2015 at 3:21 PM, Andrew Purtell <ap...@apache.org> wrote:
>
>> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
>> removed?
>>
>> No, the signature has changed, basically s/HRegion/Region/. HRegion is an
>> internal, low level implementation type. Has always been. We have replaced
>> it with Region, an interface that contains a subset of HRegion we feel we
>> can support for coprocessor source and binary compatibility longer term.
>> This work was done on HBASE-12972 if you're curious to know more about it.
>>
>> > I guess I deploy a new coproc that uses whatever the new method is, and
>> then in my client, detect at runtime which HBase version I'm talking to and
>> use that to determine which coprocessor to hit?
>>
>> Coprocessors are server side extensions. These API changes will require you
>> to modify the code you plan to deploy on the server. I don't think any
>> client side changes are needed. Unless your coprocessor implements an
>> Endpoint and _you_ are changing your RPC message formats, a 1.0.x client
>> shouldn't care whether it is talking to a 1.0.x server or a 1.1.x server,
>> running your coprocessor or not.
>>
>>
>>
>> On Wed, May 13, 2015 at 3:00 PM, James Estes <ja...@gmail.com>
>> wrote:
>>
>> > I saw the vote thread for RC2, so tried to build my project against it.
>> >
>> > My build fails when I depend on 1.1.0. I created a bare bones project
>> > to show the issue I'm running into:
>> > https://github.com/housejester/hbase-deps-test
>> >
>> > To be clear, it works in 1.0.0 (and I did add the repository).
>> >
>> > Further, we have a coprocessor and when I stand up a 1.1.0 HBase and
>> > call my endpoint, I get:
>> >
>> > ! Caused by: java.lang.NoSuchMethodError:
>> >
>> >
>> org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment.getRegion()Lorg/apache/hadoop/hbase/regionserver/HRegion;
>> >
>> > The same coprocessor works under 1.0.0.
>> >
>> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
>> > removed?
>> >
>> > The Audience annotation is:
>> > @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
>> > @InterfaceStability.Evolving
>> >
>> > Since it is Evolving it is allowed to change in a breaking way. I'm
>> > trying to think about how I migrate. I guess I deploy a new coproc
>> > that uses whatever the new method is, and then in my client, detect at
>> > runtime which HBase version I'm talking to and use that to determine
>> > which coprocessor to hit?
>> >
>> > Thanks,
>> > James
>> >
>>
>>
>>
>> --
>> Best regards,
>>
>>    - Andy
>>
>> Problems worthy of attack prove their worth by hitting back. - Piet Hein
>> (via Tom White)
>>

Re: Troubles with HBase 1.1.0 RC2

Posted by James Estes <ja...@gmail.com>.
Thanks Andrew & Enis.

Part of my issue with the coproc change is just how we version our
coprocessor, so that is on us. Thanks for the feedback/confirmation.

After Enis had a clean build with my dependency issue test project, I
thought I'd try upgrading my gradle from 1.12 to 2.4, and sure enough,
it works. Something with the pom has changed in 1.0.0 for gradle 1.12
to need the -Dcompat.module=hbase-hadoop2-compat, then fails to parse
the hbase-server 1.1.0 pom (seems ok with hbase-common pom for
example). We'll upgrade to 2.4. I know 1.12 is a year old, but we'd
been unable to do so b/c of issues with some plugins we are using, but
will have to tackle that :). So, in case anyone sees this same issue,
they'll also need to upgrade gradle.

Thanks again,

James

On Wed, May 13, 2015 at 8:19 PM, Enis Söztutar <en...@gmail.com> wrote:
> Yeah, for coprocessors, what Andrew said. You have to make minor changes.
>
> From your repo, I was able to build:
>
> HW10676:hbase-deps-test$ ./build.sh
>
> :compileJava
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase/1.1.0/hbase-1.1.0.pom
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-server/1.1.0/hbase-server-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0-tests.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-protocol/1.1.0/hbase-protocol-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-procedure/1.1.0/hbase-procedure-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-client/1.1.0/hbase-client-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-prefix-tree/1.1.0/hbase-prefix-tree-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop-compat/1.1.0/hbase-hadoop-compat-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop2-compat/1.1.0/hbase-hadoop2-compat-1.1.0.jar
>
> Download
> https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-annotations/1.1.0/hbase-annotations-1.1.0.jar
>
> :processResources UP-TO-DATE
>
> :classes
>
> :jar
>
> :assemble
>
> :compileTestJava UP-TO-DATE
>
> :processTestResources UP-TO-DATE
>
> :testClasses UP-TO-DATE
>
> :test UP-TO-DATE
>
> :check UP-TO-DATE
>
> :build
>
>
> BUILD SUCCESSFUL
>
>
> Total time: 1 mins 8.182 secs
>
>
> Also you should not need to pass -Dcompat.module=hbase-hadoop2-compat.
>
> Enis
>
> On Wed, May 13, 2015 at 3:21 PM, Andrew Purtell <ap...@apache.org> wrote:
>
>> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
>> removed?
>>
>> No, the signature has changed, basically s/HRegion/Region/. HRegion is an
>> internal, low level implementation type. Has always been. We have replaced
>> it with Region, an interface that contains a subset of HRegion we feel we
>> can support for coprocessor source and binary compatibility longer term.
>> This work was done on HBASE-12972 if you're curious to know more about it.
>>
>> > I guess I deploy a new coproc that uses whatever the new method is, and
>> then in my client, detect at runtime which HBase version I'm talking to and
>> use that to determine which coprocessor to hit?
>>
>> Coprocessors are server side extensions. These API changes will require you
>> to modify the code you plan to deploy on the server. I don't think any
>> client side changes are needed. Unless your coprocessor implements an
>> Endpoint and _you_ are changing your RPC message formats, a 1.0.x client
>> shouldn't care whether it is talking to a 1.0.x server or a 1.1.x server,
>> running your coprocessor or not.
>>
>>
>>
>> On Wed, May 13, 2015 at 3:00 PM, James Estes <ja...@gmail.com>
>> wrote:
>>
>> > I saw the vote thread for RC2, so tried to build my project against it.
>> >
>> > My build fails when I depend on 1.1.0. I created a bare bones project
>> > to show the issue I'm running into:
>> > https://github.com/housejester/hbase-deps-test
>> >
>> > To be clear, it works in 1.0.0 (and I did add the repository).
>> >
>> > Further, we have a coprocessor and when I stand up a 1.1.0 HBase and
>> > call my endpoint, I get:
>> >
>> > ! Caused by: java.lang.NoSuchMethodError:
>> >
>> >
>> org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment.getRegion()Lorg/apache/hadoop/hbase/regionserver/HRegion;
>> >
>> > The same coprocessor works under 1.0.0.
>> >
>> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
>> > removed?
>> >
>> > The Audience annotation is:
>> > @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
>> > @InterfaceStability.Evolving
>> >
>> > Since it is Evolving it is allowed to change in a breaking way. I'm
>> > trying to think about how I migrate. I guess I deploy a new coproc
>> > that uses whatever the new method is, and then in my client, detect at
>> > runtime which HBase version I'm talking to and use that to determine
>> > which coprocessor to hit?
>> >
>> > Thanks,
>> > James
>> >
>>
>>
>>
>> --
>> Best regards,
>>
>>    - Andy
>>
>> Problems worthy of attack prove their worth by hitting back. - Piet Hein
>> (via Tom White)
>>

Re: Troubles with HBase 1.1.0 RC2

Posted by Enis Söztutar <en...@gmail.com>.
Yeah, for coprocessors, what Andrew said. You have to make minor changes.

>From your repo, I was able to build:

HW10676:hbase-deps-test$ ./build.sh

:compileJava

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase/1.1.0/hbase-1.1.0.pom

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-server/1.1.0/hbase-server-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0-tests.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-protocol/1.1.0/hbase-protocol-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-procedure/1.1.0/hbase-procedure-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-client/1.1.0/hbase-client-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-prefix-tree/1.1.0/hbase-prefix-tree-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop-compat/1.1.0/hbase-hadoop-compat-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop2-compat/1.1.0/hbase-hadoop2-compat-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-annotations/1.1.0/hbase-annotations-1.1.0.jar

:processResources UP-TO-DATE

:classes

:jar

:assemble

:compileTestJava UP-TO-DATE

:processTestResources UP-TO-DATE

:testClasses UP-TO-DATE

:test UP-TO-DATE

:check UP-TO-DATE

:build


BUILD SUCCESSFUL


Total time: 1 mins 8.182 secs


Also you should not need to pass -Dcompat.module=hbase-hadoop2-compat.

Enis

On Wed, May 13, 2015 at 3:21 PM, Andrew Purtell <ap...@apache.org> wrote:

> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
> removed?
>
> No, the signature has changed, basically s/HRegion/Region/. HRegion is an
> internal, low level implementation type. Has always been. We have replaced
> it with Region, an interface that contains a subset of HRegion we feel we
> can support for coprocessor source and binary compatibility longer term.
> This work was done on HBASE-12972 if you're curious to know more about it.
>
> > I guess I deploy a new coproc that uses whatever the new method is, and
> then in my client, detect at runtime which HBase version I'm talking to and
> use that to determine which coprocessor to hit?
>
> Coprocessors are server side extensions. These API changes will require you
> to modify the code you plan to deploy on the server. I don't think any
> client side changes are needed. Unless your coprocessor implements an
> Endpoint and _you_ are changing your RPC message formats, a 1.0.x client
> shouldn't care whether it is talking to a 1.0.x server or a 1.1.x server,
> running your coprocessor or not.
>
>
>
> On Wed, May 13, 2015 at 3:00 PM, James Estes <ja...@gmail.com>
> wrote:
>
> > I saw the vote thread for RC2, so tried to build my project against it.
> >
> > My build fails when I depend on 1.1.0. I created a bare bones project
> > to show the issue I'm running into:
> > https://github.com/housejester/hbase-deps-test
> >
> > To be clear, it works in 1.0.0 (and I did add the repository).
> >
> > Further, we have a coprocessor and when I stand up a 1.1.0 HBase and
> > call my endpoint, I get:
> >
> > ! Caused by: java.lang.NoSuchMethodError:
> >
> >
> org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment.getRegion()Lorg/apache/hadoop/hbase/regionserver/HRegion;
> >
> > The same coprocessor works under 1.0.0.
> >
> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
> > removed?
> >
> > The Audience annotation is:
> > @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
> > @InterfaceStability.Evolving
> >
> > Since it is Evolving it is allowed to change in a breaking way. I'm
> > trying to think about how I migrate. I guess I deploy a new coproc
> > that uses whatever the new method is, and then in my client, detect at
> > runtime which HBase version I'm talking to and use that to determine
> > which coprocessor to hit?
> >
> > Thanks,
> > James
> >
>
>
>
> --
> Best regards,
>
>    - Andy
>
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)
>

Re: Troubles with HBase 1.1.0 RC2

Posted by Enis Söztutar <en...@gmail.com>.
Yeah, for coprocessors, what Andrew said. You have to make minor changes.

>From your repo, I was able to build:

HW10676:hbase-deps-test$ ./build.sh

:compileJava

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase/1.1.0/hbase-1.1.0.pom

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-server/1.1.0/hbase-server-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-common/1.1.0/hbase-common-1.1.0-tests.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-protocol/1.1.0/hbase-protocol-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-procedure/1.1.0/hbase-procedure-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-client/1.1.0/hbase-client-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-prefix-tree/1.1.0/hbase-prefix-tree-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop-compat/1.1.0/hbase-hadoop-compat-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-hadoop2-compat/1.1.0/hbase-hadoop2-compat-1.1.0.jar

Download
https://repository.apache.org/content/repositories/orgapachehbase-1078/org/apache/hbase/hbase-annotations/1.1.0/hbase-annotations-1.1.0.jar

:processResources UP-TO-DATE

:classes

:jar

:assemble

:compileTestJava UP-TO-DATE

:processTestResources UP-TO-DATE

:testClasses UP-TO-DATE

:test UP-TO-DATE

:check UP-TO-DATE

:build


BUILD SUCCESSFUL


Total time: 1 mins 8.182 secs


Also you should not need to pass -Dcompat.module=hbase-hadoop2-compat.

Enis

On Wed, May 13, 2015 at 3:21 PM, Andrew Purtell <ap...@apache.org> wrote:

> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
> removed?
>
> No, the signature has changed, basically s/HRegion/Region/. HRegion is an
> internal, low level implementation type. Has always been. We have replaced
> it with Region, an interface that contains a subset of HRegion we feel we
> can support for coprocessor source and binary compatibility longer term.
> This work was done on HBASE-12972 if you're curious to know more about it.
>
> > I guess I deploy a new coproc that uses whatever the new method is, and
> then in my client, detect at runtime which HBase version I'm talking to and
> use that to determine which coprocessor to hit?
>
> Coprocessors are server side extensions. These API changes will require you
> to modify the code you plan to deploy on the server. I don't think any
> client side changes are needed. Unless your coprocessor implements an
> Endpoint and _you_ are changing your RPC message formats, a 1.0.x client
> shouldn't care whether it is talking to a 1.0.x server or a 1.1.x server,
> running your coprocessor or not.
>
>
>
> On Wed, May 13, 2015 at 3:00 PM, James Estes <ja...@gmail.com>
> wrote:
>
> > I saw the vote thread for RC2, so tried to build my project against it.
> >
> > My build fails when I depend on 1.1.0. I created a bare bones project
> > to show the issue I'm running into:
> > https://github.com/housejester/hbase-deps-test
> >
> > To be clear, it works in 1.0.0 (and I did add the repository).
> >
> > Further, we have a coprocessor and when I stand up a 1.1.0 HBase and
> > call my endpoint, I get:
> >
> > ! Caused by: java.lang.NoSuchMethodError:
> >
> >
> org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment.getRegion()Lorg/apache/hadoop/hbase/regionserver/HRegion;
> >
> > The same coprocessor works under 1.0.0.
> >
> > So, it looks like RegionCoprocessorEnvironment.getRegion() has been
> > removed?
> >
> > The Audience annotation is:
> > @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
> > @InterfaceStability.Evolving
> >
> > Since it is Evolving it is allowed to change in a breaking way. I'm
> > trying to think about how I migrate. I guess I deploy a new coproc
> > that uses whatever the new method is, and then in my client, detect at
> > runtime which HBase version I'm talking to and use that to determine
> > which coprocessor to hit?
> >
> > Thanks,
> > James
> >
>
>
>
> --
> Best regards,
>
>    - Andy
>
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)
>