From c7f26754e6544436caec4325eaa4c149e629d09c Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 27 Mar 2014 03:51:34 +0100 Subject: [PATCH] BUG-509: Fix thread safety of DOMDataBrokerImpl.ready() Transition to ready has to occur precisely once, so the process of taking cohorts has to be synchronized. Change-Id: I8ba8fe7437dd59547d04fec73f5cd9ed43232161 Signed-off-by: Robert Varga --- .../controller/md/sal/dom/broker/impl/DOMDataBrokerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataBrokerImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataBrokerImpl.java index fc87a91105..64a5606e3f 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataBrokerImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataBrokerImpl.java @@ -190,7 +190,7 @@ public class DOMDataBrokerImpl implements DOMDataBroker, AutoCloseable { this.broker = broker; } - public Iterable ready() { + public synchronized Iterable ready() { checkState(cohorts == null, "Transaction was already marked as ready."); ImmutableList.Builder cohortsBuilder = ImmutableList.builder(); for (DOMStoreWriteTransaction subTx : getSubtransactions()) { -- 2.36.6