Copilot commented on code in PR #9502:
URL: https://github.com/apache/seatunnel/pull/9502#discussion_r2167991796


##########
seatunnel-core/seatunnel-starter/src/main/java/org/apache/seatunnel/core/starter/seatunnel/command/ServerExecuteCommand.java:
##########
@@ -97,4 +112,69 @@ static boolean isAllocatingThreadGetName() {
             return !SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8);
         }
     }
+
+    @VisibleForTesting
+    public Set<Member> showClusterMembers() {
+        HazelcastClientInstanceImpl client = null;
+        try {
+            String clusterName = serverCommandArgs.getClusterName();
+            if (StringUtils.isBlank(clusterName)) {
+                throw new SeaTunnelEngineException(
+                        "Cluster name is required. Please specify it using -cn 
or --cluster option.");
+            }
+            ClientConfig clientConfig = 
ConfigProvider.locateAndGetClientConfig();
+            clientConfig.setClusterName(clusterName);
+            client =
+                    ((HazelcastClientProxy) 
HazelcastClient.newHazelcastClient(clientConfig))
+                            .client;
+            if (!client.getLifecycleService().isRunning()) {
+                throw new SeaTunnelEngineException(
+                        String.format(
+                                "cluster: %s is not running, Please start the 
cluster first.",
+                                clusterName));
+            }
+            Set<Member> members = client.getCluster().getMembers();
+            if (members.isEmpty()) {
+                System.out.println("No active members found in the cluster.");
+                return members;
+            }
+
+            Collection<Member> memberList = 
client.getClientClusterService().getMemberList();
+
+            Member masterMember = 
client.getClientClusterService().getMasterMember();
+            System.out.printf(
+                    "%-36s %-20s %-20s %-10s\n", "Member ID", "Address", 
"Role", "Version");
+
+            for (Member member : members) {
+                System.out.printf(
+                        "%-36s %-20s %-20s %-10s\n",
+                        member.getUuid(),
+                        member.getAddress(),
+                        getRole(masterMember.getAddress(), member),
+                        member.getVersion());

Review Comment:
   Consider using the logger (e.g., log.info) instead of System.out.printf for 
consistent logging practices in production code.
   ```suggestion
               log.info(
                       String.format(
                               "%-36s %-20s %-20s %-10s",
                               "Member ID", "Address", "Role", "Version"));
   
               for (Member member : members) {
                   log.info(
                           String.format(
                                   "%-36s %-20s %-20s %-10s",
                                   member.getUuid(),
                                   member.getAddress(),
                                   getRole(masterMember.getAddress(), member),
                                   member.getVersion()));
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to