Relax AbstractDataObjectModification.childNodesCache 15/106215/3
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 28 May 2023 20:04:12 +0000 (22:04 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 29 May 2023 08:06:13 +0000 (10:06 +0200)
commitbc8cd94d3d317d783963524e63842310bc206ab1
treeb2914a8af7176e59fe32f199c92746c87f263fcb
parent670cf079450a54bf695e962800ee92412b2a443f
Relax AbstractDataObjectModification.childNodesCache

This is quite a critical part of computation: use
getAcquire()/setRelease() mechanics. There is a twist, since the object
is an ImmutableList -- use compare-and-swap to ensure concurrent loads
result in the same list.

Change-Id: I4ea9773f415cd03bbba2e8068ce54367dd1d46de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/AbstractDataObjectModification.java