fix(olly): let single-replica rings find themselves #14

Merged
sean merged 1 commit from fix/memberlist-publish-notready into trunk 2026-08-08 01:51:43 +00:00
Owner

loki-0 has been in CrashLoopBackOff since 2026-08-05:

Failed to resolve loki-memberlist: lookup loki-memberlist ... no such host
error getting ingester clients: empty ring

This is a deadlock, not a transient fault. loki-memberlist is headless without publishNotReadyAddresses, so it publishes an address only once a pod is ready. Loki runs one replica and must join its own ring to BECOME ready. After a restart the only member is not ready, DNS answers NXDOMAIN, the ring stays empty, and it can never recover.

The endpoint shows it exactly:

notReadyAddresses=[loki-0]     (no ready addresses)
spec.publishNotReadyAddresses: unset

tempo-memberlist has the identical shape and one replica. It survives only because it has not restarted since creation — a node roll restarts it and it deadlocks the same way. Fixed both.

Found while a kernel roll refused to start: the deploy green-gate fails on any CrashLoopBackOff pod, and loki-0 was the only one blocking.

`loki-0` has been in CrashLoopBackOff since 2026-08-05: Failed to resolve loki-memberlist: lookup loki-memberlist ... no such host error getting ingester clients: empty ring This is a deadlock, not a transient fault. `loki-memberlist` is headless without `publishNotReadyAddresses`, so it publishes an address only once a pod is ready. Loki runs one replica and must join its own ring to BECOME ready. After a restart the only member is not ready, DNS answers NXDOMAIN, the ring stays empty, and it can never recover. The endpoint shows it exactly: notReadyAddresses=[loki-0] (no ready addresses) spec.publishNotReadyAddresses: unset `tempo-memberlist` has the identical shape and one replica. It survives only because it has not restarted since creation — a node roll restarts it and it deadlocks the same way. Fixed both. Found while a kernel roll refused to start: the deploy green-gate fails on any CrashLoopBackOff pod, and `loki-0` was the only one blocking.
fix(olly): let single-replica rings find themselves
All checks were successful
pipeline/ci CI green @ e2ef0e4e3331
e2ef0e4e33
loki-0 has been in CrashLoopBackOff since 2026-08-05, repeating:

    Failed to resolve loki-memberlist: lookup loki-memberlist ... no such host
    error getting ingester clients: empty ring

The cause is a deadlock, not a transient fault. loki-memberlist is a headless
Service without publishNotReadyAddresses, so it publishes an address only after
a pod is ready. Loki runs one replica and must join its own memberlist ring to
BECOME ready. After any restart the only member is not ready, DNS answers
NXDOMAIN, the ring stays empty, and the pod can never recover. The endpoint
shows this exactly: notReadyAddresses=[loki-0], no ready addresses.

Set publishNotReadyAddresses: true so a starting member can resolve itself.

tempo-memberlist has the identical shape and one replica. It survives only
because it has not restarted since it was created. A node roll restarts it and
it would deadlock the same way, so fix both now rather than after the next roll.

Found while a kernel roll refused to start: the deploy green-gate fails on any
CrashLoopBackOff pod, and loki-0 was the only one.
sean merged commit e2ef0e4e33 into trunk 2026-08-08 01:51:43 +00:00
sean deleted branch fix/memberlist-publish-notready 2026-08-08 01:51:43 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/olly!14
No description provided.