Repository navigation
[OBSDATA-13995] Revert service-discovery isPodReady() filter (keep connect-timeout fix) - #474
Merged
Sadananda Aithal (saithal-confluent) merged 1 commit intoJul 20, 2026
Conversation
…oker connect timeout Scoped revert of the kubernetes-extensions / service-discovery half of 455f3e5 (OBSDATA-13995 Backport connect timeout (#450) and service discovery fix (apache apache#19139) to druid 30 (#469)). The broker TCP connect-timeout fix (HttpClientConfig.java, HttpClientInit.java, HttpClientModule.java, DruidHttpClientConfig.java) is untouched and remains in place - it is unrelated and unaffected by this incident. The isPodReady() filter added to DefaultK8sApiClient.listPods()/ watchPods() requires k8s to already report a pod's container ready before that pod can be treated as self-discovered. But a pod's readiness/startup probe (still pointed at /status/selfDiscovered on every environment using this image) only passes once self-discovery succeeds - a circular dependency. This crash-restart-looped every overlord pod on druid-devel-44409 (running druid-34, which carries the identical filter) after it picked up an image containing this filter; druid-30 is exposed to the same risk on its next fresh pod rollout. The real fix (a new /status/ready endpoint backed by a purely local ServiceAnnouncementState flag, breaking the circularity) is up as PR #472 on this branch's line, but the filter and the fix must ship in the same image tag - landing them in different tags is what caused the incident, and leaving the filter in now blocks other in-flight work on this branch. Reverting here to unblock; the filter will be re-added together with PR #472 once both are ready to ship as a single image. This reverts the isPodReady() filter and its tests to their pre-455f3e5715 state; docs/development/extensions-core/kubernetes.md and website/.spelling are reverted alongside since both are attributable solely to the service-discovery change.
Sadananda Aithal (saithal-confluent)
requested a review
from a team
as a code owner
July 20, 2026 09:14
Rushikesh Bankar (rbankar7)
approved these changes
Jul 20, 2026
Sadananda Aithal (saithal-confluent)
enabled auto-merge (squash)
July 20, 2026 09:33
Sadananda Aithal (saithal-confluent)
merged commit Jul 20, 2026
a1f493a
into
30.0.1-confluent
3 checks passed
Sadananda Aithal (saithal-confluent)
deleted the
saithal/OBSDATA-13995-revert-svcdisc-druid30
branch
July 20, 2026 10:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
455f3e5715(OBSDATA-13995 Backport connect timeout ([OBSDATA-13995] Backport service discovery fix (#19139) and add broker TCP connect timeout #450) and service discovery fix (apache Fix service discovery bug inkubernetes-extensionsapache/druid#19139) to druid 30 (OBSDATA-13995 Backport connect timeout (#450) and service discovery fix (apache #19139) to druid 30 #469)). The broker TCP connect-timeout fix in that same commit (HttpClientConfig.java,HttpClientInit.java,HttpClientModule.java,DruidHttpClientConfig.java) is untouched and remains in place — unrelated to this incident.isPodReady()filter added toDefaultK8sApiClient.listPods()/watchPods()requires k8s to already report a pod's container ready before that pod can be treated as self-discovered. Every environment's readiness/startup probe is still pointed at/status/selfDiscovered, which only passes once self-discovery succeeds — a circular dependency.druid-devel-44409(running druid-34, which carries the identical filter) after it rolled to an image containing this filter. druid-30 carries the same filter and is exposed to the identical risk on its next fresh pod rollout./status/readyendpoint backed by a purely localServiceAnnouncementState, breaking the circularity) is up as [OBSDATA-13995] Backport /status/ready endpoint (apache #19148) #472 on this branch. The filter and the fix need to ship in the same image tag — landing in different tags is exactly what caused this incident, and leaving the filter in now blocks other in-flight work on this branch.Test plan
mvn compile -pl extensions-core/kubernetes-extensions,server,processing -am -DskipTests -Dweb.console.skip=true -Pskip-static-checkssucceedsHttpClientConfig.java,HttpClientInit.java,HttpClientModule.java,DruidHttpClientConfig.java) have zero diff — untouched🤖 Generated with Claude Code