@Override
  protected void doCall() throws Exception {
    LOG.info("Received a peer change event, peerId=" + peerId + ", type=" + type);
    PeerProcedureHandler handler = rs.getReplicationSourceService().getPeerProcedureHandler();
    switch (type) {
      case ADD_PEER:
        handler.addPeer(this.peerId);
        break;
      case REMOVE_PEER:
        handler.removePeer(this.peerId);
        break;
      case ENABLE_PEER:
        handler.enablePeer(this.peerId);
        break;
      case DISABLE_PEER:
        handler.disablePeer(this.peerId);
        break;
      case UPDATE_PEER_CONFIG:
        handler.updatePeerConfig(this.peerId);
        break;
      case TRANSIT_SYNC_REPLICATION_STATE:
        handler.transitSyncReplicationPeerState(peerId, stage, rs);
        break;
      default:
        throw new IllegalArgumentException("Unknown peer modification type: " + type);
    }
  }
The callable executed at RS side to refresh the peer config/state. <br/>
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RefreshPeerCallable.java