> On July 31, 2014, 6:38 p.m., Kevin Sweeney wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java, 
> > line 107
> > <https://reviews.apache.org/r/24078/diff/1/?file=645380#file645380line107>
> >
> >     It seems weird and error-prone to discard the reference when the 
> > interface requires that calls post-complete are noops. Consider just making 
> > this field final and avoiding the gymnastics here.

Minor correction, post-complete calls are no-ops _as part of InstanceUpdater's 
contract_.  Are you saying that you would rather the black-hole be engaged on 
the TaskController side?


> On July 31, 2014, 6:38 p.m., Kevin Sweeney wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java, 
> > line 145
> > <https://reviews.apache.org/r/24078/diff/1/?file=645380#file645380line145>
> >
> >     typo

fixed


> On July 31, 2014, 6:38 p.m., Kevin Sweeney wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java, 
> > line 150
> > <https://reviews.apache.org/r/24078/diff/1/?file=645380#file645380line150>
> >
> >     typo

fixed


- Bill


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


On July 30, 2014, 1:06 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/24078/
> -----------------------------------------------------------
> 
> (Updated July 30, 2014, 1:06 a.m.)
> 
> 
> Review request for Aurora, David McLaughlin, Kevin Sweeney, and Maxim 
> Khutornenko.
> 
> 
> Bugs: AURORA-621
>     https://issues.apache.org/jira/browse/AURORA-621
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Note: this is one part of the epic AURORA-610, and is currently unwired code.
> 
> This implements the logic to initiate a change from a possibly-absent current 
> task state to a possibly-absent desired state.  I worked with Maxim on this, 
> and we started with a state machine approach.  After some more careful 
> thought, i pushed for a convergence function, which is implemented here.
> 
> There are a few invariants assumed/designed here, which i've called out in 
> the javadoc for evaluate().
> 
> The caller of this function will be responsible for implementing the 
> TaskController interface.  As for integration, this will mean:
>   - maintaining one InstanceUpdater for each in-flight instance update
>   - subscribing to task pubsub events and routing them to the appropriate 
> InstanceUpdater's evaluate()
>   - discarding terminal InstanceUpdaters (those which have called 
> TaskController#updateCompleted())
>   - scheduling delayed calls to evaluate() based on the job's update 
> parameters
> 
> My advice for reviewing is to first scan the evaluate() function (without 
> skipping out to helper functions), then dive into 
> handleActualAndDesiredPresent().  Think of evaluate() as something that may 
> be called arbitrarily, and attempts to gracefully move a task from the actual 
> state to the desired state.  Next, look at the unit test to see how the calls 
> should look to turn this function into an event-driven convergence function.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/updater/TaskController.java 
> PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
> PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/24078/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq, 100% instruction and branch test coverage.
> 
> 
> Thanks,
> 
> Bill Farner
> 
>

Reply via email to