apache/seatunnel · error · SeaTunnelEngineException
Failed to get cluster members information
Error message
Failed to get cluster members information
What it means
This is the catch-all wrap: any exception while listing cluster members (Hazelcast client connection failures, timeouts, address resolution errors) is converted into a SeaTunnelEngineException with this generic message, preserving the original as the cause. It indicates the members listing operation as a whole failed, not a specific member problem.
Source
Thrown at seatunnel-core/seatunnel-starter/src/main/java/org/apache/seatunnel/core/starter/seatunnel/command/ServerExecuteCommand.java:157
}
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());
}
return members;
} catch (Exception e) {
throw new SeaTunnelEngineException("Failed to get cluster members information", e);
} finally {
if (client != null) {
try {
client.shutdown();
} catch (Exception e) {
log.warn("Failed to shutdown Hazelcast client", e);
}
}
}
}
private String getRole(Address masterAddress, Member member) {
if (member.isLiteMember()) {
return EngineConfig.ClusterRole.WORKER.toString();
}
if (masterAddress.toString().equals(member.getAddress().toString())) {
return "ACTIVE MASTER";View on GitHub (pinned to cf67b549a7)
Solutions
- Inspect the `cause` of the exception — it contains the real Hazelcast connection error
- Verify network reachability to the cluster's Hazelcast port (telnet/nc to host:5801)
- Check hazelcast-client.yaml for correct cluster-name and member address lists
- Ensure the cluster is running and nodes are joined before running the members command
Example fix
// before (client config pointing to wrong host) // hazelcast-client.yaml: cluster-members: ["127.0.0.1:5801"] // after // hazelcast-client.yaml: cluster-members: ["10.0.0.5:5801", "10.0.0.6:5801"]
Defensive patterns
Strategy: try-catch
Try / catch
try {
Set<Member> members = command.showClusterMembers();
} catch (SeaTunnelEngineException e) {
log.error("Members listing failed: {}", e.getMessage(), e.getCause());
// e.getCause() holds the real Hazelcast connect error
} Prevention
- Always log the cause chain, not just the generic message
- Pre-check network connectivity to Hazelcast ports
- Keep hazelcast-client.yaml cluster-members accurate
- Handle transient network errors with retry
When it happens
Trigger: showClusterMembers throws for any reason — HazelcastClient.newHazelcastClient fails to connect (connection refused, wrong address/port in hazelcast-client config, network partition), or getMembers/getRole calls fail.
Common situations: Cluster host unreachable, firewall blocking the Hazelcast port (default 5801), wrong cluster name causing auth/connect failure, DNS resolution problems, or intermittent network issues in Kubernetes environments.
Related errors
- Cluster name is required. Please specify it using -cn or --c
- cluster: %s is not running, Please start the cluster first.
- Failed to get HTTP port from member {}, skip.
- Not supported cluster role: ${clusterRole}
- cluster have no master node
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/3127465f96c919a1.
Report an issue: GitHub.