aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maxim Khutornenko" <ma...@apache.org>
Subject Re: Review Request 34440: Implementing task reconciler.
Date Wed, 20 May 2015 01:20:09 GMT


> On May 20, 2015, 12:44 a.m., Ben Mahler wrote:
> > src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java, lines 185-207
> > <https://reviews.apache.org/r/34440/diff/1/?file=964437#file964437line185>
> >
> >     Hm.. I thought the approach was going to be to have a flag that toggles between
the gc executor and task reconciliation, so that if there are any issues, we can transition
back to the GC executor without having to rollback the version of Aurora that is deployed?

Implementing a single flag switch would require more throwaway code. The switch is accomplished
by individually setting the gc_executor_path and reconciliation_initial_delay values and will
have to be done by the operator.


> On May 20, 2015, 12:44 a.m., Ben Mahler wrote:
> > src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java, lines 186-189
> > <https://reviews.apache.org/r/34440/diff/1/?file=964437#file964437line186>
> >
> >     Something to consider is that the important time to reconcile is after any (re-)registration
callbacks, but that is a little more complicated to implement here.
> >     
> >     It's not that important for now since you don't currently know when reconciliation
is finished, and we reconcile forever here. Just wanted to mention it for when we decide to
improve the reconciliation API!

We only (re-)register on scheduler startups. When the feature is on we can set the initial
delay low enough to closely follow registration (e.g. 1 minute).


> On May 20, 2015, 12:44 a.m., Ben Mahler wrote:
> > src/main/java/org/apache/aurora/scheduler/async/TaskReconciler.java, lines 136-139
> > <https://reviews.apache.org/r/34440/diff/1/?file=964438#file964438line136>
> >
> >     As we discussed, at some point we may want to improve the reconciliation API
to support sending diffs. This would require setting the state (which is originally why the
state was required here). So you may want to have the ability to know what the mesos state
of a task is given the scheduler's state.
> >     
> >     Something to keep in mind.

Thanks. We currently don't have direct one-to-one mapping between TaskState and ScheduleStatus.
Specifically, both TaskState.TASK_STARTING and TaskState.TASK_STAGING are mapped to ScheduleStatus.STARTING.
This makes explicit reconciliation error prone wrt these states. I will file a ticket to investigate
a solution here.


- Maxim


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


On May 19, 2015, 10:50 p.m., Maxim Khutornenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/34440/
> -----------------------------------------------------------
> 
> (Updated May 19, 2015, 10:50 p.m.)
> 
> 
> Review request for Aurora, Ben Mahler, Kevin Sweeney, and Zameer Manji.
> 
> 
> Bugs: AURORA-1047
>     https://issues.apache.org/jira/browse/AURORA-1047
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Adding a new service to request explict/implicit task reconciliations on a periodic basis.
The reconciler is OFF by default until the GC executor code is removed.
> 
> 
> Diffs
> -----
> 
>   src/jmh/java/org/apache/aurora/benchmark/fakes/FakeDriver.java 316ab1c06ce63c9a3f7232264d30a40f487fc45c

>   src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java e9d47fda3355786a4e68eac5c28490c04bc68cb3

>   src/main/java/org/apache/aurora/scheduler/async/TaskReconciler.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/mesos/Driver.java 975ea02b45488608286e743888de25862cc77add

>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 35cada6160af01c13362fa7c14b9ff8da0300004

>   src/test/java/org/apache/aurora/scheduler/async/JobUpdateHistoryPrunerTest.java 02e87989a17d95d36e61ffcef2e86c91774972bc

>   src/test/java/org/apache/aurora/scheduler/async/TaskReconcilerTest.java PRE-CREATION

>   src/test/java/org/apache/aurora/scheduler/testing/FakeScheduledExecutor.java 2beea4fc1a24c0050898077ecdf6cac2b19fab31

> 
> Diff: https://reviews.apache.org/r/34440/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew -Pq build
> 
> 
> Thanks,
> 
> Maxim Khutornenko
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message