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
- 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
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
- 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
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
- Quarkus extension registries ${registryIds} did not provide
- Quarkus extension registry is not available
- Failed to resolve extension catalog of ${bomCoords} from ${r
- Failed to parse CIDR address "${value}"
- Unable to resolve "${value}"
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/7470877d66380ca0.
Report an issue: GitHub.