dataNodeWrappers,
+ final String testClassName) {
+ String seedConfigNode = configNodeWrappers.get(0).getIpAndPortString();
+ int dataNodePort = dataNodeWrappers.get(0).getPort();
+ startAINode(seedConfigNode, dataNodePort, testClassName);
}
private void startAINode(
diff --git a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
index 97a32e4653374..74c34392fb75f 100644
--- a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
+++ b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
@@ -251,21 +251,27 @@ protected void initEnvironment(
throw new AssertionError();
}
- initExtraNodes(seedConfigNode, this.dataNodeWrapperList.get(0).getPort());
+ initExtraNodes(configNodeWrapperList, dataNodeWrapperList, testClassName);
checkClusterStatusWithoutUnknown();
}
/**
- * Hook for subclasses to create and start extra node types (e.g., AINode, StreamNode) beyond the
- * core ConfigNode and DataNode. Subclasses should create node wrappers, add them to {@link
- * #extraNodeWrappers}, and start them.
+ * Hook method for subclasses to initialize and start extra node types beyond the core ConfigNode
+ * and DataNode (e.g., AINode, StreamNode, ProxyNode).
*
- * @param seedConfigNode the ip:port of the seed ConfigNode
- * @param dataNodePort the port of the first DataNode (useful for nodes that need it, e.g.,
- * AINode)
+ * Subclasses should create node wrappers, add them to {@link #extraNodeWrappers}, configure
+ * kill points via {@link #extraNodeKillPoints}, and start the nodes. Subclasses have direct
+ * access to protected fields: {@code testMethodName}, {@code index}, {@code startTime}.
+ *
+ * @param configNodeWrappers list of all ConfigNode wrappers in the cluster (unmodifiable)
+ * @param dataNodeWrappers list of all DataNode wrappers in the cluster (unmodifiable)
+ * @param testClassName the test class name for logging and identification purposes
*/
- protected void initExtraNodes(final String seedConfigNode, final int dataNodePort) {
+ protected void initExtraNodes(
+ final List configNodeWrappers,
+ final List dataNodeWrappers,
+ final String testClassName) {
// Default: no extra nodes. Subclasses override to add nodes.
}