diff options
author | Morten Tokle <mortent@yahooinc.com> | 2023-12-13 14:48:50 +0100 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2023-12-13 14:48:50 +0100 |
commit | 83d0e649b2c77283f5be3abac4bd3296d6f46f9a (patch) | |
tree | 32b81b383d7c7f1462df9a89bacdb2eb4a0905ec /configserver/src/main | |
parent | 99fa6a5014a164c8c158c7bcb4cc3554e320f936 (diff) |
Propagate more useful error message to vespa log
Diffstat (limited to 'configserver/src/main')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/tenant/SecretStoreExternalIdRetriever.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/SecretStoreExternalIdRetriever.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/SecretStoreExternalIdRetriever.java index 5afb2188fac..c6f9a0268c1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/SecretStoreExternalIdRetriever.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/SecretStoreExternalIdRetriever.java @@ -4,7 +4,10 @@ package com.yahoo.vespa.config.server.tenant; import com.yahoo.config.model.api.TenantSecretStore; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.TenantName; +import com.yahoo.container.jdisc.secretstore.SecretNotFoundException; import com.yahoo.container.jdisc.secretstore.SecretStore; +import com.yahoo.vespa.config.server.http.InvalidApplicationException; + import java.util.List; import java.util.stream.Collectors; @@ -19,10 +22,14 @@ public class SecretStoreExternalIdRetriever { return tenantSecretStores.stream() .map(tenantSecretStore -> { var secretName = secretName(tenant, system, tenantSecretStore.getName()); - String secret = secretStore.getSecret(secretName); - if (secret == null) - throw new RuntimeException("No secret found in secret store for " + secretName); - return tenantSecretStore.withExternalId(secret); + try { + String secret = secretStore.getSecret(secretName); + if (secret == null) + throw new InvalidApplicationException("No secret found in secret store for " + secretName); + return tenantSecretStore.withExternalId(secret); + } catch (SecretNotFoundException e) { + throw new InvalidApplicationException("Could not find externalId for secret store: %s".formatted(tenantSecretStore.getName())); + } }) .toList(); } |