Arturo Iacobelli
03/12/2026, 7:18 PMRocky
03/12/2026, 7:19 PMcom.sleepycat.je.rep.UnknownMasterException: Could not determine master from helpers, indicates that the StarRocks Front End (FE) node is unable to find or elect a Master node among the helper nodes listed in its configuration.
In your case, it seems you are running a 3-node FE cluster in Kubernetes. Here are the most common causes and how to troubleshoot them:
1. Quorum Loss (Most Likely)
For a StarRocks cluster with 3 Follower FEs, a majority (at least 2) must be alive and able to communicate to elect a Master. If two nodes are down or cannot talk to each other, the remaining node will throw this error because it cannot form a quorum.
* Check: Ensure at least 2 FE pods are in a Running state and their containers haven't crashed.
* Check: Look at the logs of all three FEs. If all three show this error, they are likely having trouble communicating with each other.
2. Network Connectivity & priority_networks
FEs communicate via the edit_log_port (default 9010). If they cannot reach each other on this port, election will fail.
* Check: Verify that the FEs can ping/telnet each other using the FQDNs listed in your error message (e.g., star-rocks-cluster-2-fe-0...:9010).
* Priority Networks: In Kubernetes, it is critical to set the priority_networks configuration in fe.conf to ensure FEs bind to the correct Pod IP. If this is missing or incorrect, an FE might bind to a local interface that isn't reachable by others.
_ _Example:* priority_networks = 10.39.0.0/16 (matching your Pod CIDR).
3. Java Heap / Memory Issues
If the FE is experiencing heavy Garbage Collection (GC) or an OutOfMemoryError (OOM), it may fail to respond to heartbeat signals, leading to a failed election.
* Check: Search your fe.log for java.lang.OutOfMemoryError or long GC pauses.
* Solution: Increase the JVM heap size in fe.conf (via JAVA_OPTS) or increase the memory limits in your K8s manifest.
4. Metadata Corruption or Mismatched Cluster IDs
If an FE was started with a different cluster_id (perhaps from a previous deployment or manual meta-cleanup), it will be rejected by the group.
* Check: Look for "cluster id mismatch" or "invalid cluster id" in the fe.warn.log.
* Solution: If this is a new cluster and metadata is not yet critical, you can try clearing the meta_dir on the problematic nodes and restarting them with the --helper flag pointing to a healthy node.
5. Kubernetes DNS Resolution
Since you are using FQDNs, the pods must be able to resolve each other.
* Check: Exec into one FE pod and try:
getent hosts star-rocks-cluster-2-fe-0.star-rocks-cluster-2-fe-search.star-rocks-cluster-2.svc.cluster.local
If this fails, your K8s Headless Service or CoreDNS might be misconfigured.
Recommended Next Steps:
1. Check logs: Tail the fe.log on all three nodes to see if one is trying to become the leader and why the others are rejecting it.
2. Verify Status: If you can log in to any FE via MySQL, run SHOW FRONTENDS; to see which nodes are joined and which one is marked as Role: LEADER.
3. Check Pod Resources: Ensure the pods aren't being OOMKilled by Kubernetes.
References
• administration/Meta_recovery.md
• faq/Deploy_faq.md