@Override protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { final AssignRegionStateData state = serializer.deserialize(AssignRegionStateData.class); setTransitionState(state.getTransitionState()); setRegionInfo(ProtobufUtil.toRegionInfo(state.getRegionInfo())); forceNewPlan = state.getForceNewPlan(); if (state.hasTargetServer()) { this.targetServer = ProtobufUtil.toServerName(state.getTargetServer()); } if (state.hasAttempt()) { setAttempt(state.getAttempt()); } }
@Override void setTransitionState(MasterProcedureProtos.RegionTransitionState state) { if (state == MasterProcedureProtos.RegionTransitionState.REGION_TRANSITION_DISPATCH) { try { LOG.info("LATCH2 {}", this.latch.getCount()); this.latch.await(); LOG.info("LATCH3 {}", this.latch.getCount()); } catch (InterruptedException e) { e.printStackTrace(); } } else if (state == MasterProcedureProtos.RegionTransitionState.REGION_TRANSITION_QUEUE) { // Set latch. LOG.info("LATCH1 {}", this.latch.getCount()); this.latch.countDown(); } super.setTransitionState(state); } }