apache/druid · error · IllegalStateException
Announcer not started
Error message
Announcer not started
What it means
announce() requires the announcer lifecycle to have finished starting; the awaitStarted(1s) timed out, so the node registration is refused rather than silently dropped while the component is still starting up or already stopped.
Solutions
- Ensure start() completed before announcing; check startup ordering and any earlier startup errors.
- Fix whatever blocked the lifecycle start so the await succeeds.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-contrib/consul-extensions/src/main/java/org/apache/druid/consul/discovery/ConsulDruidNodeAnnouncer.java:145 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/35eeec96887afd75.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-contrib/consul-extensions/src/main/java/org/apache/druid/consul/discovery/ConsulDruidNodeAnnouncer.java:145
for (String serviceId : announcedNodes.keySet()) {
try {
consulApiClient.deregisterService(serviceId);
}
catch (Exception e) {
LOGGER.error(e, "Failed to deregister service [%s] during shutdown", serviceId);
}
}
announcedNodes.clear();
lifecycleLock.exitStop();
}
@Override
public void announce(DiscoveryDruidNode discoveryDruidNode)
{
if (!lifecycleLock.awaitStarted(1, TimeUnit.SECONDS)) {
throw new ISE("Announcer not started");
}
String serviceId = ConsulServiceIds.serviceId(config, discoveryDruidNode);
// Prevent concurrent duplicate registrations for the same serviceId
if (!registeringNodes.add(serviceId)) {
LOGGER.warn("Registration already in progress for serviceId [%s]", serviceId);
return;
}
try {
// If already announced, skip duplicate registration
if (announcedNodes.containsKey(serviceId)) {
LOGGER.warn("ServiceId [%s] already announced, skipping", serviceId);
return;
}
long registerStart = System.nanoTime();View on GitHub (pinned to 9b90983fd2)