diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2023-05-22 14:58:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-22 14:58:15 +0200 |
commit | 38601194dc7ece53e180005f10f26c3858956ce6 (patch) | |
tree | 1d7c655bcadbb2f15964cf5d7c70c95bbf862e09 /configserver | |
parent | 122c0fe9496ea4004d33694174f4251eb1e5b446 (diff) | |
parent | e8028eba6ecc43cf4e5ab22a6c838becc9581792 (diff) |
Merge pull request #27168 from vespa-engine/revert-27163-hmusum/throw-new-exception-when-quota-is-exceeded
Revert "Use another exception and error in response when quota is exceed"
Diffstat (limited to 'configserver')
4 files changed, 2 insertions, 35 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java index c87d77eaf07..3b5269cdf11 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java @@ -53,8 +53,7 @@ public class HttpErrorResponse extends HttpResponse { LOAD_BALANCER_NOT_READY, CONFIG_NOT_CONVERGED, REINDEXING_STATUS_UNAVAILABLE, - PRECONDITION_FAILED, - QUOTA_EXCEEDED + PRECONDITION_FAILED } public static HttpErrorResponse notFoundError(String msg) { @@ -121,10 +120,6 @@ public class HttpErrorResponse extends HttpResponse { return new HttpErrorResponse(PRECONDITION_FAILED, ErrorCode.PRECONDITION_FAILED.name(), msg); } - public static HttpResponse quotaExceeded(String msg) { - return new HttpErrorResponse(BAD_REQUEST, ErrorCode.QUOTA_EXCEEDED.name(), msg); - } - @Override public void render(OutputStream stream) throws IOException { new JsonFormat(true).encode(stream, slime); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java index 58651af54f3..a0e814f32d8 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java @@ -5,7 +5,6 @@ import com.yahoo.config.provision.ApplicationLockException; import com.yahoo.config.provision.CertificateNotReadyException; import com.yahoo.config.provision.NodeAllocationException; import com.yahoo.config.provision.ParentHostUnavailableException; -import com.yahoo.config.provision.QuotaExceededException; import com.yahoo.config.provision.exception.ActivationConflictException; import com.yahoo.config.provision.exception.LoadBalancerServiceException; import com.yahoo.container.jdisc.HttpRequest; @@ -74,8 +73,6 @@ public class HttpHandler extends ThreadedHttpRequestHandler { return HttpErrorResponse.reindexingStatusUnavailable(getMessage(e, request)); } catch (PreconditionFailedException e) { return HttpErrorResponse.preconditionFailed(getMessage(e, request)); - } catch (QuotaExceededException e) { - return HttpErrorResponse.quotaExceeded(getMessage(e, request)); } catch (Exception e) { log.log(Level.WARNING, "Unexpected exception handling a config server request", e); return HttpErrorResponse.internalServerError(getMessage(e, request)); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java index 4faa475fa08..bd1837707d9 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java @@ -14,7 +14,6 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationLockException; import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.NodeAllocationException; -import com.yahoo.config.provision.QuotaExceededException; import com.yahoo.config.provision.TransientException; import com.yahoo.config.provision.Zone; import com.yahoo.vespa.config.server.http.InternalServerException; @@ -123,7 +122,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> { buildLatestModelForThisMajor, majorVersion)); buildLatestModelForThisMajor = false; // We have successfully built latest model version, do it only for this major } - catch (NodeAllocationException | ApplicationLockException | TransientException | QuotaExceededException e) { + catch (NodeAllocationException | ApplicationLockException | TransientException e) { // Don't wrap this exception, and don't try to load other model versions as this is (most likely) // caused by the state of the system, not the model version/application combination throw e; diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployNodeAllocationTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployNodeAllocationTest.java index e9dca44ed81..e546569b255 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployNodeAllocationTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployNodeAllocationTest.java @@ -4,17 +4,14 @@ package com.yahoo.vespa.config.server.deploy; import com.yahoo.component.Version; import com.yahoo.config.model.api.HostProvisioner; import com.yahoo.config.model.api.ModelFactory; -import com.yahoo.config.model.api.Quota; import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.ProvisionLogger; -import com.yahoo.config.provision.QuotaExceededException; import com.yahoo.config.provision.Zone; import com.yahoo.vespa.config.server.MockProvisioner; -import com.yahoo.vespa.config.server.session.PrepareParams; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -27,7 +24,6 @@ import java.util.stream.Collectors; import static com.yahoo.vespa.config.server.deploy.DeployTester.createHostedModelFactory; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; public class HostedDeployNodeAllocationTest { @@ -54,26 +50,6 @@ public class HostedDeployNodeAllocationTest { assertEquals(resources(2), get("host4", hosts).advertisedResources()); } - @Test - public void testExceedsQuota() { - List<ModelFactory> modelFactories = List.of(createHostedModelFactory(Version.fromString("7.2")), - createHostedModelFactory(Version.fromString("7.3"))); - var provisioner = new VersionProvisioner(); - DeployTester tester = new DeployTester.Builder(temporaryFolder).modelFactories(modelFactories) - .provisioner(new MockProvisioner().hostProvisioner(provisioner)) - .hostedConfigserverConfig(Zone.defaultZone()) - .build(); - - try { - tester.deployApp("src/test/apps/hosted/", new PrepareParams.Builder() - .vespaVersion("7.3") - .quota(new Quota(Optional.of(4), Optional.of(0)))); - fail("Expected to get a QuotaExceededException"); - } catch (QuotaExceededException e) { - assertEquals("main: The resources used cost $1.02 but your quota is $0.00: Contact support to upgrade your plan.", e.getMessage()); - } - } - private HostSpec get(String hostname, Set<HostSpec> hosts) { return hosts.stream().filter(host -> host.hostname().equals(hostname)).findAny().orElseThrow(); } |