Re: Review Request 33103: Skip known flaky tests.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33103/ --- (Updated April 13, 2015, 7:44 p.m.) Review request for Aurora, Joshua Cohen and Brian Wickman. Repository: aurora Description --- We've had very few legitimate build breakages over the last few months, these tests are a major source of illegitimate breakage. Diffs (updated) - src/test/python/apache/aurora/executor/common/test_announcer.py 6b782778e52394de3744b43003226dac3f65169e src/test/python/apache/aurora/executor/test_gc_executor.py 0f0b4a3781295c2a6640d272f9c8b0e8f78cc8a8 src/test/python/apache/aurora/executor/test_thermos_task_runner.py 6b24bbb2ab7ca16f97961aabeed945b61e5b5908 src/test/python/apache/thermos/core/test_staged_kill.py b52fcba3c7174a5e4d413b7b01f2fa7d95d21ee1 Diff: https://reviews.apache.org/r/33103/diff/ Testing --- Thanks, Bill Farner
Re: Review Request 33103: Skip known flaky tests.
On April 13, 2015, 3:32 p.m., Brian Wickman wrote: Actually could you also mark test_integration_quitquitquit as well? I was trying to address it in https://reviews.apache.org/r/32221/diff/# but don't feel particularly confident about that approach. Done. - Bill --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33103/#review79882 --- On April 11, 2015, 5:16 p.m., Bill Farner wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33103/ --- (Updated April 11, 2015, 5:16 p.m.) Review request for Aurora, Joshua Cohen and Brian Wickman. Repository: aurora Description --- We've had very few legitimate build breakages over the last few months, these tests are a major source of illegitimate breakage. Diffs - src/test/python/apache/aurora/executor/common/test_announcer.py 6b782778e52394de3744b43003226dac3f65169e src/test/python/apache/aurora/executor/test_gc_executor.py 0f0b4a3781295c2a6640d272f9c8b0e8f78cc8a8 src/test/python/apache/aurora/executor/test_thermos_task_runner.py 6b24bbb2ab7ca16f97961aabeed945b61e5b5908 src/test/python/apache/thermos/core/test_staged_kill.py b52fcba3c7174a5e4d413b7b01f2fa7d95d21ee1 Diff: https://reviews.apache.org/r/33103/diff/ Testing --- Thanks, Bill Farner
Re: Review Request 33105: Return Iterable from TaskStore.fetchTasks to allow for streaming.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33105/#review79960 --- Ship it! Ship It! - Maxim Khutornenko On April 11, 2015, 6:22 p.m., Bill Farner wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33105/ --- (Updated April 11, 2015, 6:22 p.m.) Review request for Aurora, Kevin Sweeney and Maxim Khutornenko. Repository: aurora Description --- This allows the store implementation to stream if it wishes, which we might want to take advantage of when the store is backed by a database. One thing worth noting is that this change is a good example of why using wide types at call sites is important. There were many callers of TaskStore.fetchTasks that were already assigning as `Iterable`, and they were immune to this refactor. Diffs - src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ce87344dc18818faa7a1a0298143dc81fff7 src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java 1da35c05fb22c8fa0227a91df6a19f1b8f1aae92 src/main/java/org/apache/aurora/scheduler/async/KillRetry.java 3bb80ec99ed1f5c1d87edb59f3c9502ab6f7c706 src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 0cf7fb40e5640d0ad07a7fc46c57548a3a385872 src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 985a3196ad809c7ccf30ba87a1f10cc3dacd5f49 src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 3b5dcf819228297b3840cb01788c3085759f3c4a src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java ed82ae99f23d5a7f1634261205cbe5339fe4cec8 src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 09be4dc8d6318ccfdf10397585ef7989221afd7f src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6a7b4aca841025c790f4b282f0490ff5bb23b2f src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java a8e3b14b3f8147f60871f9dfa84616425636e10a src/main/java/org/apache/aurora/scheduler/storage/Storage.java 6180a36255253542197234ec610eea01366135bc src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java b76c937281971a505db4b352b80cbb7ccfcafcca src/main/java/org/apache/aurora/scheduler/storage/backup/Recovery.java 38764e5e7484e2fe152460ac7920be9a5799b85d src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 2102adb3844fc1501ff9d672a2db78a69513231b src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 7aef1ca786fea521256f69f6a9e7a978649a7195 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b7d3874e9f597d93c9f623773a3a0289c2b76d6d src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 281f4e02650727aa5d0a35a09dcf0eb823ad1b50 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java 7e2d1c54362b33cc3507a4bc3e3ccc02ca29bd6f src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java b80e558f18b817814e4768b13ff94aa816d28543 src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 61cea326ababcd6242a3c5a6dcf8d0b3ca7fbdd6 src/test/java/org/apache/aurora/scheduler/filter/AttributeAggregateTest.java 4b565769d79862326efcb31be694f95f333c89c6 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d06b89cc319aa7b4479124cbb2cb224cdb662e05 src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java aca0234e037e85202d182affa2c0e988c6cfc854 Diff: https://reviews.apache.org/r/33105/diff/ Testing --- Thanks, Bill Farner
Re: Review Request 33105: Return Iterable from TaskStore.fetchTasks to allow for streaming.
On April 13, 2015, 11:06 p.m., Kevin Sweeney wrote: src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java, lines 149-152 https://reviews.apache.org/r/33105/diff/1/?file=924537#file924537line149 Inline this as FluentIterable.from(...).first() `first()` changes behavior in that it will succeed if there are multiple items in the `Iterable`. Are you comfortable with that? On April 13, 2015, 11:06 p.m., Kevin Sweeney wrote: src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java, line 37 https://reviews.apache.org/r/33105/diff/1/?file=924545#file924545line37 Auditing the callers it looks like we might also want a `OptionalIScheduledTask fetchTask(String taskId);`. There are several API-level changes to be made. For now i would like to start with pure API compatibility to avoid pulling any more on a very long thread. On April 13, 2015, 11:06 p.m., Kevin Sweeney wrote: src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java, line 160 https://reviews.apache.org/r/33105/diff/1/?file=924538#file924538line160 This is potentially very expensive to this caller if the underlying implementation is not a collection - drop a TODO to expose a COUNT() interface? I agree. My goal for right now is to minimally change APIs and re-assess callers for needed functions a bit further down the road. I'd like to avoid dropping TODOs around, as performance will become the forcing function for these changes. - Bill --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33105/#review79962 --- On April 11, 2015, 6:22 p.m., Bill Farner wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33105/ --- (Updated April 11, 2015, 6:22 p.m.) Review request for Aurora, Kevin Sweeney and Maxim Khutornenko. Repository: aurora Description --- This allows the store implementation to stream if it wishes, which we might want to take advantage of when the store is backed by a database. One thing worth noting is that this change is a good example of why using wide types at call sites is important. There were many callers of TaskStore.fetchTasks that were already assigning as `Iterable`, and they were immune to this refactor. Diffs - src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ce87344dc18818faa7a1a0298143dc81fff7 src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java 1da35c05fb22c8fa0227a91df6a19f1b8f1aae92 src/main/java/org/apache/aurora/scheduler/async/KillRetry.java 3bb80ec99ed1f5c1d87edb59f3c9502ab6f7c706 src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 0cf7fb40e5640d0ad07a7fc46c57548a3a385872 src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 985a3196ad809c7ccf30ba87a1f10cc3dacd5f49 src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 3b5dcf819228297b3840cb01788c3085759f3c4a src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java ed82ae99f23d5a7f1634261205cbe5339fe4cec8 src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 09be4dc8d6318ccfdf10397585ef7989221afd7f src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6a7b4aca841025c790f4b282f0490ff5bb23b2f src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java a8e3b14b3f8147f60871f9dfa84616425636e10a src/main/java/org/apache/aurora/scheduler/storage/Storage.java 6180a36255253542197234ec610eea01366135bc src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java b76c937281971a505db4b352b80cbb7ccfcafcca src/main/java/org/apache/aurora/scheduler/storage/backup/Recovery.java 38764e5e7484e2fe152460ac7920be9a5799b85d src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 2102adb3844fc1501ff9d672a2db78a69513231b src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 7aef1ca786fea521256f69f6a9e7a978649a7195 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b7d3874e9f597d93c9f623773a3a0289c2b76d6d src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
Re: Review Request 32907: Generalizing preemption reservation pool.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32907/ --- (Updated April 14, 2015, 1:09 a.m.) Review request for Aurora, Bill Farner and Zameer Manji. Changes --- Bill's comments. Bugs: AURORA-1219 https://issues.apache.org/jira/browse/AURORA-1219 Repository: aurora Description --- Current preemption model assumes tracking preemption slots/reservations by taskId. This reduces preemption efficiency as it only takes a specific taskId scheduling round to claim the PreemptionSlot and then subsequently make a slave reservation. This diff generalizes the preemption pool by TaskGroupKey. Preemption slots are now created and cached by TaskGroupKey and are available to _any_ task from the same TaskGroup. This change should also simplify the algorithm in https://reviews.apache.org/r/32597/. Diffs (updated) - src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java e87dda47a355654c66f6f54fb25a4d9a7f68422d src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java ebc520ebb4dddbc69b2b4a6f9174c1451d61887a src/main/java/org/apache/aurora/scheduler/async/preemptor/BiCache.java PRE-CREATION src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java 67ad5d7f9909bc892301c19586561b6cdbfe79e6 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java b5a42a0a0498f06a382576e2c3a839bbb7f1d2b1 src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 77617ec9a2bcd062d5b80cd2b4c58dc80514 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 1092c055588363794b37a965fb2f17a6e50d92d7 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/BiCacheTest.java PRE-CREATION src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java 80bd13a192bda64759b5a93749ec47ddfeae504a src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 281f4e02650727aa5d0a35a09dcf0eb823ad1b50 Diff: https://reviews.apache.org/r/32907/diff/ Testing --- ./gradlew -Pq build Manual testing in vagrant. Thanks, Maxim Khutornenko
Re: Review Request 32907: Generalizing preemption reservation pool.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32907/#review79976 --- Ship it! Master (9aab87f) is green with this patch. ./build-support/jenkins/build.sh I will refresh this build result if you post a review containing @ReviewBot retry - Aurora ReviewBot On April 14, 2015, 1:09 a.m., Maxim Khutornenko wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32907/ --- (Updated April 14, 2015, 1:09 a.m.) Review request for Aurora, Bill Farner and Zameer Manji. Bugs: AURORA-1219 https://issues.apache.org/jira/browse/AURORA-1219 Repository: aurora Description --- Current preemption model assumes tracking preemption slots/reservations by taskId. This reduces preemption efficiency as it only takes a specific taskId scheduling round to claim the PreemptionSlot and then subsequently make a slave reservation. This diff generalizes the preemption pool by TaskGroupKey. Preemption slots are now created and cached by TaskGroupKey and are available to _any_ task from the same TaskGroup. This change should also simplify the algorithm in https://reviews.apache.org/r/32597/. Diffs - src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java e87dda47a355654c66f6f54fb25a4d9a7f68422d src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java ebc520ebb4dddbc69b2b4a6f9174c1451d61887a src/main/java/org/apache/aurora/scheduler/async/preemptor/BiCache.java PRE-CREATION src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java 67ad5d7f9909bc892301c19586561b6cdbfe79e6 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java b5a42a0a0498f06a382576e2c3a839bbb7f1d2b1 src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 77617ec9a2bcd062d5b80cd2b4c58dc80514 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 1092c055588363794b37a965fb2f17a6e50d92d7 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/BiCacheTest.java PRE-CREATION src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java 80bd13a192bda64759b5a93749ec47ddfeae504a src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 281f4e02650727aa5d0a35a09dcf0eb823ad1b50 Diff: https://reviews.apache.org/r/32907/diff/ Testing --- ./gradlew -Pq build Manual testing in vagrant. Thanks, Maxim Khutornenko
Re: Review Request 33106: Simplify AttributeAggregate.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33106/#review79986 --- Ship it! Master (9aab87f) is green with this patch. ./build-support/jenkins/build.sh I will refresh this build result if you post a review containing @ReviewBot retry - Aurora ReviewBot On April 14, 2015, 4 a.m., Bill Farner wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33106/ --- (Updated April 14, 2015, 4 a.m.) Review request for Aurora and Maxim Khutornenko. Repository: aurora Description --- Use `Multiset` instead of `AtomicLongMap`, introduce a convenience constant for unit tests to use. Diffs - src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ce87344dc18818faa7a1a0298143dc81fff7 src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java ed82ae99f23d5a7f1634261205cbe5339fe4cec8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 281f4e02650727aa5d0a35a09dcf0eb823ad1b50 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java 7e2d1c54362b33cc3507a4bc3e3ccc02ca29bd6f src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java b80e558f18b817814e4768b13ff94aa816d28543 src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 61cea326ababcd6242a3c5a6dcf8d0b3ca7fbdd6 src/test/java/org/apache/aurora/scheduler/filter/AttributeAggregateTest.java 4b565769d79862326efcb31be694f95f333c89c6 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d06b89cc319aa7b4479124cbb2cb224cdb662e05 src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java aca0234e037e85202d182affa2c0e988c6cfc854 Diff: https://reviews.apache.org/r/33106/diff/ Testing --- Thanks, Bill Farner
Re: Review Request 33106: Simplify AttributeAggregate.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33106/ --- (Updated April 14, 2015, 4 a.m.) Review request for Aurora and Maxim Khutornenko. Changes --- Reintroduced `Supplier`. Repository: aurora Description (updated) --- Use `Multiset` instead of `AtomicLongMap`, introduce a convenience constant for unit tests to use. Diffs (updated) - src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ce87344dc18818faa7a1a0298143dc81fff7 src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java ed82ae99f23d5a7f1634261205cbe5339fe4cec8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java c5643d9d99fc46d55fd6c48161230139fb7f12b8 src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 88c0163170ebc25995d9ef8b1543335a4322bb8e src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java bcd1b4e854f5ea227268c73156bc97c7c937c1de src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 281f4e02650727aa5d0a35a09dcf0eb823ad1b50 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java 7e2d1c54362b33cc3507a4bc3e3ccc02ca29bd6f src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java b80e558f18b817814e4768b13ff94aa816d28543 src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 61cea326ababcd6242a3c5a6dcf8d0b3ca7fbdd6 src/test/java/org/apache/aurora/scheduler/filter/AttributeAggregateTest.java 4b565769d79862326efcb31be694f95f333c89c6 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d06b89cc319aa7b4479124cbb2cb224cdb662e05 src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java aca0234e037e85202d182affa2c0e988c6cfc854 Diff: https://reviews.apache.org/r/33106/diff/ Testing (updated) --- Thanks, Bill Farner