Skip to content

Commit 140ccae

Browse files
committed
Update ack to query param
1 parent 223c52c commit 140ccae

5 files changed

Lines changed: 18 additions & 44 deletions

File tree

SingularityBase/src/main/java/com/hubspot/singularity/SingularityRequest.java

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ public class SingularityRequest {
5252
private final Optional<Double> taskPriorityLevel;
5353
private final Optional<Integer> maxTasksPerOffer;
5454
private final Optional<Boolean> allowBounceToSameHost;
55-
private final Optional<Boolean> largeScaleDownAcknowledged;
5655

5756
@Deprecated
5857
private final Optional<String> dataCenter;
@@ -127,10 +126,7 @@ public SingularityRequest(
127126
@JsonProperty(
128127
"agentAttributeMinimums"
129128
) Optional<Map<String, Map<String, Integer>>> agentAttributeMinimums,
130-
@JsonProperty("agentPlacement") Optional<AgentPlacement> agentPlacement,
131-
@JsonProperty(
132-
"largeScaleDownAcknowledged"
133-
) Optional<Boolean> largeScaleDownAcknowledged
129+
@JsonProperty("agentPlacement") Optional<AgentPlacement> agentPlacement
134130
) {
135131
this.id = checkNotNull(id, "id cannot be null");
136132
this.owners = owners;
@@ -183,7 +179,6 @@ public SingularityRequest(
183179
this.requestType = requestType;
184180
}
185181
this.dataCenter = dataCenter;
186-
this.largeScaleDownAcknowledged = largeScaleDownAcknowledged;
187182
}
188183

189184
public SingularityRequestBuilder toBuilder() {
@@ -579,14 +574,6 @@ public Optional<Double> getTaskPriorityLevel() {
579574
return taskPriorityLevel;
580575
}
581576

582-
@Schema(
583-
nullable = true,
584-
description = "Whether a user acknowledged that a change in scale is large"
585-
)
586-
public Boolean getLargeScaleDownAcknowledged() {
587-
return largeScaleDownAcknowledged.orElse(false);
588-
}
589-
590577
@Deprecated
591578
@Schema(nullable = true, description = "the data center associated with this request")
592579
public Optional<String> getDataCenter() {
@@ -650,7 +637,6 @@ public boolean equals(Object o) {
650637
Objects.equals(taskPriorityLevel, that.taskPriorityLevel) &&
651638
Objects.equals(maxTasksPerOffer, that.maxTasksPerOffer) &&
652639
Objects.equals(allowBounceToSameHost, that.allowBounceToSameHost) &&
653-
Objects.equals(largeScaleDownAcknowledged, that.largeScaleDownAcknowledged) &&
654640
Objects.equals(dataCenter, that.dataCenter)
655641
);
656642
}
@@ -772,8 +758,6 @@ public String toString() {
772758
maxTasksPerOffer +
773759
", allowBounceToSameHost=" +
774760
allowBounceToSameHost +
775-
", largeScaleDownAcknowledged=" +
776-
largeScaleDownAcknowledged +
777761
", dataCenter=" +
778762
dataCenter +
779763
'}'

SingularityBase/src/main/java/com/hubspot/singularity/SingularityRequestBuilder.java

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ public class SingularityRequestBuilder {
5252
private Optional<Double> taskPriorityLevel;
5353
private Optional<Integer> maxTasksPerOffer;
5454
private Optional<Boolean> allowBounceToSameHost;
55-
private Optional<Boolean> largeScaleDownAcknowledged;
5655

5756
@Deprecated
5857
private Optional<String> dataCenter;
@@ -94,7 +93,6 @@ public SingularityRequestBuilder(String id, RequestType requestType) {
9493
this.allowBounceToSameHost = Optional.empty();
9594
this.requiredRole = Optional.empty();
9695
this.dataCenter = Optional.empty();
97-
this.largeScaleDownAcknowledged = Optional.of(false);
9896
}
9997

10098
public SingularityRequest build() {
@@ -139,8 +137,7 @@ public SingularityRequest build() {
139137
requiredAgentAttributes,
140138
allowedAgentAttributes,
141139
agentAttributeMinimums,
142-
agentPlacement,
143-
largeScaleDownAcknowledged
140+
agentPlacement
144141
);
145142
}
146143

@@ -525,17 +522,6 @@ public SingularityRequestBuilder setAllowBounceToSameHost(
525522
return this;
526523
}
527524

528-
public Optional<Boolean> getLargeScaleDownAcknowledged() {
529-
return largeScaleDownAcknowledged;
530-
}
531-
532-
public SingularityRequestBuilder setLargeScaleDownAcknowledged(
533-
Optional<Boolean> largeScaleDownAcknowledged
534-
) {
535-
this.largeScaleDownAcknowledged = largeScaleDownAcknowledged;
536-
return this;
537-
}
538-
539525
@Deprecated
540526
public Optional<String> getDataCenter() {
541527
return dataCenter;
@@ -604,7 +590,6 @@ public boolean equals(Object o) {
604590
Objects.equals(taskPriorityLevel, that.taskPriorityLevel) &&
605591
Objects.equals(maxTasksPerOffer, that.maxTasksPerOffer) &&
606592
Objects.equals(allowBounceToSameHost, that.allowBounceToSameHost) &&
607-
Objects.equals(largeScaleDownAcknowledged, that.largeScaleDownAcknowledged) &&
608593
Objects.equals(dataCenter, that.dataCenter)
609594
);
610595
}
@@ -647,7 +632,6 @@ public int hashCode() {
647632
taskPriorityLevel,
648633
maxTasksPerOffer,
649634
allowBounceToSameHost,
650-
largeScaleDownAcknowledged,
651635
dataCenter
652636
);
653637
}
@@ -727,8 +711,6 @@ public String toString() {
727711
maxTasksPerOffer +
728712
", allowBounceToSameHost=" +
729713
allowBounceToSameHost +
730-
", largeScaleDownAcknowledged=" +
731-
largeScaleDownAcknowledged +
732714
", dataCenter=" +
733715
dataCenter +
734716
'}'

SingularityService/src/main/java/com/hubspot/singularity/data/SingularityValidator.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,7 +1209,11 @@ private boolean isAllowBounceToSameHost(SingularityRequest request) {
12091209
}
12101210
}
12111211

1212-
public void checkScale(SingularityRequest request, Optional<Integer> previousScale) {
1212+
public void checkScale(
1213+
SingularityRequest request,
1214+
Optional<Integer> previousScale,
1215+
Boolean largeScaleDownAcknowledged
1216+
) {
12131217
AgentPlacement placement = request.getAgentPlacement().orElse(defaultAgentPlacement);
12141218

12151219
if (placement != AgentPlacement.GREEDY && placement != AgentPlacement.OPTIMISTIC) {
@@ -1240,7 +1244,7 @@ public void checkScale(SingularityRequest request, Optional<Integer> previousSca
12401244
}
12411245
}
12421246

1243-
if (previousScale.isPresent() && !request.getLargeScaleDownAcknowledged()) {
1247+
if (previousScale.isPresent() && !largeScaleDownAcknowledged) {
12441248
int absMaxScaleDown = singularityConfiguration.getMaxScaleDownWithoutAcknowledgement();
12451249
boolean scaleDownExceedsAbsoluteMax =
12461250
previousScale.get() - request.getInstancesSafe() > absMaxScaleDown;

SingularityService/src/main/java/com/hubspot/singularity/resources/DeployResource.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import javax.ws.rs.Path;
5757
import javax.ws.rs.PathParam;
5858
import javax.ws.rs.Produces;
59+
import javax.ws.rs.QueryParam;
5960
import javax.ws.rs.core.Context;
6061
import javax.ws.rs.core.MediaType;
6162
import org.apache.curator.framework.recipes.leader.LeaderLatch;
@@ -131,19 +132,21 @@ public SingularityRequestParent deploy(
131132
@RequestBody(
132133
required = true,
133134
description = "Deploy data"
134-
) SingularityDeployRequest deployRequest
135+
) SingularityDeployRequest deployRequest,
136+
@QueryParam("largeScaleDownAcknowledged") Boolean largeScaleDownAcknowledged
135137
) {
136138
return maybeProxyToLeader(
137139
requestContext,
138140
SingularityRequestParent.class,
139141
deployRequest,
140-
() -> deploy(deployRequest, user)
142+
() -> deploy(deployRequest, user, largeScaleDownAcknowledged)
141143
);
142144
}
143145

144146
public SingularityRequestParent deploy(
145147
SingularityDeployRequest deployRequest,
146-
SingularityUser user
148+
SingularityUser user,
149+
Boolean largeScaleDownAcknowledged
147150
) {
148151
validator.checkActionEnabled(SingularityAction.DEPLOY);
149152
SingularityDeploy deploy = deployRequest.getDeploy();
@@ -197,7 +200,8 @@ public SingularityRequestParent deploy(
197200

198201
validator.checkScale(
199202
request,
200-
Optional.of(taskManager.getActiveTaskIdsForRequest(request.getId()).size())
203+
Optional.of(taskManager.getActiveTaskIdsForRequest(request.getId()).size()),
204+
largeScaleDownAcknowledged
201205
);
202206

203207
if (

SingularityService/src/main/java/com/hubspot/singularity/resources/RequestResource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ private void submitRequest(
228228
!oldRequest.isPresent() ||
229229
!(oldRequest.get().getInstancesSafe() == request.getInstancesSafe())
230230
) {
231-
validator.checkScale(request, Optional.empty());
231+
validator.checkScale(request, Optional.empty(), false);
232232
}
233233

234234
authorizationHelper.checkForAuthorization(
@@ -1808,7 +1808,7 @@ public SingularityRequestParent scale(
18081808
.toBuilder()
18091809
.setInstances(scaleRequest.getInstances())
18101810
.build();
1811-
validator.checkScale(newRequest, Optional.<Integer>empty());
1811+
validator.checkScale(newRequest, Optional.<Integer>empty(), false);
18121812

18131813
checkBadRequest(
18141814
oldRequest.getInstancesSafe() != newRequest.getInstancesSafe(),

0 commit comments

Comments
 (0)