From f4d693177a6b3ef7220bbdfaf1606f483731cae4 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 8 Nov 2022 12:23:19 +0100 Subject: [PATCH] Improve AbstractDOMTransactionFactory AutoCloseable.close() is recommended to be idempotent, follow that guidance, producing a warning with a stack trace if that is not the case. Change-Id: I1b65466f9b84e05417d8cd24c1b7a5e89e8e836b Signed-off-by: Robert Varga --- .../databroker/AbstractDOMTransactionFactory.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMTransactionFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMTransactionFactory.java index 91ca744f76..afbef9dd71 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMTransactionFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMTransactionFactory.java @@ -21,12 +21,17 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class AbstractDOMTransactionFactory implements AutoCloseable { + private static final Logger LOG = LoggerFactory.getLogger(AbstractDOMTransactionFactory.class); @SuppressWarnings("rawtypes") private static final AtomicIntegerFieldUpdater UPDATER = AtomicIntegerFieldUpdater.newUpdater(AbstractDOMTransactionFactory.class, "closed"); + private final Map storeTxFactories; + private volatile int closed = 0; protected AbstractDOMTransactionFactory(final Map txFactories) { @@ -112,7 +117,8 @@ public abstract class AbstractDOMTransactionFactory