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