@Override
  public List<WALNode> getNodesSnapshot() {
    List<WALNode> snapshot;
    if (walNodes.size() < maxWalNodeNum) {
      nodesLock.lock();
      try {
        snapshot = new ArrayList<>(walNodes);
      } finally {
        nodesLock.unlock();
      }
    } else {
      snapshot = walNodes;
    }
    return snapshot;
  }
This strategy creates n wal nodes and allocate them by round-robin strategy. In other words,
several identifiers (like data regions) can share one wal node.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/RoundRobinStrategy.java