> 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 > >