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

  1. Inspect the `cause` of the exception — it contains the real Hazelcast connection error
  2. Verify network reachability to the cluster's Hazelcast port (telnet/nc to host:5801)
  3. Check hazelcast-client.yaml for correct cluster-name and member address lists
  4. 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

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


AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10). Data as JSON: /api/errors/3127465f96c919a1. Report an issue: GitHub.