quarkusio/quarkus · error · RegistryResolutionException

Quarkus extension registry ${registryId} did not provide any

Error message

Quarkus extension registry ${registryId} did not provide any extension catalog

What it means

A RegistryResolutionException thrown when exactly one registry is configured but it returned an empty/no extension catalog. The registry id is included in the message so the specific registry can be investigated.

Source

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

        void addUpstreamExtensionCatalogs(String quarkusCoreVersion, Set<String> processedPlatformKeys)
                throws RegistryResolutionException {
            collectPlatformExtensions(quarkusCoreVersion, this, processedPlatformKeys);
            int i = 0;
            while (i < upstreamQuarkusVersions.size()) {
                collectPlatformExtensions(upstreamQuarkusVersions.get(i++), this, processedPlatformKeys);
            }
            upstreamQuarkusVersions.clear();
        }

        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 {

View on GitHub (pinned to e1c734241f)

Solutions

  1. Check the registry URL is reachable (curl the registry's catalog endpoints)
  2. Verify the requested Quarkus version/stream exists in that registry
  3. Review earlier logged warnings from the resolver about the registry's responses
  4. Switch to or add another registry that hosts the needed catalog

Example fix

// before
<url>https://registry.quarkus.example.invalid</url>
// after
<url>https://registry.quarkus.io</url>
Defensive patterns

Strategy: try-catch

Validate before calling

// Check reachability of the single registry
HttpRequest req = HttpRequest.newBuilder(URI.create(registryUrl + "/maven/catalog")).build();
// expect HTTP 200 before resolving

Try / catch

try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.warn("Registry returned no catalog; check " + e.getMessage(), e); }

Prevention

When it happens

Trigger: ExtensionCatalogBuilder.build() with catalogs empty, registries.size()==1: resolveExtensionCatalog or resolveExtensionCatalogForStream consulted the single registry and got no catalog for the requested criteria.

Common situations: Registry server unreachable and resolver silently got nothing; requested Quarkus core version/stream not published by the registry; registry metadata misconfigured (wrong URL); registry returned an empty catalog due to a server-side issue.

Related errors


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