quarkusio/quarkus · error · RegistryResolutionException

Quarkus extension registries ${registryIds} did not provide

Error message

Quarkus extension registries ${registryIds} did not provide any extension catalog

What it means

RegistryResolutionException from ExtensionCatalogResolver build(): extension catalog resolution finished but every configured Quarkus extension registry returned no usable catalog (e.g. unreachable registry, empty registry response, or all registries deserialized to nothing). The list of registry ids that yielded nothing is interpolated into the message.

Source

Thrown at independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java:411

        ExtensionCatalog build() throws RegistryResolutionException {
            appendAllNonPlatformExtensions();
            if (catalogs.isEmpty()) {
                final List<RegistryExtensionResolver> registries = ExtensionCatalogResolver.this.registries;
                if (registries.isEmpty()) {
                    throw new RegistryResolutionException("Quarkus extension registry is not available");
                }
                if (registries.size() == 1) {
                    throw new RegistryResolutionException("Quarkus extension registry " + registries.get(0).getId()
                            + " did not provide any extension catalog");
                }
                final StringBuilder buf = new StringBuilder();
                buf.append("Quarkus extension registries ");
                buf.append(registries.get(0).getId());
                for (int i = 1; i < registries.size(); ++i) {
                    buf.append(", ").append(registries.get(i).getId());
                }
                buf.append(" did not provide any extension catalog");
                throw new RegistryResolutionException(buf.toString());
            }

            return CatalogMergeUtility.merge(catalogs);
        }
    }

    public ExtensionCatalog resolveExtensionCatalog() throws RegistryResolutionException {

        ensureRegistriesConfigured();

        final ExtensionCatalogBuilder catalogBuilder = new ExtensionCatalogBuilder();

        for (var registry : registries) {
            collectPlatformExtensions(catalogBuilder, registry);
        }

        return catalogBuilder.build();
    }

View on GitHub (pinned to e1c734241f)

Solutions

  1. Test connectivity to each registry id listed in the message
  2. Verify the requested Quarkus core version/stream is published by at least one registry
  3. Correct registry URLs in the registry client configuration
  4. Work offline with a cached/local registry if network is the blocker

Example fix

// before: unreachable registries
<url>https://internal-registry.corp.local</url>
// after: reachable registry added
<url>https://registry.quarkus.io</url>
Defensive patterns

Strategy: retry

Validate before calling

// Pre-check all configured registry endpoints
for (String url : registryUrls) { /* expect HTTP 2xx from url */ }

Try / catch

try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.warn("All registries empty/unreachable: " + e.getMessage()); /* retry after connectivity check */ }

Prevention

When it happens

Trigger: ExtensionCatalogBuilder.build() with catalogs empty and registries.size() > 1 during resolveExtensionCatalog / resolveExtensionCatalogForStream.

Common situations: All configured registries unreachable (offline, proxy/firewall); requested Quarkus core version not available in any registry; registries misconfigured with wrong URLs; wide outage of registry endpoints.

Related errors


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