From a0a5b2d3c7cb9319590821bb1beb824dc25d1b89 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Mon, 7 Nov 2022 15:08:46 +0100 Subject: Revert "Jonmv/reapply app streams" --- .../api/application/v4/model/DeploymentData.java | 41 ++++++++++------------ .../integration/deployment/ApplicationStore.java | 25 ++----------- 2 files changed, 20 insertions(+), 46 deletions(-) (limited to 'controller-api/src/main/java/com') diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java index 63c744c385d..d3331c3cfd4 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java @@ -12,14 +12,12 @@ import com.yahoo.vespa.hosted.controller.api.integration.billing.Quota; import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateMetadata; import com.yahoo.vespa.hosted.controller.api.integration.configserver.ContainerEndpoint; import com.yahoo.vespa.hosted.controller.api.integration.secrets.TenantSecretStore; -import com.yahoo.yolean.concurrent.Memoized; -import java.io.InputStream; import java.security.cert.X509Certificate; import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.function.Supplier; import static java.util.Objects.requireNonNull; @@ -34,41 +32,40 @@ public class DeploymentData { private final ApplicationId instance; private final Tags tags; private final ZoneId zone; - private final Supplier applicationPackage; + private final byte[] applicationPackage; private final Version platform; private final Set containerEndpoints; - private final Supplier> endpointCertificateMetadata; + private final Optional endpointCertificateMetadata; private final Optional dockerImageRepo; private final Optional athenzDomain; - private final Supplier quota; + private final Quota quota; private final List tenantSecretStores; private final List operatorCertificates; - private final Supplier> cloudAccount; + private final Optional cloudAccount; private final boolean dryRun; - public DeploymentData(ApplicationId instance, Tags tags, ZoneId zone, Supplier applicationPackage, Version platform, + public DeploymentData(ApplicationId instance, Tags tags, ZoneId zone, byte[] applicationPackage, Version platform, Set containerEndpoints, - Supplier> endpointCertificateMetadata, + Optional endpointCertificateMetadata, Optional dockerImageRepo, Optional athenzDomain, - Supplier quota, + Quota quota, List tenantSecretStores, List operatorCertificates, - Supplier> cloudAccount, - boolean dryRun) { + Optional cloudAccount, boolean dryRun) { this.instance = requireNonNull(instance); this.tags = requireNonNull(tags); this.zone = requireNonNull(zone); this.applicationPackage = requireNonNull(applicationPackage); this.platform = requireNonNull(platform); this.containerEndpoints = Set.copyOf(requireNonNull(containerEndpoints)); - this.endpointCertificateMetadata = new Memoized<>(requireNonNull(endpointCertificateMetadata)); + this.endpointCertificateMetadata = requireNonNull(endpointCertificateMetadata); this.dockerImageRepo = requireNonNull(dockerImageRepo); this.athenzDomain = athenzDomain; - this.quota = new Memoized<>(requireNonNull(quota)); + this.quota = quota; this.tenantSecretStores = List.copyOf(requireNonNull(tenantSecretStores)); this.operatorCertificates = List.copyOf(requireNonNull(operatorCertificates)); - this.cloudAccount = new Memoized<>(requireNonNull(cloudAccount)); + this.cloudAccount = Objects.requireNonNull(cloudAccount); this.dryRun = dryRun; } @@ -82,8 +79,8 @@ public class DeploymentData { return zone; } - public InputStream applicationPackage() { - return applicationPackage.get(); + public byte[] applicationPackage() { + return applicationPackage; } public Version platform() { @@ -95,7 +92,7 @@ public class DeploymentData { } public Optional endpointCertificateMetadata() { - return endpointCertificateMetadata.get(); + return endpointCertificateMetadata; } public Optional dockerImageRepo() { @@ -107,7 +104,7 @@ public class DeploymentData { } public Quota quota() { - return quota.get(); + return quota; } public List tenantSecretStores() { @@ -119,11 +116,9 @@ public class DeploymentData { } public Optional cloudAccount() { - return cloudAccount.get(); + return cloudAccount; } - public boolean isDryRun() { - return dryRun; - } + public boolean isDryRun() { return dryRun; } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java index 71ec07bc2e6..c4db0de539e 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java @@ -5,9 +5,6 @@ import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.TenantName; import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId; -import java.io.IOException; -import java.io.InputStream; -import java.io.UncheckedIOException; import java.time.Instant; import java.util.Optional; @@ -20,16 +17,7 @@ import java.util.Optional; public interface ApplicationStore { /** Returns the application package of the given revision. */ - default byte[] get(DeploymentId deploymentId, RevisionId revisionId) { - try (InputStream stream = stream(deploymentId, revisionId)) { - return stream.readAllBytes(); - } - catch (IOException e) { - throw new UncheckedIOException(e); - } - } - - InputStream stream(DeploymentId deploymentId, RevisionId revisionId); + byte[] get(DeploymentId deploymentId, RevisionId revisionId); /** Returns the application package diff, compared to the previous build, for the given tenant, application and build number */ Optional getDiff(TenantName tenantName, ApplicationName applicationName, long buildNumber); @@ -55,16 +43,7 @@ public interface ApplicationStore { void removeAll(TenantName tenant, ApplicationName application); /** Returns the tester application package of the given revision. Does NOT contain the services.xml. */ - default byte[] getTester(TenantName tenant, ApplicationName application, RevisionId revision) { - try (InputStream stream = streamTester(tenant, application, revision)) { - return stream.readAllBytes(); - } - catch (IOException e) { - throw new UncheckedIOException(e); - } - } - - InputStream streamTester(TenantName tenantName, ApplicationName applicationName, RevisionId revision); + byte[] getTester(TenantName tenant, ApplicationName application, RevisionId revision); /** Returns the application package diff, compared to the previous build, for the given deployment and build number */ Optional getDevDiff(DeploymentId deploymentId, long buildNumber); -- cgit v1.2.3