You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[client] Admin readOnlyGateway never refreshes metadata on network errors, causing permanent RPC failure during server rolling upgrades #3389
readOnlyGateway is backed by metadataUpdater::getRandomTabletServer as its node supplier. When all tablet server IPs change (e.g., pods restarting with new IPs in Kubernetes), the cached Cluster still holds the old IPs.
The RPC fails with a network error, but nothing triggers updateMetadata() — the CompletableFuture simply completes exceptionally and the stale Cluster remains unchanged. Subsequent calls keep resolving the same stale nodes, making this a permanent failure that no amount of caller-side retries can fix.
Stale leader routing — transient failure
Example: Admin#listOffsets
// FlussAdmin.java:529metadataUpdater.updateTableOrPartitionMetadata(physicalTablePath.getTablePath(), null);
// ... then prepareListOffsetsRequests() calls leaderFor() and sends to that leader
Each call starts by refreshing metadata, so it picks up the latest leader assignment. However, if a leader-follower switch occurs in the small window between the metadata refresh and the actual RPC send, the request is routed to the old leader (now a follower).
This is a transient failure — a caller-side retry will trigger a fresh metadata update at the beginning of the next call, resolve the new leader, and succeed.
Solution
⏺ Therefore, we plan to address this in two steps:
Urgently fix Problem 1 — refresh metadata upon network errors on the readOnlyGateway path, so the client can recover from stale server addresses.
Problem 2 is less urgent — we can address it later by introducing a more robust metadata mechanism at the framework level.
changed the title [-]Flink enumerator will be stuck in `Admin#listPartitionInfos` when ungrade fluss servers[/-][+][client] Admin readOnlyGateway never refreshes metadata on network errors, causing permanent RPC failure during server rolling upgrades[/+]on May 27, 2026
Activity
[-]Flink enumerator will be stuck in `Admin#listPartitionInfos` when ungrade fluss servers[/-][+][client] Admin readOnlyGateway never refreshes metadata on network errors, causing permanent RPC failure during server rolling upgrades[/+]