aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner" <>
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:

(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

Repository: aurora


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.


  src/main/java/org/apache/aurora/scheduler/async/ ece7e3a46075edfa881c8750c491d35fdb2b98a8

  src/main/java/org/apache/aurora/scheduler/async/ 6c95c6f7695cb8126105818528900cb09887ad3e

  src/main/java/org/apache/aurora/scheduler/async/ 263235ce7c279f98920d7681f6162458be40593c

  src/test/java/org/apache/aurora/scheduler/async/ PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/async/ 65e00f70cc860b2d225335e4487add2a903e72bb

  src/test/java/org/apache/aurora/scheduler/async/ ce03abc5248dbc95306c759a04828830e3057b81



./gradlew build


Bill Farner

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