-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41915/
-----------------------------------------------------------
Review request for Aurora, Maxim Khutornenko and Bill Farner.
Bugs: AURORA-1570
https://issues.apache.org/jira/browse/AURORA-1570
Repository: aurora
Description
-------
Previously, a mock threading.Event was waited on in one thread
and the count of waits was read in another thread. Most thread
memory models do not guaranty reads a fresh in this scenario
unless there is a memory barrier of some sort forcing per-cpu
caches to be flushed.
This change uses the underlying threading.Event as the memory
barrier instead of mocking it and just wraps the event to record
calls manually.
src/main/python/apache/thermos/observer/task_observer.py | 5 +++--
src/test/python/apache/thermos/observer/test_task_observer.py | 36
++++++++++++++++++++++++------------
2 files changed, 27 insertions(+), 14 deletions(-)
Diffs
-----
src/main/python/apache/thermos/observer/task_observer.py
1485de8faef52716f11b82a3556064de26c67427
src/test/python/apache/thermos/observer/test_task_observer.py
ace15c5305e75fac3a82971f4d71b92bcb37bafc
Diff: https://reviews.apache.org/r/41915/diff/
Testing
-------
Before this change I got a failure between 1/5 and 1/10th of the
time via:
```
while true
do
./pants test src/test/python/apache/thermos/observer/ -- -kTaskObserverTest
done
```
After the change I cannot trigger the failure.
Thanks,
John Sirois