hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Forman <georgeforma...@hotmail.com>
Subject Re: hbase.regionserver.impl no longer available
Date Thu, 12 Jan 2017 17:47:00 GMT
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 <yuzhihong@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 <georgeforman69@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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message