> On Jan. 21, 2016, 3:50 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/pruning/TaskHistoryPruner.java, 
> > line 108
> > <https://reviews.apache.org/r/42332/diff/4/?file=1204701#file1204701line108>
> >
> >     Why BlockingQueue and not something like ConcurrentLinkedQueue? There 
> > is nothing to block here for.
> 
> Zameer Manji wrote:
>     `BlockingQueue` has the `drainTo` method which I think makes the 
> iteration nicer.
> 
> Maxim Khutornenko wrote:
>     The price for that is excessive locking and lower perf. You can do the 
> same with a faster ConcurrentLinkedQueue and avoid extra collection copying:
>     
>     ```
>           FutureTask<Void> task;
>           while((task = q.poll()) != null) {
>             task.get();
>           }
>     ```
> 
> Zameer Manji wrote:
>     Done.

I just want to temper perf concerns with the fact that there are exactly 2 
threads involved here - 1 from EventBus (no AllowConcurrentEvents used here), 
and this 1 polling thread in the main service lifecycle - perf should not 
actually matter here in any reasonable scenario I can think of.

That said - this code reads ~just as clearly so I see no problems with the 
switch.


- John


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


On Jan. 21, 2016, 4:43 p.m., Zameer Manji wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42332/
> -----------------------------------------------------------
> 
> (Updated Jan. 21, 2016, 4:43 p.m.)
> 
> 
> Review request for Aurora, John Sirois and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-1582
>     https://issues.apache.org/jira/browse/AURORA-1582
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Task pruning is key to operating a large cluster and failure to prune should 
> trigger shutdown to prevent unbounded growth of storage. This patch turns 
> `TaskHistoryPruner` into a service which propagates failure from failed 
> pruning attempts towards the `ServiceManager`. Also completing a TODO which 
> removes a test for behaviour that is very awkward to test for.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/pruning/PruningModule.java 
> 735199ac1ccccab343c24471890aa330d6635c26 
>   src/main/java/org/apache/aurora/scheduler/pruning/TaskHistoryPruner.java 
> 2064089937f5178b1413d386a312f4173a0e35fb 
>   
> src/test/java/org/apache/aurora/scheduler/pruning/TaskHistoryPrunerTest.java 
> 295960f13693c6ba0d7075a8ef7f9680a91ae69d 
> 
> Diff: https://reviews.apache.org/r/42332/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> e2e tests
> 
> 
> Thanks,
> 
> Zameer Manji
> 
>

Reply via email to