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

(Updated Aug. 30, 2017, 9:24 p.m.)


Review request for Aurora, David McLaughlin, Dmitry Zhuk, Santhosh Kumar 
Shanmugham, and Stephan Erb.


Changes
-------

Avoid extra copies by using `.toSet()`


Repository: aurora


Description
-------

Currently, `getOffers` and `getWeaklyConsistentOffers` provide iterables that 
use lambdas (in filter) not backed by concurrent data structures 
(`globallyBannedOffers` and `staticallyBannedOffers`). This can lead to a race 
condition where we have unknown behavior if reading and modification happens at 
the same time.

To fix this, in `getOffers` we will revert to the previous behavior (before 
patch https://reviews.apache.org/r/61804/) where we create a copy of the 
current offers as well as a copy of the banned offers for consistency.

For `getWeaklyConsistentOffers`, we will use concurrent data structures for 
`globallyBannedOffers` and `staticallyBannedOffers` so we don't have a race 
that may produce unknown side effects.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 
5697d2e2eb001042511924442ff2dbe358451642 


Diff: https://reviews.apache.org/r/61918/diff/4/

Changes: https://reviews.apache.org/r/61918/diff/3-4/


Testing
-------

Unit tests pass.

Currently running end to end test and testing on a live cluster.


Thanks,

Jordan Ly

Reply via email to