----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66192/ -----------------------------------------------------------
(Updated May 8, 2018, 4:26 p.m.) Review request for Aurora, David McLaughlin, Jordan Ly, Santhosh Kumar Shanmugham, and Stephan Erb. Changes ------- * Variable update group strategy now determines what step it is in dynamically -- no more writing to storage. * Surface are greatly reduced and potential path towards merging Batch and Variable Batch were created. * Currently works for the following cases: - Update results in more instances. - Update only updates existing instances. * Does not work in its current form when the update results in less instances (will address this in the next iteration). * Introduced an optional JobUpdateStrategyType which allows for explicitly setting which strategy to use in order to avoid confusion. If this field is not set, the type is determined to be QUEUE or BATCH depending on waitFortBatchCompletion for backwards compatibility. The plan is to deprecate waitForBatchCompletion and updateGroupSize depending on feedback. * Backwards compatible by using optional fields and using old fields to populate the new ones. Thanks for all the feedback so far, very much appreciated! Repository: aurora Description ------- Adding support for variable group sizes when executing an update. Design doc for this change is here: https://docs.google.com/document/d/1xGk4ueH8YlmJCk6hQJh85u4to4M1VQD0l630IOchvgY/edit#heading=h.lg3hty82f5cz I opted for the path of least resistance with regards to the Thrift changes as I didn't see any benefit in making the larger changes required to make the interfaces a bit more flexible. Requesting feedback on these changes and the approach from the community before I proceed. Tests will be added after the community approves of the direciton and approach. Note to reviewers: Changes made in ActiveLimitedStrategy.java were made to move towards getting rid of FluentIterable. I figured since I was touching that code, it wouldn't hurt to test the Java 8 equivalent of it. I can get rid of the change here and make it in a separate patch if desired. Diffs (updated) ----- api/src/main/thrift/org/apache/aurora/gen/api.thrift ef754e32172e7490a47a13e7b526f243ffa3efeb src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java 9fc0416086dd3eb2e2f4e8f659da59fcdea2b22b src/main/java/org/apache/aurora/scheduler/updater/UpdateFactory.java 3992aa77fc305adc390a4aaeb1d3939d6241ddbd src/main/java/org/apache/aurora/scheduler/updater/strategy/ActiveLimitedStrategy.java 855ea9c20788b51695b7eff5ac0970f0d52a9546 src/main/java/org/apache/aurora/scheduler/updater/strategy/VariableBatchStrategy.java PRE-CREATION Diff: https://reviews.apache.org/r/66192/diff/2/ Changes: https://reviews.apache.org/r/66192/diff/1-2/ Testing ------- Thanks, Renan DelValle