{"record":{"id":"7470877d66380ca0","repo":"quarkusio/quarkus","slug":"quarkus-extension-registry-registryid-did-not-p","errorCode":null,"errorMessage":"Quarkus extension registry ${registryId} did not provide any extension catalog","messagePattern":"Quarkus extension registry (.+?) 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":401,"sourceCode":"        void addUpstreamExtensionCatalogs(String quarkusCoreVersion, Set<String> processedPlatformKeys)\n                throws RegistryResolutionException {\n            collectPlatformExtensions(quarkusCoreVersion, this, processedPlatformKeys);\n            int i = 0;\n            while (i < upstreamQuarkusVersions.size()) {\n                collectPlatformExtensions(upstreamQuarkusVersions.get(i++), this, processedPlatformKeys);\n            }\n            upstreamQuarkusVersions.clear();\n        }\n\n        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","sourceCodeStart":383,"sourceCodeEnd":419,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java#L383-L419","documentation":"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.","triggerScenarios":"ExtensionCatalogBuilder.build() with catalogs empty, registries.size()==1: resolveExtensionCatalog or resolveExtensionCatalogForStream consulted the single registry and got no catalog for the requested criteria.","commonSituations":"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.","solutions":["Check the registry URL is reachable (curl the registry's catalog endpoints)","Verify the requested Quarkus version/stream exists in that registry","Review earlier logged warnings from the resolver about the registry's responses","Switch to or add another registry that hosts the needed catalog"],"exampleFix":"// before\n<url>https://registry.quarkus.example.invalid</url>\n// after\n<url>https://registry.quarkus.io</url>","handlingStrategy":"try-catch","validationCode":"// Check reachability of the single registry\nHttpRequest req = HttpRequest.newBuilder(URI.create(registryUrl + \"/maven/catalog\")).build();\n// expect HTTP 200 before resolving","typeGuard":null,"tryCatchPattern":"try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.warn(\"Registry returned no catalog; check \" + e.getMessage(), e); }","preventionTips":["Verify the registry URL responds before running resolution","Confirm target Quarkus versions are published in that registry","Monitor registry availability in CI","Keep a fallback registry configured"],"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"}