{"record":{"id":"2d24fd7b06c63240","repo":"apache/druid","slug":"failed-to-initialize","errorCode":null,"errorMessage":"Failed to initialize ","messagePattern":"Failed to initialize ","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"critical","filePath":"server/src/main/java/org/apache/druid/client/BaseBrokerViewOfConfig.java","lineNumber":95,"sourceCode":"  /**\n   * Fetch the initial configuration from the Coordinator on broker startup.\n   * If the fetch fails, the broker startup will fail with a RuntimeException,\n   * preventing the broker from serving queries with stale or missing configuration.\n   */\n  @LifecycleStart\n  public void start()\n  {\n    try {\n      log.info(\"Fetching %s from Coordinator.\", getConfigTypeName());\n\n      DynamicConfig fetchedConfig = fetchConfigFromClient();\n      setDynamicConfig(fetchedConfig);\n\n      log.info(\"Successfully fetched %s: [%s]\", getConfigTypeName(), fetchedConfig);\n    }\n    catch (Exception e) {\n      // If the fetch fails, the broker should not serve queries. Throw the exception and try again on restart.\n      throw new RuntimeException(\"Failed to initialize \" + getConfigTypeName(), e);\n    }\n  }\n}\n","sourceCodeStart":77,"sourceCodeEnd":99,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/server/src/main/java/org/apache/druid/client/BaseBrokerViewOfConfig.java#L77-L99","documentation":"BaseBrokerViewOfConfig.start() wraps any exception thrown while fetching the broker's dynamic configuration (e.g. lookup or server-view config) from the coordinator in a RuntimeException. The comment is explicit: if the fetch fails the broker must not serve queries, so the failure is fatal and retried on restart.","triggerScenarios":"HttpPostQuery failing against the coordinator config endpoint: coordinator down, wrong druid.selectors.coordinator.serviceName/host, network partition, TLS errors, or coordinator returning an error/invalid payload during broker startup.","commonSituations":"Broker started before coordinator is available; DNS or discovery (ZooKeeper/leader election) misconfiguration; coordinator overloaded returning 5xx; firewalls blocking broker->coordinator HTTP traffic.","solutions":["Verify the coordinator is running and reachable from the broker (curl the coordinator config endpoint).","Check druid.selectors.coordinator.serviceName and discovery configuration on the broker.","Inspect the wrapped cause 'e' in the broker logs for the real network/HTTP error.","Fix network/TLS/firewall issues between broker and coordinator, then restart the broker."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"// catch RuntimeException at startup and inspect the cause\ntry {\n  view.start();\n} catch (RuntimeException e) {\n  if (e.getCause() instanceof IOException) {\n    // coordinator unreachable: retry with backoff / alert ops\n  }\n  throw e; // broker must not serve queries without config\n}","preventionTips":["Start the broker only after the coordinator is healthy (orchestration dependency).","Verify druid.selectors.coordinator.serviceName and network reachability before deploy.","Monitor broker startup logs for the wrapped cause.","Keep broker->coordinator firewall/TLS configuration current."],"tags":["druid","broker","coordinator","startup","network"],"backgroundTag":"module-init-failed","analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}