----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32220/#review77106 -----------------------------------------------------------
Ship it! src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java <https://reviews.apache.org/r/32220/#comment124998> This should refer to the parameter, not the guice binding annotation. src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java <https://reviews.apache.org/r/32220/#comment125000> `synchronized` should be unnecessary, `Cache` is expected to be thread safe, and we're not doing multiple operations per method here. src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java <https://reviews.apache.org/r/32220/#comment125001> "Validates that a previously-found" src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java <https://reviews.apache.org/r/32220/#comment125003> Given that you probably want a singleton PreemptionSlotCache, don't forget to bind that as such here. - Bill Farner On March 19, 2015, 12:29 a.m., Maxim Khutornenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/32220/ > ----------------------------------------------------------- > > (Updated March 19, 2015, 12:29 a.m.) > > > Review request for Aurora, Bill Farner and Zameer Manji. > > > Bugs: AURORA-1158 > https://issues.apache.org/jira/browse/AURORA-1158 > > > Repository: aurora > > > Description > ------- > > This diff makes preemption asynchronous wrt the scheduling loop. New flow > works as follows: > - TaskScheduler is unable to schedule a task and calls into > PreemptorImpl.attemptPreemptionFor() to acquire a reservation. > - PreemptorImpl keeps track of found preemption slots in PreemptionSlotCache, > fires an async slot search request and replies back with empty result. > - A search is finished and a slot (if found) is added into internal slot > cache. > - TaskScheduler calls into attemptPreemptionFor(), finds a preemption slot, > validates a slot is still valid and preempts tasks. A reservation for a slave > is created. > > This is still an intermediate milestone on the way to a fully independent > background preemptor. > > Benchmark refactoring will be addressed in a separate diff. > > > Diffs > ----- > > src/main/java/org/apache/aurora/scheduler/async/OfferManager.java > 7d2cb46aa86dd4c3c6d53848725eed1542307ebd > > src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java > PRE-CREATION > > src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java > e748b42eaa8f54e0cf1a0a883da4aceff3d7a3b8 > > src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java > 1808b71546423dfe80ccb1902e8cebd545674a27 > > src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java > 801a6d7f3cb0e9987e2029fd8c4c89015e8d3b65 > > src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java > dbfebf99bc6028faf433a69db4308a239ff61290 > > src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java > PRE-CREATION > > src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java > cfbc1a039262d92481ded2733d50ac51293a5b91 > > src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java > e329358f70028f52a807cd987378cbc002af36a9 > > Diff: https://reviews.apache.org/r/32220/diff/ > > > Testing > ------- > > ./gradlew -Pq build > > > Thanks, > > Maxim Khutornenko > >