@Override public void call(MasterObserver observer) throws IOException { observer.postMove(this, region, srcServer, destServer); } });
@Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { oserver.postMove(ctx, region, srcServer, destServer); } });
@Override public void postMove(ObserverContext<MasterCoprocessorEnvironment> ctx, HRegionInfo region, ServerName srcServer, ServerName destServer) throws IOException { if(LOG.isDebugEnabled()) { LOG.debug("==> HBaseAtlasCoprocessor.postMove()"); } try { activatePluginClassLoader(); implMasterObserver.postMove(ctx, region, srcServer, destServer); } finally { deactivatePluginClassLoader(); } if(LOG.isDebugEnabled()) { LOG.debug("<== HBaseAtlasCoprocessor.postMove()"); } }
void postMove(final HRegionInfo region, final ServerName srcServer, final ServerName destServer) throws IOException { ObserverContext<MasterCoprocessorEnvironment> ctx = null; for (MasterEnvironment env: coprocessors) { if (env.getInstance() instanceof MasterObserver) { ctx = ObserverContext.createAndPrepare(env, ctx); try { ((MasterObserver)env.getInstance()).postMove( ctx, region, srcServer, destServer); } catch (Throwable e) { handleCoprocessorThrowable(env, e); } if (ctx.shouldComplete()) { break; } } } }