----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/37001/#review93817 -----------------------------------------------------------
Ship it! - Bill Farner On July 31, 2015, 11:03 p.m., Maxim Khutornenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/37001/ > ----------------------------------------------------------- > > (Updated July 31, 2015, 11:03 p.m.) > > > Review request for Aurora, Bill Farner and Zameer Manji. > > > Bugs: AURORA-1416 > https://issues.apache.org/jira/browse/AURORA-1416 > > > Repository: aurora > > > Description > ------- > > This releaves `OfferManager` of task matching duties and encapsulates that > responsibility entirely within `TaskAssigner`. > > Apologies for the large diff as there is no easy way to carve out multiple > commits here. The bulk of yellow/green is in test though. > > Summary of changes: > - OfferManager becomes a purely API-based solution managing and exposing > offers > - TaskAssigner inherits a simplified version of OfferManager.launchFirst() > and is now fully responsible for requesting a task launch > - AssignmentResult is gone along with Function<HostOffer, Assignment> > - TaskScheduler does not need OfferManager and StateManager anymore > - TaskSchedulerTest is gone as the coverage it provides has been split > between OfferManagerImplTest and TaskSchedulerImplTest. TaskGroups coverage > was added in https://reviews.apache.org/r/36994 > > > Diffs > ----- > > src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java > 5bc73d58c5914e0ece67f2c3845c62c50ea55222 > src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java > f41330129b221008012fe2bd3632621badb2e125 > src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java > 14bf265a9260548fc0a26696970fa8a84ebf687f > src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java > c7a1a46b52cfb60d595cd31d84390e85c657cf32 > src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java > d4bd5299ddbdf108e2520b2ab8a7517cb4c6fff9 > src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java > 3acb45a9ffd88ccff0817acde602e133bf56ac4e > src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java > 04be32e8bfe431f3b6a158753936e796b0cc906b > > src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImplTest.java > a2e2d4c918ad946f8bec256cb1be5e1ba8e2c40f > src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerTest.java > 9a91e63e5b7e72848ec7cac1dfadc4b6e9431216 > src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java > f98818fe8649e5aa0104de197bc8573feeecd37c > > Diff: https://reviews.apache.org/r/37001/diff/ > > > Testing > ------- > > ./gradlew -Pq build > ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh > > Benchmark testing - no noticable difference in general apart from the limit > constraint benchmark (the only dynamic group veto), which benefited from > reduced complexity (no isStaticallyBanned() call on every match iteration). > > Before: > ``` > Benchmark > (numPendingTasks) Mode Cnt Score Error Units > SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark > N/A thrpt 5 201330.070 ± 13581.745 ops/s > SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark > N/A thrpt 5 28745.739 ± 3323.054 ops/s > SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark > N/A thrpt 5 2789.896 ± 447.990 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 1 thrpt 5 53.487 ± 4.865 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 10 thrpt 5 54.061 ± 3.724 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 100 thrpt 5 52.667 ± 5.017 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 1000 thrpt 5 43.241 ± 1.809 ops/s > SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark > N/A thrpt 5 20517.686 ± 1312.178 ops/s > ``` > > After: > ``` > Benchmark > (numPendingTasks) Mode Cnt Score Error Units > SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark > N/A thrpt 5 200476.140 ± 16369.588 ops/s > SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark > N/A thrpt 5 26137.553 ± 2704.818 ops/s > SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark > N/A thrpt 5 14111.832 ± 79.047 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 1 thrpt 5 56.197 ± 2.194 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 10 thrpt 5 52.383 ± 2.795 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 100 thrpt 5 51.301 ± 3.219 ops/s > SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark > 1000 thrpt 5 43.742 ± 2.847 ops/s > SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark > N/A thrpt 5 20417.531 ± 1305.747 ops/s > ``` > > > Thanks, > > Maxim Khutornenko > >