From 55f94e01254f96075dfddf52b1eec08567e0cb16 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Fri, 5 Sep 2014 09:08:48 +0200 Subject: [PATCH 1/1] Bug 1703: Added debug logging of ignored event to ease debuging. Change-Id: Ic7bcbc249bb35018561d28d757dadca8509b933c Signed-off-by: Tony Tkacik --- .../BindingTranslatedTransactionChain.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingTranslatedTransactionChain.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingTranslatedTransactionChain.java index d16170ba48..73c81ca3a3 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingTranslatedTransactionChain.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingTranslatedTransactionChain.java @@ -25,8 +25,12 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.yangtools.concepts.Delegator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -class BindingTranslatedTransactionChain implements BindingTransactionChain, Delegator { +final class BindingTranslatedTransactionChain implements BindingTransactionChain, Delegator { + + private static final Logger LOG = LoggerFactory.getLogger(BindingTranslatedTransactionChain.class); private final DOMTransactionChain delegate; private final BindingToNormalizedNodeCodec codec; @@ -82,7 +86,7 @@ class BindingTranslatedTransactionChain implements BindingTransactionChain, Dele return bindingTx; } - protected CheckedFuture listenForFailure( + private CheckedFuture listenForFailure( final WriteTransaction tx, CheckedFuture future) { Futures.addCallback(future, new FutureCallback() { @Override @@ -99,10 +103,13 @@ class BindingTranslatedTransactionChain implements BindingTransactionChain, Dele return future; } - protected void failTransactionChain(WriteTransaction tx, Throwable t) { - // We asume correct state change for underlaying transaction - // chain, so we are not changing any of our internal state - // to mark that we failed. + private void failTransactionChain(WriteTransaction tx, Throwable t) { + /* + * We asume correct state change for underlaying transaction + * + * chain, so we are not changing any of our internal state + * to mark that we failed. + */ this.delegatingListener.onTransactionChainFailed(this, tx, t); } @@ -116,14 +123,18 @@ class BindingTranslatedTransactionChain implements BindingTransactionChain, Dele @Override public void onTransactionChainFailed(final TransactionChain chain, final AsyncTransaction transaction, final Throwable cause) { + Preconditions.checkState(delegate.equals(chain), + "Illegal state - listener for %s was invoked for incorrect chain %s.", delegate, chain); /* * Intentionally NOOP, callback for failure, since we - * are also listening on each transaction for failure. + * are also listening on each transaction future for failure, + * in order to have reference to Binding Transaction (which was seen by client + * of this transaction chain), instead of DOM transaction + * which is known only to this chain, binding transaction implementation + * and underlying transaction chain. * - * by listening on submit future for Binding transaction - * in order to provide Binding transaction (which was seen by client - * of this transaction chain, instead of - */ + */ + LOG.debug("Transaction chain {} failed. Failed DOM Transaction {}",this,transaction,cause); } @Override -- 2.36.6