aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner" <wfar...@apache.org>
Subject Re: Review Request 20066: Remove duplicate task throttling behavior from TaskGroups, fix a few race conditions.
Date Sun, 06 Apr 2014 19:29:23 GMT

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

(Updated April 6, 2014, 7:29 p.m.)


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Summary (updated)
-----------------

Remove duplicate task throttling behavior from TaskGroups, fix a few race conditions.


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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message