prestodb/presto · error · RuntimeException

RuntimeException(e)

Error message

RuntimeException(e)

What it means

Wrapper in PrometheusConnectorFactory.create: any exception thrown while bootstrapping/initializing the Guice injector for the connector (bad config, missing bindings) is rethrown as a plain RuntimeException with the cause attached, surfacing plugin startup failure to the connector manager.

Source

Thrown at presto-prometheus/src/main/java/com/facebook/presto/plugin/prometheus/PrometheusConnectorFactory.java:65

    public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
    {
        requireNonNull(config, "requiredConfig is null");
        try {
            // A plugin is not required to use Guice; it is just very convenient
            Bootstrap app = new Bootstrap(
                    new JsonModule(),
                    new PrometheusModule(context.getTypeManager()));

            Injector injector = app
                    .doNotInitializeLogging()
                    .setRequiredConfigurationProperties(config)
                    .initialize();

            return injector.getInstance(PrometheusConnector.class);
        }
        catch (Exception e) {
            throwIfUnchecked(e);
            throw new RuntimeException(e);
        }
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Inspect the cause (e) for the actual configuration or Guice binding error
  2. Fix invalid prometheus.* configuration properties
  3. Ensure the plugin modules are wired correctly
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-prometheus/src/main/java/com/facebook/presto/plugin/prometheus/PrometheusConnectorFactory.java:65 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/f121ef13ee5cf8e0. Report an issue: GitHub.