File tree Expand file tree Collapse file tree
main/java/com/hubspot/singularity
test/java/com/hubspot/singularity/data Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2136,7 +2136,7 @@ public boolean allowEmptyRequestInstances() {
21362136 return allowEmptyRequestInstances ;
21372137 }
21382138
2139- public void setallowEmptyRequestInstances (boolean allowEmptyRequestInstances ) {
2139+ public void setAllowEmptyRequestInstances (boolean allowEmptyRequestInstances ) {
21402140 this .allowEmptyRequestInstances = allowEmptyRequestInstances ;
21412141 }
21422142}
Original file line number Diff line number Diff line change @@ -231,16 +231,12 @@ public SingularityRequest checkSingularityRequest(
231231 request .getId ()
232232 );
233233
234- if (singularityConfiguration .allowEmptyRequestInstances ()) {
235- checkBadRequest (
236- (
237- !existingRequest .flatMap (SingularityRequest ::getInstances ).isPresent () &&
238- !request .getInstances ().isPresent ()
239- ) ||
240- request .getInstances ().get () > 0 ,
241- "Instances must be greater than 0"
242- );
234+ checkBadRequest (
235+ !request .getInstances ().isPresent () || request .getInstances ().get () > 0 ,
236+ "Instances must be greater than 0"
237+ );
243238
239+ if (singularityConfiguration .allowEmptyRequestInstances ()) {
244240 if (
245241 (
246242 request .getRequestType ().equals (RequestType .SERVICE ) ||
@@ -252,11 +248,6 @@ public SingularityRequest checkSingularityRequest(
252248 request =
253249 request .toBuilder ().setInstances (existingRequest .get ().getInstances ()).build ();
254250 }
255- } else {
256- checkBadRequest (
257- !request .getInstances ().isPresent () || request .getInstances ().get () > 0 ,
258- "Instances must be greater than 0"
259- );
260251 }
261252
262253 checkBadRequest (
Original file line number Diff line number Diff line change @@ -562,4 +562,30 @@ public void itDoesNotAllowOtherRequestTypesToChange() {
562562 )
563563 );
564564 }
565+
566+ @ Test
567+ public void itKeepPreviousInstancesCountWhenEmpty () {
568+ singularityConfiguration .setAllowEmptyRequestInstances (true );
569+ SingularityRequest request = new SingularityRequestBuilder ("test" , RequestType .WORKER )
570+ .setInstances (Optional .of (5 ))
571+ .build ();
572+ SingularityRequest newRequest = new SingularityRequestBuilder (
573+ "test" ,
574+ RequestType .WORKER
575+ )
576+ .build ();
577+
578+ SingularityRequest returnedRequest = validator .checkSingularityRequest (
579+ newRequest ,
580+ Optional .of (request ),
581+ Optional .empty (),
582+ Optional .empty ()
583+ );
584+
585+ Assertions .assertTrue (returnedRequest .getInstances ().isPresent ());
586+ Assertions .assertSame (
587+ returnedRequest .getInstances ().get (),
588+ request .getInstances ().get ()
589+ );
590+ }
565591}
You can’t perform that action at this time.
0 commit comments