{"record":{"id":"9741a4c6ad9dd837","repo":"quarkusio/quarkus","slug":"failed-to-locate-registryid-among-the-configure","errorCode":null,"errorMessage":"Failed to locate ${registryId} among the configured registries: ${registryIds}","messagePattern":"Failed to locate (.+?) among the configured registries: (.+?)","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java","lineNumber":320,"sourceCode":"        return getRegistryExtensionResolver(registryId).resolvePlatformCatalog();\n    }\n\n    public PlatformCatalog resolvePlatformCatalogFromRegistry(String registryId, String quarkusVersion)\n            throws RegistryResolutionException {\n        return quarkusVersion == null ? resolvePlatformCatalogFromRegistry(registryId)\n                : getRegistryExtensionResolver(registryId).resolvePlatformCatalog(quarkusVersion);\n    }\n\n    private RegistryExtensionResolver getRegistryExtensionResolver(String registryId) {\n        for (var registryExtResolver : registries) {\n            if (registryExtResolver.getId().equals(registryId)) {\n                return registryExtResolver;\n            }\n        }\n        final StringBuilder buf = new StringBuilder();\n        buf.append(\"Failed to locate \").append(registryId).append(\" among the configured registries:\");\n        registries.forEach(r -> buf.append(\" \").append(r.getId()));\n        throw new IllegalStateException(buf.toString());\n    }\n\n    private class ExtensionCatalogBuilder {\n        private final List<ExtensionCatalog.Mutable> catalogs = new ArrayList<>();\n        final Map<String, List<RegistryExtensionResolver>> registriesByQuarkusCore = new HashMap<>();\n        private final Map<String, Integer> compatibilityCodes = new LinkedHashMap<>();\n        final List<String> upstreamQuarkusVersions = new ArrayList<>(1);\n        final PlatformPreferenceIndex platformPreferenceIndex = new PlatformPreferenceIndex();\n        final List<String> registryPreferenceIndex = new ArrayList<>(2);\n\n        int getRegistryPreferenceIndex(String registryId) {\n            for (int i = 0; i < registryPreferenceIndex.size(); ++i) {\n                if (registryPreferenceIndex.get(i).equals(registryId)) {\n                    return i;\n                }\n            }\n            registryPreferenceIndex.add(registryId);\n            return registryPreferenceIndex.size() - 1;","sourceCodeStart":302,"sourceCodeEnd":338,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java#L302-L338","documentation":"Thrown as IllegalStateException by getRegistryExtensionResolver when a registry id passed to a per-registry catalog lookup does not match any of the registries configured in the resolver. The message lists all configured registry ids to help identify the mismatch.","triggerScenarios":"resolvePlatformCatalogFromRegistry (or similar) called with a registryId that is absent from ExtensionCatalogResolver.this.registries after configuration processing.","commonSituations":"Typo in registry id in tooling/API call; registry id renamed in the client config; registry filtered out (disabled) so it is no longer in the configured list; stale scripts referencing old registry names.","solutions":["Compare the requested registryId with the ids listed in the error message","Fix the registry id in the calling code/config (including quarkus.registry.<id>.id settings in settings.xml)","Ensure the registry is enabled and not excluded from the registry client configuration"],"exampleFix":"// before\nresolver.resolvePlatformCatalogFromRegistry(\"registry.quarkus.io\", bom);\n// after (id matching the configured registry)\nresolver.resolvePlatformCatalogFromRegistry(\"registry.quarkus.redhat.com\", bom);","handlingStrategy":"validation","validationCode":"boolean known = resolver.getRegistries().stream().anyMatch(r -> r.getId().equals(registryId));\nif (!known) throw new IllegalArgumentException(\"Unknown registry: \" + registryId);","typeGuard":null,"tryCatchPattern":"try { resolver.resolvePlatformCatalogFromRegistry(registryId, bom); } catch (IllegalStateException e) { log.error(\"Registry id mismatch: \" + e.getMessage()); throw e; }","preventionTips":["Derive registry ids from configuration instead of hardcoding strings","Keep registry ids in sync between tooling and registry client config","Document canonical registry ids for your organization","Validate ids against the configured list before calls"],"tags":["configuration","registry-client"],"backgroundTag":"unknown-registry-id","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"}