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

Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Bugs: AURORA-302
    https://issues.apache.org/jira/browse/AURORA-302


Repository: aurora


Description
-------

TaskGroups suffered from (at least) two race conditions:

- When a group is added, the call to TaskGroup#push() would race (and normally 
beat) the async Runnable execution.  However, if the latter won, it would 
result in skipping further evaluations of the group forever.

- A task ID was removed from the TaskGroup while being evaluated.  If the task 
was deleted during this time, the task would be added back to the TaskGroup and 
re-evaluated later.  This case was benign since the subsequent evaluation would 
discover that the task does not exist.

Test cases were added to TaskGroupsTest to reproduce these scenarios.

In addition to these problems, TaskGroups was still performing throttling of 
flapping tasks, despite TaskThrottler being introduced for that purpose.  
Removing that extra code simplifies things quite a bit.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/async/TaskGroup.java 
ece7e3a46075edfa881c8750c491d35fdb2b98a8 
  src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 
6c95c6f7695cb8126105818528900cb09887ad3e 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
263235ce7c279f98920d7681f6162458be40593c 
  src/test/java/org/apache/aurora/scheduler/async/TaskGroupsTest.java 
PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
65e00f70cc860b2d225335e4487add2a903e72bb 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
ce03abc5248dbc95306c759a04828830e3057b81 

Diff: https://reviews.apache.org/r/20066/diff/


Testing
-------

./gradlew build


Thanks,

Bill Farner

Reply via email to