public void startOtherConsensusPipesToTargetPeer(Peer targetPeer)
      throws ConsensusGroupModifyPeerException {
    final List<Peer> otherPeers = peerManager.getOtherPeers(thisNode);
    for (Peer peer : otherPeers) {
      if (peer.equals(targetPeer)) {
        continue;
      }
      try {
        consensusPipeManager.updateConsensusPipe(
            new ConsensusPipeName(peer, targetPeer), PipeStatus.RUNNING);
      } catch (Exception e) {
        // just warn but not throw exceptions. Because there may exist unknown nodes in consensus
        // group
        LOGGER.warn("{} cannot start consensus pipe to {}", peer, targetPeer, e);
      }
    }
  }
update given consensus pipes' status, returns the peer corresponding to the pipe that failed to
update
iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/pipe/PipeConsensusServerImpl.java