> On March 20, 2017, 11:37 p.m., Santhosh Kumar Shanmugham wrote: > > src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java > > Lines 215-220 (original), 215-220 (patched) > > <https://reviews.apache.org/r/57717/diff/3/?file=1667445#file1667445line215> > > > > This setup will preempt tasks on DRAINED hosts, and expect it to free > > up the slot? This is the first time I am looking at this code. May be I am > > missing something here?
Mehrdad and I looked at this code and we understand why this setup actually works. However there is room for improvement here - when we see any Veto other than a `ResourceVeto` we can short-circuit and give up looking through the rest of the victims, since the tasks all belong to the same host and the `Veto` (any of `Dedicated`, `Maintenance` or `Constraint`) has essentially vetoed the entired host. Created a ticket for this improvement - https://issues.apache.org/jira/browse/AURORA-1908. But it is pretty simple and can be done in this review as well, or I can take it up in the next. - Santhosh Kumar ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/57717/#review169531 ----------------------------------------------------------- On March 20, 2017, 3:10 p.m., Zameer Manji wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/57717/ > ----------------------------------------------------------- > > (Updated March 20, 2017, 3:10 p.m.) > > > Review request for Aurora, Santhosh Kumar Shanmugham and Stephan Erb. > > > Bugs: AURORA-1904 > https://issues.apache.org/jira/browse/AURORA-1904 > > > Repository: aurora > > > Description > ------- > > This adds support for Mesos Maintenance per the design doc[1]. > > Per the design the scheduler gains another parameter, > `unavailability_threshold`. With this threshold the scheduler does the > following: > > 1. Accept all inverse offers from Mesos. > 2. Drain when accepting an inverse offer if the unavailability starts within > the thereshold. > 3. Veto any offers with unavailability starting within the threshold. > 4. Penalize offers that have unavailablity information > > For readability and safety the time based code uses the new `java.time` > package in Java 8, primarily relying on the `Instant` class. > > [1]: > https://docs.google.com/document/d/1Z7dFAm6I1nrBE9S5WHw0D0LApBumkIbHrk0-ceoD2YI/edit#heading=h.n5tvzjaj9llx > > > Diffs > ----- > > commons/src/main/java/org/apache/aurora/common/util/Clock.java > 5c4ced1ffe7827c0e529d17cb51db42fd1b762ff > commons/src/main/java/org/apache/aurora/common/util/testing/FakeClock.java > 104f2c64196da16d68a85e365f1dc762547e1e36 > examples/vagrant/upstart/aurora-scheduler.conf > 31fa0368435a179698d1a745331a85430049762e > src/jmh/java/org/apache/aurora/benchmark/fakes/FakeDriver.java > 45f59c0bd09f81916c95345233e6642b4cf81830 > src/main/java/org/apache/aurora/scheduler/HostOffer.java > 23f0600d64e1e15f4856f397e839e3d1c87f3b96 > src/main/java/org/apache/aurora/scheduler/base/Conversions.java > 8295216dc651eff357c4f3c51c8a53052244c6bf > src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java > bb1a960a4c77f48b0ceaa213bd27546551f384f9 > src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java > 60097d91d836e2686d6e90571f13a2fbfd88ae14 > src/main/java/org/apache/aurora/scheduler/mesos/Driver.java > 71547ce931e0161adfc5de43f367b3ec43aa17e8 > src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java > 801551bce7879989d93d2d32a8fe28a891312c73 > src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java > f65a29d7ad8bc49784e324e674f30a6728a9d4ae > > src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java > 84e3f47636d95521600e9a4c4d5b8bc8bbbff8cf > > src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java > d928d02cab087991a8cd8896d4366f6e5dca0913 > src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java > 8c000cb0626bd34f6f30e23fe2b3a045f2b44e35 > src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java > e16e36ed360ef9ca371df9084365ea88cfb6e7ce > src/main/java/org/apache/aurora/scheduler/offers/OffersModule.java > 202cae96ffc5b49e638b973a273f7983137b5baf > > src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java > ba49e7a4ccfaddbd85218018b0bbad5efab41d99 > src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java > 574efc9e44a21fc7cdc0d316d6c51f47cd673ce3 > src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java > da378e84ee65a658ff2382489d3ab6d5f6451b5f > > src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java > 1d7f9f45e7a65838e2c826b4b21a31c7944eab19 > > src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java > 80f631e9024e266fe823d845193b19c1d559a5ef > > src/test/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverServiceTest.java > 72aede85829f087bc88760e8b564d25aceb8aed8 > src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java > 49d4e82cc03144b80292fe43066a6cc4d7aed88f > > src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java > 02bfc51a7cba1116334dbfe30e0abe05ba3fbb4a > > src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java > ae83dea05e10ebab0c0b07d60386d0faf78fb7e9 > src/test/sh/org/apache/aurora/e2e/generate_mesos_maintenance_schedule.py > PRE-CREATION > src/test/sh/org/apache/aurora/e2e/http/http_example.aurora > de8179228d9359900eadf4084355ea257bea45ba > src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh > 80b4c54774a02fdc2ee0e36d26f81aedd2e0055e > > > Diff: https://reviews.apache.org/r/57717/diff/3/ > > > Testing > ------- > > e2e tests > > > Thanks, > > Zameer Manji > >