You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aurora.apache.org by Bill Farner <wf...@apache.org> on 2014/01/02 22:01:53 UTC
Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/
-----------------------------------------------------------
Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
Repository: aurora
Description
-------
This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
A big side-effect of this change is that several classes no longer need to worry about or query Storage.
Changes of note:
- Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
- NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
- Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
Diffs
-----
src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
Diff: https://reviews.apache.org/r/16575/diff/
Testing
-------
./gradlew build
Thanks,
Bill Farner
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
> On Jan. 2, 2014, 9:19 p.m., Kevin Sweeney wrote:
> > src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java, line 170
> > <https://reviews.apache.org/r/16575/diff/1/?file=413522#file413522line170>
> >
> > This wording is a bit confusing to me - does this mean both the storage is ready and the driver is connected? Or just that backfill has finished? What do you think about reusing the terminology from the scheduler state machine?
Good call, renamed SchedulerLifecycle's 'RUNNING' state to 'ACTIVE' and used term active here.
- Bill
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31065
-----------------------------------------------------------
On Jan. 2, 2014, 9:01 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 2, 2014, 9:01 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31065
-----------------------------------------------------------
src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java
<https://reviews.apache.org/r/16575/#comment59406>
This wording is a bit confusing to me - does this mean both the storage is ready and the driver is connected? Or just that backfill has finished? What do you think about reusing the terminology from the scheduler state machine?
- Kevin Sweeney
On Jan. 2, 2014, 1:01 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 2, 2014, 1:01 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Suman Karumuri <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31200
-----------------------------------------------------------
Ship it!
- Suman Karumuri
On Jan. 3, 2014, 6:57 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 3, 2014, 6:57 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 90339224919a44e10b17ef81c8a3c437dfdad09c
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java a54c342fd826a9d91e76c7398e2856fe7b29ab74
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 32ec93931d45c7e8eb0b8873ba356d336aea9d50
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 462e0dff04b988236bde31f584eebcc03dff757e
> src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java fb4d2b97c92c268d30680406f698f854ecc09b0e
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 1119344d3ee4637856c7991515506c7a4580a98a
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 4a91d9ffbfccca5266a4b8ce0eafbca1f1e02dad
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 046befb2c966db5aaf09555a4720d225fa404629
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java 8003262d3fb7a790302ff7ea46575767d0b22801
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java e5ab28474dbd93250c42e2db433654b29458f0e4
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 1260a160495128056d756fb06a91149a15ca9246
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java f801f804bc9af5570c83fc4f4dbe56c3f5154201
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java e1773e9f59f2c8ea1fcd53e8dc56f41e5f3d3ce2
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 007369c555e29e53dab4603d971914518241a78a
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java 46e1568cb2d72e8f89dc35cf25533b9bc4c06fde
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 0024222980e59707f3af1570e51ac4e0797d7205
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java cdc7ce60c66c2c7416aeb78e09915fcea54f3a7a
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 5937e9dfa57e5da9a0ac670f0b60cc7038f7adbf
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java fc789e7642becc1347843bf80d46c514c367344e
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java f09acfa0e229195cd6df670b3826f05ac626df46
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 530254a6d3000771f9c6776fbf06a1c50b367a39
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 4c17176a0c265c0bbf5b55a2fdb1fe7eb3f106f7
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 8bc15a46c49d37e2eca86c73ec9fa28a61ca68d4
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 375b6c28685178c44344ed21c0f1967c2f3b8e53
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java a38d2089d69d0cb29c005a5044cc16547edcc92a
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java ea6d342afc9fb8288c0833a2e657ac01af776fb1
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 67d909f08a82b8162363e8e1558a6fba75ae09d4
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java fcd1e26d20f64cec7c549daa1214819a9fab02dd
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java a4425494b807251539087000ba8b058f6312622c
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 3561ce3a96dd59ab481c5a048843a41bcea61ef8
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java e022767af31d9a4eef25075225e05ac5f6843114
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 2075ed002073390e3bd65f31a24fbf86310327d3
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31183
-----------------------------------------------------------
Ping? Still waiting on reviews from Kevin and Suman.
- Bill Farner
On Jan. 3, 2014, 6:57 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 3, 2014, 6:57 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 90339224919a44e10b17ef81c8a3c437dfdad09c
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java a54c342fd826a9d91e76c7398e2856fe7b29ab74
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 32ec93931d45c7e8eb0b8873ba356d336aea9d50
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 462e0dff04b988236bde31f584eebcc03dff757e
> src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java fb4d2b97c92c268d30680406f698f854ecc09b0e
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 1119344d3ee4637856c7991515506c7a4580a98a
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 4a91d9ffbfccca5266a4b8ce0eafbca1f1e02dad
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 046befb2c966db5aaf09555a4720d225fa404629
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java 8003262d3fb7a790302ff7ea46575767d0b22801
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java e5ab28474dbd93250c42e2db433654b29458f0e4
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 1260a160495128056d756fb06a91149a15ca9246
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java f801f804bc9af5570c83fc4f4dbe56c3f5154201
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java e1773e9f59f2c8ea1fcd53e8dc56f41e5f3d3ce2
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 007369c555e29e53dab4603d971914518241a78a
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java 46e1568cb2d72e8f89dc35cf25533b9bc4c06fde
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 0024222980e59707f3af1570e51ac4e0797d7205
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java cdc7ce60c66c2c7416aeb78e09915fcea54f3a7a
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 5937e9dfa57e5da9a0ac670f0b60cc7038f7adbf
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java fc789e7642becc1347843bf80d46c514c367344e
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java f09acfa0e229195cd6df670b3826f05ac626df46
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 530254a6d3000771f9c6776fbf06a1c50b367a39
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 4c17176a0c265c0bbf5b55a2fdb1fe7eb3f106f7
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 8bc15a46c49d37e2eca86c73ec9fa28a61ca68d4
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 375b6c28685178c44344ed21c0f1967c2f3b8e53
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java a38d2089d69d0cb29c005a5044cc16547edcc92a
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java ea6d342afc9fb8288c0833a2e657ac01af776fb1
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 67d909f08a82b8162363e8e1558a6fba75ae09d4
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java fcd1e26d20f64cec7c549daa1214819a9fab02dd
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java a4425494b807251539087000ba8b058f6312622c
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 3561ce3a96dd59ab481c5a048843a41bcea61ef8
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java e022767af31d9a4eef25075225e05ac5f6843114
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 2075ed002073390e3bd65f31a24fbf86310327d3
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31185
-----------------------------------------------------------
Ship it!
Much easier to reason about now.
- Kevin Sweeney
On Jan. 3, 2014, 10:57 a.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 3, 2014, 10:57 a.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 90339224919a44e10b17ef81c8a3c437dfdad09c
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java a54c342fd826a9d91e76c7398e2856fe7b29ab74
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 32ec93931d45c7e8eb0b8873ba356d336aea9d50
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 462e0dff04b988236bde31f584eebcc03dff757e
> src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java fb4d2b97c92c268d30680406f698f854ecc09b0e
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 1119344d3ee4637856c7991515506c7a4580a98a
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 4a91d9ffbfccca5266a4b8ce0eafbca1f1e02dad
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 046befb2c966db5aaf09555a4720d225fa404629
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java 8003262d3fb7a790302ff7ea46575767d0b22801
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java e5ab28474dbd93250c42e2db433654b29458f0e4
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 1260a160495128056d756fb06a91149a15ca9246
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java f801f804bc9af5570c83fc4f4dbe56c3f5154201
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java e1773e9f59f2c8ea1fcd53e8dc56f41e5f3d3ce2
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 007369c555e29e53dab4603d971914518241a78a
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java 46e1568cb2d72e8f89dc35cf25533b9bc4c06fde
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 0024222980e59707f3af1570e51ac4e0797d7205
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java cdc7ce60c66c2c7416aeb78e09915fcea54f3a7a
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 5937e9dfa57e5da9a0ac670f0b60cc7038f7adbf
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java fc789e7642becc1347843bf80d46c514c367344e
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java f09acfa0e229195cd6df670b3826f05ac626df46
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 530254a6d3000771f9c6776fbf06a1c50b367a39
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 4c17176a0c265c0bbf5b55a2fdb1fe7eb3f106f7
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 8bc15a46c49d37e2eca86c73ec9fa28a61ca68d4
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 375b6c28685178c44344ed21c0f1967c2f3b8e53
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java a38d2089d69d0cb29c005a5044cc16547edcc92a
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java ea6d342afc9fb8288c0833a2e657ac01af776fb1
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 67d909f08a82b8162363e8e1558a6fba75ae09d4
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java fcd1e26d20f64cec7c549daa1214819a9fab02dd
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java a4425494b807251539087000ba8b058f6312622c
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 3561ce3a96dd59ab481c5a048843a41bcea61ef8
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java e022767af31d9a4eef25075225e05ac5f6843114
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 2075ed002073390e3bd65f31a24fbf86310327d3
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/
-----------------------------------------------------------
(Updated Jan. 3, 2014, 6:57 p.m.)
Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
Changes
-------
Fixed formatting, rebased on master.
Repository: aurora
Description
-------
This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
A big side-effect of this change is that several classes no longer need to worry about or query Storage.
Changes of note:
- Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
- NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
- Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
Diffs (updated)
-----
src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 90339224919a44e10b17ef81c8a3c437dfdad09c
src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java a54c342fd826a9d91e76c7398e2856fe7b29ab74
src/main/java/org/apache/aurora/scheduler/TaskVars.java 32ec93931d45c7e8eb0b8873ba356d336aea9d50
src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 462e0dff04b988236bde31f584eebcc03dff757e
src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java fb4d2b97c92c268d30680406f698f854ecc09b0e
src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 1119344d3ee4637856c7991515506c7a4580a98a
src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 4a91d9ffbfccca5266a4b8ce0eafbca1f1e02dad
src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 046befb2c966db5aaf09555a4720d225fa404629
src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java 8003262d3fb7a790302ff7ea46575767d0b22801
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java e5ab28474dbd93250c42e2db433654b29458f0e4
src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 1260a160495128056d756fb06a91149a15ca9246
src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java f801f804bc9af5570c83fc4f4dbe56c3f5154201
src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java e1773e9f59f2c8ea1fcd53e8dc56f41e5f3d3ce2
src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 007369c555e29e53dab4603d971914518241a78a
src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java 46e1568cb2d72e8f89dc35cf25533b9bc4c06fde
src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 0024222980e59707f3af1570e51ac4e0797d7205
src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java cdc7ce60c66c2c7416aeb78e09915fcea54f3a7a
src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 5937e9dfa57e5da9a0ac670f0b60cc7038f7adbf
src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java fc789e7642becc1347843bf80d46c514c367344e
src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java f09acfa0e229195cd6df670b3826f05ac626df46
src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 530254a6d3000771f9c6776fbf06a1c50b367a39
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 4c17176a0c265c0bbf5b55a2fdb1fe7eb3f106f7
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 8bc15a46c49d37e2eca86c73ec9fa28a61ca68d4
src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 375b6c28685178c44344ed21c0f1967c2f3b8e53
src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java a38d2089d69d0cb29c005a5044cc16547edcc92a
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java ea6d342afc9fb8288c0833a2e657ac01af776fb1
src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 67d909f08a82b8162363e8e1558a6fba75ae09d4
src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java fcd1e26d20f64cec7c549daa1214819a9fab02dd
src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java a4425494b807251539087000ba8b058f6312622c
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 3561ce3a96dd59ab481c5a048843a41bcea61ef8
src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java e022767af31d9a4eef25075225e05ac5f6843114
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 2075ed002073390e3bd65f31a24fbf86310327d3
Diff: https://reviews.apache.org/r/16575/diff/
Testing
-------
./gradlew build
Thanks,
Bill Farner
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
> On Jan. 3, 2014, 2:36 a.m., Maxim Khutornenko wrote:
> > src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java, line 234
> > <https://reviews.apache.org/r/16575/diff/3/?file=413849#file413849line234>
> >
> > IDEA formatting?
Indeed. Thanks, fixed.
- Bill
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31103
-----------------------------------------------------------
On Jan. 3, 2014, 12:10 a.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 3, 2014, 12:10 a.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 92fdf35fff1a7993dd8aac4b3fc69f738d1f726a
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31103
-----------------------------------------------------------
Ship it!
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
<https://reviews.apache.org/r/16575/#comment59458>
IDEA formatting?
- Maxim Khutornenko
On Jan. 3, 2014, 12:10 a.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 3, 2014, 12:10 a.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 92fdf35fff1a7993dd8aac4b3fc69f738d1f726a
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/
-----------------------------------------------------------
(Updated Jan. 3, 2014, 12:10 a.m.)
Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
Repository: aurora
Description
-------
This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
A big side-effect of this change is that several classes no longer need to worry about or query Storage.
Changes of note:
- Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
- NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
- Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
Diffs (updated)
-----
src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 92fdf35fff1a7993dd8aac4b3fc69f738d1f726a
src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
Diff: https://reviews.apache.org/r/16575/diff/
Testing
-------
./gradlew build
Thanks,
Bill Farner
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
> On Jan. 2, 2014, 11:18 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java, line 245
> > <https://reviews.apache.org/r/16575/diff/2/?file=413734#file413734line245>
> >
> > How do we add tasks now? Are we dropping startup rescheduling jitter?
Good catch. This was an oversight — tasks are all added through TaskGroups#taskChangedState(TaskStateChange), but i neglected to branch on whether the task is being initialized. Fixing.
- Bill
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31081
-----------------------------------------------------------
On Jan. 2, 2014, 10:20 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 2, 2014, 10:20 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/#review31081
-----------------------------------------------------------
src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java
<https://reviews.apache.org/r/16575/#comment59421>
How do we add tasks now? Are we dropping startup rescheduling jitter?
- Maxim Khutornenko
On Jan. 2, 2014, 10:20 p.m., Bill Farner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16575/
> -----------------------------------------------------------
>
> (Updated Jan. 2, 2014, 10:20 p.m.)
>
>
> Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
>
>
> Repository: aurora
>
>
> Description
> -------
>
> This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
>
> A big side-effect of this change is that several classes no longer need to worry about or query Storage.
>
> Changes of note:
>
> - Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
> - NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
> - Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
>
>
> Diffs
> -----
>
> src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
> src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
> src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
> src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
> src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
> src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
> src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
> src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
> src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
> src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
> src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
> src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
> src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
> src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
> src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
> src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
> src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
> src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
> src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
> src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
> src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
> src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
> src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
> src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
> src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
> src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
> src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
> src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
> src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
> src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
> src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
>
> Diff: https://reviews.apache.org/r/16575/diff/
>
>
> Testing
> -------
>
> ./gradlew build
>
>
> Thanks,
>
> Bill Farner
>
>
Re: Review Request 16575: Replace StorageStarted event with TaskStateChange
events.
Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16575/
-----------------------------------------------------------
(Updated Jan. 2, 2014, 10:20 p.m.)
Review request for Aurora, Kevin Sweeney, Suman Karumuri, and Maxim Khutornenko.
Repository: aurora
Description
-------
This change makes it easier to consume events about the state of tasks. Previously, ~every consumer of TaskStateChange needed to know to also consume StorageStarted and query the full storage. The new change makes TaskStateChange more intuitive and therefore less error-prone.
A big side-effect of this change is that several classes no longer need to worry about or query Storage.
Changes of note:
- Most critical change is in CallOrderEnforcingStorage, which now sends a slew of TaskStateChange notifications instead of StorageStarted. This has a ripple for event consumers.
- NotifyingMethodInterceptor was removed, as it was easily replaced by more readable and concise code.
- Introduced EventSink interface to replace the ambiguous Closure<PubsubEvent> binding.
Diffs (updated)
-----
src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java 4323fa4672589ae6493692dea5beefb3b5484487
src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java 1ba81d49e7e8886ee57a360ede829a2ef286cd59
src/main/java/org/apache/aurora/scheduler/TaskVars.java 6c35bfb762f2eb09ff1c962abb645fc8ce91c3f9
src/main/java/org/apache/aurora/scheduler/async/HistoryPruner.java 6c35ab668fbdfa8a9d02639c811c3203d40033e9
src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java bea1bfe32300ef54774fcd6a5b82c757425533a9
src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 7a09d1e34ee309308ff714bb56c6891b012165bd
src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java c2a7704f01f1b72d70f63559528aac193f1fd897
src/main/java/org/apache/aurora/scheduler/events/EventSink.java PRE-CREATION
src/main/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptor.java e5ddad0426b54d2eb620beafeb66b5f15999361b
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca9ed10d7c4b9b796b1d0cc124e665b3690ebd4f
src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 971f40c9dba872fd52042a48a3090ebaf09b990f
src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java 94ca02ad425ea67787149ae8733b19c0fea325ab
src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 86ccd6e4afc74b50a1cf56f9e156b4e1723c1c7d
src/main/java/org/apache/aurora/scheduler/state/CronJobManager.java c7d87ffabcd9745559458b2e22655e199fc708f5
src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java e0bfb1e44f3cfda740bf48b78a5f6f023b8849bc
src/main/java/org/apache/aurora/scheduler/state/SideEffectStorage.java f710cac6ff6d40122e04c486d4871981d889ad3f
src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6db6c08181b15ee18ddc60cbcb15fb5957bed61
src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 00425391b644fe5d432890e5906592f76b57dc12
src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java 7527ed804e32442fa8c5ae23ed6021bf913df8b5
src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java 3f4adfa9abdc4f895f42039f60da1657bee8aef7
src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 8fe55c1741b2c1a1f0ec0fbdcbd8e48d91131d87
src/test/java/org/apache/aurora/scheduler/async/HistoryPrunerTest.java 3e9309409643f0e91dd7da0e1019ec98f0fa21d3
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 350dd07abe8588562cf9aa3da32ad1c7f21936f8
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 1b0548730e44b144957ecc888cea95ff66123c1e
src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 70f47c4f12e48b2d32f838bc00a132d102bc64f5
src/test/java/org/apache/aurora/scheduler/events/NotifyingMethodInterceptorTest.java 824b0f23b426d8ebc2c8255e1456afe73d9fbdab
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java efa8ed4b85c5b5500359e9b18e70e13d73f2616b
src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 05148ae2964c4898f2077b211000529907535d18
src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java aa4818657d2d87328292fe8288a98b1b254cc6c0
src/test/java/org/apache/aurora/scheduler/state/CronJobManagerTest.java d5627b216f01b554a9cf4497543006a36f839021
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java 005814b1ab289c254c29a32442deae120f10af23
src/test/java/org/apache/aurora/scheduler/state/PubsubTestUtil.java 0f2982553c20e413d3866cf077538d2d49624e8e
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 122cb67a9d82a0049b031ffc1d2c2522347221fc
Diff: https://reviews.apache.org/r/16575/diff/
Testing
-------
./gradlew build
Thanks,
Bill Farner