You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by George Forman <ge...@hotmail.com> on 2016/12/29 15:51:08 UTC
hbase.regionserver.impl no longer available
Hi,
I have upgraded from cdh4.x to cdh5.6.0. We use HBase RegionServer coprocessor (observer model) for prepost for our data analysis. The coprocessor uses our proprietory statistics collection, as well as, implementing our JMX interface to retrieve those stats. To do this we have leveraged hbase.regionserver.impl by providing our extension of HRegioinServer. eg: public class MyStatsHRegionServer extends HRegionServer {...}
We are getting a NPE when the region server executes the coprocessor because I can't specify the extended class via hbase.regionserver.impl. I have looked around at hbase classes and can't find anything obvious that is a replacement. Does anyone have a suggestion on how to resolve this problem?
Thanks
Re: hbase.regionserver.impl no longer available
Posted by George Forman <ge...@hotmail.com>.
Hi Ted,
I need to consult management on whether I am able to publish the code.
I might be able to publish a snippet of the code so I can get assistance.
thx
________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Thursday, December 29, 2016 4:10 PM
To: user@hbase.apache.org
Subject: Re: hbase.regionserver.impl no longer available
Can you show your code involving usage of hbase.regionserver.impl ?
Please also show the full stack trace of NPE.
A quick check across 0.98, branch-1 and master doesn't reveal difference
around this config.
Cheers
On Thu, Dec 29, 2016 at 7:51 AM, George Forman <ge...@hotmail.com>
wrote:
> Hi,
>
> I have upgraded from cdh4.x to cdh5.6.0. We use HBase RegionServer
> coprocessor (observer model) for prepost for our data analysis. The
> coprocessor uses our proprietory statistics collection, as well as,
> implementing our JMX interface to retrieve those stats. To do this we have
> leveraged hbase.regionserver.impl by providing our extension of
> HRegioinServer. eg: public class MyStatsHRegionServer extends HRegionServer
> {...}
>
>
>
> We are getting a NPE when the region server executes the coprocessor
> because I can't specify the extended class via hbase.regionserver.impl. I
> have looked around at hbase classes and can't find anything obvious that is
> a replacement. Does anyone have a suggestion on how to resolve this problem?
>
>
> Thanks
>
>
Re: hbase.regionserver.impl no longer available
Posted by George Forman <ge...@hotmail.com>.
Hi,
I was able to determine the cause of the problem. Upgrading from cdh4.x to cdh5.x, hbase region server starts up the coprocessors in a separate JVM. Therefore, the code extending HRegionServer which creates a singleton has two separate copies of the class object. In cdh4.x this wasn't the case.
I have moved the code into extended BaseRegionObserver by overriding start/stop methods. I can see the start method being called multiple times. I have synchronized this code as well as only allowing it to execute once.
I have also implemented the stop method in BaseRegionObserver. During shutdown of region server I see it being called multiple times as well. I only allow the code to execute once.
I am concerned about the stop method. In normal region server operation (not shutdown condition), can the stop method in BaseRegionObserver be executed? If so, what circumstance can this happen?
Thanks,
________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Thursday, December 29, 2016 4:10 PM
To: user@hbase.apache.org
Subject: Re: hbase.regionserver.impl no longer available
Can you show your code involving usage of hbase.regionserver.impl ?
Please also show the full stack trace of NPE.
A quick check across 0.98, branch-1 and master doesn't reveal difference
around this config.
Cheers
On Thu, Dec 29, 2016 at 7:51 AM, George Forman <ge...@hotmail.com>
wrote:
> Hi,
>
> I have upgraded from cdh4.x to cdh5.6.0. We use HBase RegionServer
> coprocessor (observer model) for prepost for our data analysis. The
> coprocessor uses our proprietory statistics collection, as well as,
> implementing our JMX interface to retrieve those stats. To do this we have
> leveraged hbase.regionserver.impl by providing our extension of
> HRegioinServer. eg: public class MyStatsHRegionServer extends HRegionServer
> {...}
>
>
>
> We are getting a NPE when the region server executes the coprocessor
> because I can't specify the extended class via hbase.regionserver.impl. I
> have looked around at hbase classes and can't find anything obvious that is
> a replacement. Does anyone have a suggestion on how to resolve this problem?
>
>
> Thanks
>
>
Re: hbase.regionserver.impl no longer available
Posted by Ted Yu <yu...@gmail.com>.
Can you show your code involving usage of hbase.regionserver.impl ?
Please also show the full stack trace of NPE.
A quick check across 0.98, branch-1 and master doesn't reveal difference
around this config.
Cheers
On Thu, Dec 29, 2016 at 7:51 AM, George Forman <ge...@hotmail.com>
wrote:
> Hi,
>
> I have upgraded from cdh4.x to cdh5.6.0. We use HBase RegionServer
> coprocessor (observer model) for prepost for our data analysis. The
> coprocessor uses our proprietory statistics collection, as well as,
> implementing our JMX interface to retrieve those stats. To do this we have
> leveraged hbase.regionserver.impl by providing our extension of
> HRegioinServer. eg: public class MyStatsHRegionServer extends HRegionServer
> {...}
>
>
>
> We are getting a NPE when the region server executes the coprocessor
> because I can't specify the extended class via hbase.regionserver.impl. I
> have looked around at hbase classes and can't find anything obvious that is
> a replacement. Does anyone have a suggestion on how to resolve this problem?
>
>
> Thanks
>
>