{"record":{"id":"f79b417b14c9e165","repo":"quarkusio/quarkus","slug":"quarkus-extension-registries-registryids-did-no","errorCode":null,"errorMessage":"Quarkus extension registries ${registryIds} did not provide any extension catalog","messagePattern":"Quarkus extension registries (.+?) did not provide any extension catalog","errorType":"exception","errorClass":"RegistryResolutionException","httpStatus":null,"severity":"error","filePath":"independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java","lineNumber":411,"sourceCode":"        ExtensionCatalog build() throws RegistryResolutionException {\n            appendAllNonPlatformExtensions();\n            if (catalogs.isEmpty()) {\n                final List<RegistryExtensionResolver> registries = ExtensionCatalogResolver.this.registries;\n                if (registries.isEmpty()) {\n                    throw new RegistryResolutionException(\"Quarkus extension registry is not available\");\n                }\n                if (registries.size() == 1) {\n                    throw new RegistryResolutionException(\"Quarkus extension registry \" + registries.get(0).getId()\n                            + \" did not provide any extension catalog\");\n                }\n                final StringBuilder buf = new StringBuilder();\n                buf.append(\"Quarkus extension registries \");\n                buf.append(registries.get(0).getId());\n                for (int i = 1; i < registries.size(); ++i) {\n                    buf.append(\", \").append(registries.get(i).getId());\n                }\n                buf.append(\" did not provide any extension catalog\");\n                throw new RegistryResolutionException(buf.toString());\n            }\n\n            return CatalogMergeUtility.merge(catalogs);\n        }\n    }\n\n    public ExtensionCatalog resolveExtensionCatalog() throws RegistryResolutionException {\n\n        ensureRegistriesConfigured();\n\n        final ExtensionCatalogBuilder catalogBuilder = new ExtensionCatalogBuilder();\n\n        for (var registry : registries) {\n            collectPlatformExtensions(catalogBuilder, registry);\n        }\n\n        return catalogBuilder.build();\n    }","sourceCodeStart":393,"sourceCodeEnd":429,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java#L393-L429","documentation":"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.","triggerScenarios":"ExtensionCatalogBuilder.build() with catalogs empty and registries.size() > 1 during resolveExtensionCatalog / resolveExtensionCatalogForStream.","commonSituations":"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.","solutions":["Test connectivity to each registry id listed in the message","Verify the requested Quarkus core version/stream is published by at least one registry","Correct registry URLs in the registry client configuration","Work offline with a cached/local registry if network is the blocker"],"exampleFix":"// before: unreachable registries\n<url>https://internal-registry.corp.local</url>\n// after: reachable registry added\n<url>https://registry.quarkus.io</url>","handlingStrategy":"retry","validationCode":"// Pre-check all configured registry endpoints\nfor (String url : registryUrls) { /* expect HTTP 2xx from url */ }","typeGuard":null,"tryCatchPattern":"try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.warn(\"All registries empty/unreachable: \" + e.getMessage()); /* retry after connectivity check */ }","preventionTips":["Add multiple independent registries for redundancy","Check corporate proxy settings for registry hosts","Pin platform versions known to exist in configured registries","Alert on registry endpoint health"],"tags":["registry-client","network","empty-catalog"],"backgroundTag":"empty-registry-catalog","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}