@Override protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { UnassignRegionStateData.Builder state = UnassignRegionStateData.newBuilder().setTransitionState(getTransitionState()) .setHostingServer(ProtobufUtil.toServerName(this.hostingServer)) .setRegionInfo(ProtobufUtil.toRegionInfo(getRegionInfo())); if (this.destinationServer != null) { state.setDestinationServer(ProtobufUtil.toServerName(destinationServer)); } if (force) { state.setForce(true); } if (removeAfterUnassigning) { state.setRemoveAfterUnassigning(true); } if (getAttempt() > 0) { state.setAttempt(getAttempt()); } serializer.serialize(state.build()); }
@Override public RemoteOperation remoteCallBuild(final MasterProcedureEnv env, final ServerName serverName) { assert serverName.equals(getRegionState(env).getRegionLocation()); return new RegionCloseOperation(this, getRegionInfo(), this.destinationServer); }
@Override protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { final UnassignRegionStateData state = serializer.deserialize(UnassignRegionStateData.class); setTransitionState(state.getTransitionState()); setRegionInfo(ProtobufUtil.toRegionInfo(state.getRegionInfo())); this.hostingServer = ProtobufUtil.toServerName(state.getHostingServer()); force = state.getForce(); if (state.hasDestinationServer()) { this.destinationServer = ProtobufUtil.toServerName(state.getDestinationServer()); } removeAfterUnassigning = state.getRemoveAfterUnassigning(); if (state.hasAttempt()) { setAttempt(state.getAttempt()); } }
.filter(p -> p instanceof UnassignProcedure) .map(p -> (UnassignProcedure) p) .anyMatch(p -> TABLE_NAME.equals(p.getTableName()))); UTIL.getMiniHBaseCluster().killRegionServer( UTIL.getMiniHBaseCluster().getRegionServer(0).getServerName());
.filter(p -> p instanceof UnassignProcedure) .map(p -> (UnassignProcedure) p) .anyMatch(p -> TABLE_NAME.equals(p.getTableName()))); UTIL.getMiniHBaseCluster().killRegionServer( UTIL.getMiniHBaseCluster().getRegionServer(0).getServerName());