aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2023-05-22 14:58:15 +0200
committerGitHub <noreply@github.com>2023-05-22 14:58:15 +0200
commit38601194dc7ece53e180005f10f26c3858956ce6 (patch)
tree1d7c655bcadbb2f15964cf5d7c70c95bbf862e09 /configserver
parent122c0fe9496ea4004d33694174f4251eb1e5b446 (diff)
parente8028eba6ecc43cf4e5ab22a6c838becc9581792 (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')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployNodeAllocationTest.java24
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();
}