quarkusio/quarkus · error · IllegalStateException

Unrecognized type, this is a programming bug in the OpenTele

Error message

Unrecognized type, this is a programming bug in the OpenTelemetry SDK

What it means

In `VertxGrpcSender.logAppropriateWarning`, the signal type string coming from the OpenTelemetry SDK is mapped to its `OTEL_<SIGNAL>_EXPORTER` environment variable name for a warning message. If the type is none of the known signals, the code assumes an SDK-internal bug and throws IllegalStateException. It is not triggered by user configuration.

Source

Thrown at extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/exporter/otlp/sender/VertxGrpcSender.java:425

                            }
                        }
                    }

                    @SuppressForbidden(reason = "The use of ThrottlingLogger mandates the use of java.util.logging")
                    private void logUnimplemented(Logger logger, String type, String fullErrorMessage) {
                        String envVar;
                        switch (type) {
                            case "span":
                                envVar = "OTEL_TRACES_EXPORTER";
                                break;
                            case "metric":
                                envVar = "OTEL_METRICS_EXPORTER";
                                break;
                            case "log":
                                envVar = "OTEL_LOGS_EXPORTER";
                                break;
                            default:
                                throw new IllegalStateException(
                                        "Unrecognized type, this is a programming bug in the OpenTelemetry SDK");
                        }

                        logger.log(
                                Level.WARNING,
                                "Failed to export "
                                        + type
                                        + "s. Server responded with UNIMPLEMENTED. "
                                        + "This usually means that your collector is not configured with an otlp "
                                        + "receiver in the \"pipelines\" section of the configuration. "
                                        + "If export is not desired and you are using OpenTelemetry autoconfiguration or the javaagent, "
                                        + "disable export by setting "
                                        + envVar
                                        + "=none. "
                                        + "Full error message: "
                                        + fullErrorMessage);
                    }

View on GitHub (pinned to e1c734241f)

Solutions

  1. Align OpenTelemetry SDK versions with those managed by your Quarkus BOM (`quarkus update` or dependency management)
  2. Check for conflicting manually-declared opentelemetry-* dependencies in your pom/build file
  3. Reproduce with a minimal app and report to Quarkus/OpenTelemetry if it persists
Defensive patterns

Strategy: try-catch

Validate before calling

// Enforce dependency alignment before build (Maven Enforcer)
// mvn enforcer:enforce -Drules=requireUpperBoundDeps

Try / catch

try {
    // configure/export via OTel
} catch (IllegalStateException e) {
    if (String.valueOf(e.getMessage()).contains("programming bug in the OpenTelemetry SDK")) {
        LOG.error("Likely OTel SDK / quarkus-opentelemetry version mismatch", e);
    }
}

Prevention

When it happens

Trigger: The OTel SDK hands VertxGrpcSender an export-signal type string outside the known set — only possible with an SDK/extension version mismatch or a genuine SDK defect.

Common situations: Mixing incompatible versions of `opentelemetry-sdk` and `quarkus-opentelemetry` on the classpath; custom instrumentation calling sender internals with an unexpected type; upstream SDK adding a new signal the Quarkus exporter doesn't know yet.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/16726a1445c0537f. Report an issue: GitHub.