From 9db0c2407dbca4b9ac3e1a0f3217b3050bfa9797 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 23 Jan 2018 19:13:10 +0100 Subject: [PATCH 1/1] Add AbstractDOMBrokerTransaction.toString() It is quite common for applications to mis-synchronize transaction chain closure, which may lead to stale transactions. Unfortunately the message produced in such situations: 2017-12-21 14:21:56,008 | ERROR | CommitFutures-48 | ExecutionList | 38 - com.google.guava - 18.0.0 | RuntimeException while executing runnable com.google.common.util.concurrent.Futures$6@6d954ae with executor INSTANCE java.lang.IllegalStateException: Attempted to close chain with outstanding transaction PingPongTransaction{delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@7523c916} does not give us enough information to correlate the impact of such failures. Add AbstractDOMBrokerTransaction.toString(), which results in the message having actual transaction identifier, so that these failures can be correlated. Change-Id: Id4620df4285ec6d3ba24bbcd8f5ab8c1a29e0687 Signed-off-by: Robert Varga --- .../databroker/AbstractDOMBrokerTransaction.java | 11 +++++++++++ .../databroker/AbstractDOMBrokerWriteTransaction.java | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java index 800460c712..180623edf8 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java @@ -8,6 +8,8 @@ package org.opendaylight.controller.cluster.databroker; +import com.google.common.base.MoreObjects; +import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.Preconditions; import java.util.Collection; import java.util.EnumMap; @@ -105,4 +107,13 @@ public abstract class AbstractDOMBrokerTransaction