{"record":{"id":"e29301e932412351","repo":"apache/druid","slug":"dropwizard-emitter-service-not-started","errorCode":null,"errorMessage":"Dropwizard emitter Service not started.","messagePattern":"Dropwizard emitter Service not started\\.","errorType":"exception","errorClass":"RejectedExecutionException","httpStatus":null,"severity":"error","filePath":"extensions-contrib/dropwizard-emitter/src/main/java/org/apache/druid/emitter/dropwizard/DropwizardEmitter.java","lineNumber":97,"sourceCode":"\n\n  @Override\n  public void start()\n  {\n    final boolean alreadyStarted = started.getAndSet(true);\n    if (!alreadyStarted) {\n      for (DropwizardReporter reporter : reporters) {\n        reporter.start(metricsRegistry);\n      }\n    }\n  }\n\n  @Override\n  public void emit(Event event)\n  {\n    synchronized (started) {\n      if (!started.get()) {\n        throw new RejectedExecutionException(\"Dropwizard emitter Service not started.\");\n      }\n    }\n    if (event instanceof ServiceMetricEvent) {\n      ServiceMetricEvent metricEvent = (ServiceMetricEvent) event;\n      String host = metricEvent.getHost();\n      String service = metricEvent.getService();\n      String metric = metricEvent.getMetric();\n      Map<String, Object> userDims = metricEvent.getUserDims();\n      Number value = metricEvent.getValue();\n      ImmutableList.Builder<String> nameBuilder = new ImmutableList.Builder<>();\n      LinkedHashMap<String, String> dims = new LinkedHashMap<>();\n      final DropwizardMetricSpec metricSpec = converter.addFilteredUserDims(service, metric, userDims, dims);\n\n      if (metricSpec != null) {\n        if (config.getPrefix() != null) {\n          nameBuilder.add(config.getPrefix());\n        }\n        nameBuilder.add(StringUtils.format(\"metric=%s\", metric));","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-contrib/dropwizard-emitter/src/main/java/org/apache/druid/emitter/dropwizard/DropwizardEmitter.java#L79-L115","documentation":"Guard thrown from DropwizardEmitter.emit() when an event arrives before start() has flipped the started flag: the emitter's reporters were never attached to the metrics registry, so the event cannot be recorded. Typically caused by registering the emitter as an extension without starting it (e.g. it was constructed but the lifecycle start phase never ran); start the emitter before feeding it events.","triggerScenarios":"Thrown at extensions-contrib/dropwizard-emitter/src/main/java/org/apache/druid/emitter/dropwizard/DropwizardEmitter.java:97 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Call emitter.start() before emitting; verify lifecycle wiring/registration order.","Ensure the emitter is not stopped while events still arrive; check for earlier startup failures."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}