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



src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java
<https://reviews.apache.org/r/32352/#comment125743>

    Isn't this scenario transparent to the scheduler, though?  If i understand 
you correctly, an available reservation means the slot has been freed and is 
now a reserved Offer, which the assigner function handles.
    
    However, another nice TODO would be to eventually remove the fallback to 
preemption here.  Seems reasonable that this body of code only speaks in 
Offers, and the newly-established territory is responsible for generating 
offers from tasks when it sees fit.



src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
<https://reviews.apache.org/r/32352/#comment125744>

    I'm beginning to question this pattern.  It seems reasonable to insist that 
the global injector _never_ has a binding for a general type like this.  With 
that in mind, you should be comfortable using a private module and an 
unqualified binding, saving this kind of clutter.  What do you think?



src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
<https://reviews.apache.org/r/32352/#comment125747>

    This regresses on some important characteristics of `TaskGroups`:
    
    - starvation avoidance: a very large job (even a low priority one) can 
starve a single restarting instance
    - backoffs: we will perform redundant and possibly hopeless work to try to 
schedule the same things without reducing frequency
    
    It might be easier to retrofit `TaskGroups` to allow injection of the 
underlying work than to reimplement those behaviors, but i'm interested in what 
you think.


- Bill Farner


On March 21, 2015, 2:19 a.m., Maxim Khutornenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32352/
> -----------------------------------------------------------
> 
> (Updated March 21, 2015, 2:19 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
> -------
> 
> Summary of changes:
> - The PreemptorImpl now only hosts slot validation and task preemption logic 
> and requires a write transaction.
> - PendingTaskProcessor is called every minute to pull all available PENDING 
> tasks and search for preemption slots.
> - TaskScheduler has no connection to slot search anymore. It now completely 
> relies on periodic PreemptionService to find available slots.
> - preemption_delay is reduced from 10 to 3 minutes.
> 
> Benchmark refactoring will be addressed separately.
> 
> 
> Diffs
> -----
> 
>   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
> 5309e8140fff411da30ee87c1b3b1a55d6fdaeeb 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
> 1b9d741dba7b9c2663ff119cd44adc8403c0d257 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
>  PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
>  4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
>  84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
>   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
> 84791a272f245c729706af95d70c7f1631bfe99c 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
> 18a2e6032ba86ff7efab4d42a4d83798a1d06b06 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
>  782e751f5b05391ebeee4d947570cc174dddece2 
>   
> src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
>  7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
>   src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java 
> da7b662c3ca4040221805cba81e5ac7b64fb3df4 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
> 29fe156da19f3c08af00a951bb3baccf2b97a6cb 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
> f5c2128e90eb5c849d68431225661d1cfa7da0cc 
>   
> src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java
>  PRE-CREATION 
>   
> src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
>  d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
>   
> src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
>  0e2e958a053e5cee280b947f7349c076e2addb45 
> 
> Diff: https://reviews.apache.org/r/32352/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew -Pq build
> Manual testing in vagrant.
> 
> 
> Thanks,
> 
> Maxim Khutornenko
> 
>

Reply via email to