quarkusio/quarkus · error · RegistryResolutionException
Quarkus extension registries ${registryIds} did not provide
Error message
Quarkus extension registries ${registryIds} did not provide any extension catalog What it means
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.
Source
Thrown at independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java:411
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 {
ensureRegistriesConfigured();
final ExtensionCatalogBuilder catalogBuilder = new ExtensionCatalogBuilder();
for (var registry : registries) {
collectPlatformExtensions(catalogBuilder, registry);
}
return catalogBuilder.build();
}View on GitHub (pinned to e1c734241f)
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
Example fix
// before: unreachable registries <url>https://internal-registry.corp.local</url> // after: reachable registry added <url>https://registry.quarkus.io</url>
Defensive patterns
Strategy: retry
Validate before calling
// Pre-check all configured registry endpoints
for (String url : registryUrls) { /* expect HTTP 2xx from url */ } Try / catch
try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.warn("All registries empty/unreachable: " + e.getMessage()); /* retry after connectivity check */ } Prevention
- 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
When it happens
Trigger: ExtensionCatalogBuilder.build() with catalogs empty and registries.size() > 1 during resolveExtensionCatalog / resolveExtensionCatalogForStream.
Common situations: 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.
Related errors
- Quarkus extension registry ${registryId} did not provide any
- 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/f79b417b14c9e165.
Report an issue: GitHub.