You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Bill Farner <wf...@apache.org> on 2014/01/09 23:40:49 UTC

Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/
-----------------------------------------------------------

Review request for Aurora.


Bugs: AURORA-27
    https://issues.apache.org/jira/browse/AURORA-27


Repository: aurora


Description
-------

State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.

Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
  src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
  src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
  src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
  src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
  src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
  src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
  src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
  src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 

Diff: https://reviews.apache.org/r/16767/diff/


Testing
-------

./gradlew build


Thanks,

Bill Farner


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Bill Farner <wf...@apache.org>.

> On Jan. 10, 2014, 9:01 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/state/StateManager.java, line 40
> > <https://reviews.apache.org/r/16767/diff/1/?file=419884#file419884line40>
> >
> >     A bit of explanation of what "cas" stand for would not hurt here as it's not obvious from the description or implementation why it's used.

Thanks, done.


> On Jan. 10, 2014, 9:01 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java, line 80
> > <https://reviews.apache.org/r/16767/diff/1/?file=419885#file419885line80>
> >
> >     Unfinished TODO comment?

Heh, yep.  Thanks, fixed.


> On Jan. 10, 2014, 9:01 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java, line 239
> > <https://reviews.apache.org/r/16767/diff/1/?file=419885#file419885line239>
> >
> >     Would task ever be null here?

The task is null if it doesn't exist in storage, i.e. if the master tells us that 'task-abc' is RUNNING.


- Bill


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/#review31538
-----------------------------------------------------------


On Jan. 9, 2014, 10:40 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16767/
> -----------------------------------------------------------
> 
> (Updated Jan. 9, 2014, 10:40 p.m.)
> 
> 
> Review request for Aurora.
> 
> 
> Bugs: AURORA-27
>     https://issues.apache.org/jira/browse/AURORA-27
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.
> 
> Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
>   src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
>   src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
>   src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
>   src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
>   src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
>   src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
>   src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
>   src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 
> 
> Diff: https://reviews.apache.org/r/16767/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/#review31538
-----------------------------------------------------------

Ship it!



src/main/java/org/apache/aurora/scheduler/state/StateManager.java
<https://reviews.apache.org/r/16767/#comment60061>

    A bit of explanation of what "cas" stand for would not hurt here as it's not obvious from the description or implementation why it's used.



src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
<https://reviews.apache.org/r/16767/#comment60062>

    Unfinished TODO comment?



src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
<https://reviews.apache.org/r/16767/#comment60064>

    Would task ever be null here? 



src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
<https://reviews.apache.org/r/16767/#comment60067>

    Nice!


- Maxim Khutornenko


On Jan. 9, 2014, 10:40 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16767/
> -----------------------------------------------------------
> 
> (Updated Jan. 9, 2014, 10:40 p.m.)
> 
> 
> Review request for Aurora.
> 
> 
> Bugs: AURORA-27
>     https://issues.apache.org/jira/browse/AURORA-27
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.
> 
> Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
>   src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
>   src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
>   src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
>   src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
>   src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
>   src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
>   src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
>   src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 
> 
> Diff: https://reviews.apache.org/r/16767/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/#review31779
-----------------------------------------------------------

Ship it!


Ship It!

- Kevin Sweeney


On Jan. 14, 2014, 11:30 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16767/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2014, 11:30 a.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-27
>     https://issues.apache.org/jira/browse/AURORA-27
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.
> 
> Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
>   src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
>   src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
>   src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
>   src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
>   src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
>   src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
>   src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
>   src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
>   src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 
> 
> Diff: https://reviews.apache.org/r/16767/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/
-----------------------------------------------------------

(Updated Jan. 14, 2014, 9:51 p.m.)


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Changes
-------

Updated diff to reflect merge with latest master.


Bugs: AURORA-27
    https://issues.apache.org/jira/browse/AURORA-27


Repository: aurora


Description
-------

State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.

Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
  src/main/java/org/apache/aurora/scheduler/async/TaskThrottler.java 11a01ea17f6b2957539fa68ca731472c125fdcc0 
  src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
  src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
  src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 256f83055984ecfd67383527f60edf439960c623 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
  src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 4dfac036b094cb870f58b04d6e139531a4bcf2a8 
  src/test/java/org/apache/aurora/scheduler/async/TaskThrottlerTest.java 66bc2a0e5f3fa600c115effce73c2d726a2bdbb1 
  src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
  src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java cc929f8dc5bfe5f6eb713a95abc982731e4b669e 
  src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 74ec74fc562db874362741d4a9092817c14ce1af 
  src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 

Diff: https://reviews.apache.org/r/16767/diff/


Testing
-------

./gradlew build


Thanks,

Bill Farner


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/
-----------------------------------------------------------

(Updated Jan. 14, 2014, 7:30 p.m.)


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Changes
-------

Realized i neglected to add people to this review. +kevin, maxim.


Bugs: AURORA-27
    https://issues.apache.org/jira/browse/AURORA-27


Repository: aurora


Description
-------

State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.

Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
  src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
  src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
  src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
  src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
  src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
  src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
  src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
  src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 

Diff: https://reviews.apache.org/r/16767/diff/


Testing
-------

./gradlew build


Thanks,

Bill Farner


Re: Review Request 16767: Begin cleanup of StateManager interface by removing state change via Query.

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16767/
-----------------------------------------------------------

(Updated Jan. 13, 2014, 11:35 p.m.)


Review request for Aurora.


Bugs: AURORA-27
    https://issues.apache.org/jira/browse/AURORA-27


Repository: aurora


Description
-------

State changes via a broad query is a rarely-used feature, and probably usually not a good idea.  The query-based API was useful because it sometimes saves code at the call site, but the big downside is that it makes it more difficult for StateManager to perform course-correcting operations.  The test case added to StateManagerImplTest illustrates a now-fixed regression that could contribute to state drift between the scheduler and the outside world.

Additionally, this API change is me working my way towards removing a bunch of the (hopefully-unnecessary) complexity that exists in StateManagerImpl and TaskStateMachine.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/UserTaskLauncher.java 7e180ac1bb2cf2f7b07f25441614027e15b75c8b 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 96c76ba1b72853ae16399813bfac6c8db5aaf1a9 
  src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java 9f14a995e6e60098659542624b9ee951eea912ed 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 3dd2271004a26a597989574527459e887fba44e4 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b89d9905398feaaf7f1329409d8c27edc9f0d49a 
  src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java 1d450f2d2d8e747878b67bccbf3fd7d018a52d20 
  src/main/java/org/apache/aurora/scheduler/state/StateManager.java 045165da2fdec7f2d4b24402901752d1c6b3976a 
  src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b6dd5379481423051b9243ad0dbfae7b057173f4 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java c1a11bdb91c5e764864324d26248d1783af8048b 
  src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java bba1b722ae9c308e3767da2c396b86d05531c65a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 9698f283c04197039d22cd38220a1dda448bdcf7 
  src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java 023905b6e6fe0a7ff095a2b37b9f73f9801a8123 
  src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java 720d0c86d8b112bf92196cbb81ece44476534654 
  src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java c0addd6670009b1ed924f891074b4971431a6378 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b17b983f66ce0ac1ef90b716a28813a505322b17 
  src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 91c1c24448092e1b3454844ab8074ed030383594 

Diff: https://reviews.apache.org/r/16767/diff/


Testing
-------

./gradlew build


Thanks,

Bill Farner