RFR: 8232524: SynchronizedObservableMap cannot be be protected for copying/iterating

Robert Lichtenberger rlichten at openjdk.java.net
Wed Dec 4 14:50:21 UTC 2019


On Tue, 3 Dec 2019 05:08:49 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:

> On Mon, 21 Oct 2019 10:19:04 GMT, Robert Lichtenberger <rlichten at openjdk.org> wrote:
> 
>> By using the collection itself as synchronization lock we achieve behaviour that matches java.util.Collections classes.
>> 
>> I've create test cases that fail with the current way of synchronizing on a separate object.
>> 
>> I've removed unused constructors.
>> 
>> ----------------
>> 
>> Commits:
>>  - 7e80839f: 8232524: SynchronizedObservableMap cannot be be protected for copying/iterating
>>  - 8ecf3545: JDK-8232524 fixed.
>> 
>> Changes: https://git.openjdk.java.net/jfx/pull/17/files
>>  Webrev: https://webrevs.openjdk.java.net/jfx/17/webrev.00
>>   Issue: https://bugs.openjdk.java.net/browse/JDK-8232524
>>   Stats: 120 lines in 2 files changed: 95 ins; 17 del; 8 mod
>>   Patch: https://git.openjdk.java.net/jfx/pull/17.diff
>>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/17/head:pull/17
> 
> The change looks good to me, added a comment for a small change in test.
> 
> modules/javafx.base/src/test/java/test/javafx/collections/FXCollectionsTest.java line 730:
> 
>> 729:             } catch (ConcurrentModificationException e) {
>> 730:                 fail("ConcurrentModificationException should not be thrown");
>> 731:             }
> 
> The thread should be terminated here too, please add `thread.terminate();` before `fail()`
> 
> ----------------
> 
> Changes requested by arapte (Reviewer).

You're right. I just pushed the fix.

PR: https://git.openjdk.java.net/jfx/pull/17


More information about the openjfx-dev mailing list