Hi Gary, thanks! It seems that the region observer been removed behavior, is per region and NOT per coprocessor. So do I have to query each region to get the per region health status? Or, is there a table level API telling me something like, I have 10 regions and an observer has been removed in 2 out of the 10 regions?
Best, Wei >From my iPhone > On Oct 21, 2013, at 10:06 PM, "Gary Helmling" <[email protected]> wrote: > > > You can't remove a coprocessor. > > > > Well, you can, but that would require a rolling restart. > > > > It still exists and is still loaded. > > > > > Assuming we are talking about RegionObserver coprocessors here, when a > coprocessor throws an exception (other than IOException), it is either: > > a) removed from the list of active RegionObservers being invoked on the > region's operations > b) or if "hbase.coprocessor.abortonerror" is "true", the regionserver aborts > > The coprocessor class is of course still in memory on the regionserver, but > that instance will no longer be invoked in any pre/post hooks for > operations on that region. > > Back to the original question, the coprocessor is only removed from the > list of active coprocessors for the region(s) where it has thrown an > exception. It will still be active on any regions where it has not thrown > an exception.
