----------------------------------------------------------- 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