X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmdsal-trace%2Fdom-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Ftrace%2Fdom%2Fimpl%2FAbstractTracingWriteTransaction.java;h=9064baa36a0e5ed65b09df45e1767e9cd5964422;hp=319f214dc873b72c8fe0e9ab444486b7529fae5f;hb=aaea3e9a92ae9d6fac04c4a065db4b35cbca9ed0;hpb=e19fa28482a49f7fa07583d57973d32c4ebea61b diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java index 319f214dc8..9064baa36a 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java @@ -7,21 +7,20 @@ */ package org.opendaylight.controller.md.sal.trace.dom.impl; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableSet; -import com.google.common.util.concurrent.CheckedFuture; -import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.FluentFuture; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.Set; -import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +@Deprecated(forRemoval = true) abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransaction { private final DOMDataWriteTransaction delegate; @@ -29,13 +28,14 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio private final List logs = new ArrayList<>(); AbstractTracingWriteTransaction(DOMDataWriteTransaction delegate, TracingBroker tracingBroker) { - this.delegate = Objects.requireNonNull(delegate); - this.tracingBroker = Objects.requireNonNull(tracingBroker); + this.delegate = requireNonNull(delegate); + this.tracingBroker = requireNonNull(tracingBroker); + recordOp(null, null, "instantiate", null); } private void recordOp(LogicalDatastoreType store, YangInstanceIdentifier yiid, String method, NormalizedNode node) { - if (!tracingBroker.isWriteWatched(yiid, store)) { + if (yiid != null && !tracingBroker.isWriteWatched(yiid, store)) { return; } @@ -47,14 +47,22 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio } } else { StringBuilder sb = new StringBuilder(); - sb.append("Method \"").append(method); - sb.append("\" to ").append(store); - sb.append(" at ").append(tracingBroker.toPathString(yiid)).append('.'); - sb.append(" Data: "); - if (node != null) { - sb.append(node.getValue()); - } else { - sb.append("null"); + sb.append("Method \"").append(method).append('"'); + if (store != null) { + sb.append(" to ").append(store); + } + if (yiid != null) { + sb.append(" at ").append(tracingBroker.toPathString(yiid)); + } + sb.append('.'); + if (yiid != null) { + // If we don’t have an id, we don’t expect data either + sb.append(" Data: "); + if (node != null) { + sb.append(node.getValue()); + } else { + sb.append("null"); + } } sb.append(" Stack:").append(tracingBroker.getStackSummary()); synchronized (this) { @@ -65,7 +73,10 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio private synchronized void logOps() { synchronized (this) { - logs.forEach(log -> TracingBroker.LOG.warn(log)); + if (TracingBroker.LOG.isWarnEnabled()) { + TracingBroker.LOG.warn("Transaction {} contains the following operations:", getIdentifier()); + logs.forEach(TracingBroker.LOG::warn); + } logs.clear(); } } @@ -87,8 +98,7 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio synchronized (this) { logs.clear(); } - boolean result = delegate.cancel(); - return result; + return delegate.cancel(); } @Override @@ -98,13 +108,8 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio } @Override - public CheckedFuture submit() { - logOps(); - return delegate.submit(); - } - - @Override - public ListenableFuture> commit() { + public FluentFuture commit() { + recordOp(null, null, "commit", null); logOps(); return delegate.commit(); }