From: Robert Varga Date: Fri, 5 Nov 2021 10:25:41 +0000 (+0100) Subject: Correct annotations X-Git-Tag: v4.0.6~9 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=d502ae8e1529b69af55a59c3e664a02457c05ec6;hp=5041389b273212eb0c643cc071fd48ad1166d864 Correct annotations Correct @GuardedBy vs @Holding and add @NonNull annotations. Change-Id: I2142b1c5910f2388e8f30a04f7ff8bc8237dde26 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHandle.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHandle.java index 842bc00d91..90971b31ce 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHandle.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHandle.java @@ -43,8 +43,8 @@ public abstract class AbstractClientHandle e private static final AtomicReferenceFieldUpdater STATE_UPDATER = AtomicReferenceFieldUpdater.newUpdater(AbstractClientHandle.class, State.class, "state"); - private final TransactionIdentifier transactionId; - private final AbstractClientHistory parent; + private final @NonNull TransactionIdentifier transactionId; + private final @NonNull AbstractClientHistory parent; private volatile State state = new State<>(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java index 4429230796..d445d3c2f6 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java @@ -20,6 +20,8 @@ import java.util.concurrent.atomic.AtomicLongFieldUpdater; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.concurrent.locks.StampedLock; import org.checkerframework.checker.lock.qual.GuardedBy; +import org.checkerframework.checker.lock.qual.Holding; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.client.AbstractClientConnection; import org.opendaylight.controller.cluster.access.client.ConnectedClientConnection; import org.opendaylight.controller.cluster.access.client.ConnectionEntry; @@ -62,8 +64,8 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id private final Map histories = new ConcurrentHashMap<>(); private final StampedLock lock = new StampedLock(); - private final AbstractDataStoreClientBehavior client; - private final LocalHistoryIdentifier identifier; + private final @NonNull AbstractDataStoreClientBehavior client; + private final @NonNull LocalHistoryIdentifier identifier; // Used via NEXT_TX_UPDATER @SuppressWarnings("unused") @@ -135,7 +137,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id * * @throws InversibleLockException if the shard is being reconnected */ - @GuardedBy("lock") + @Holding("lock") private ProxyHistory createHistoryProxy(final Long shard) { final AbstractClientConnection connection = client.getConnection(shard); final LocalHistoryIdentifier proxyId = new LocalHistoryIdentifier(identifier.getClientId(), @@ -159,7 +161,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id LOG.debug("Create history response {}", response); } - private ProxyHistory ensureHistoryProxy(final TransactionIdentifier transactionId, final Long shard) { + private @NonNull ProxyHistory ensureHistoryProxy(final TransactionIdentifier transactionId, final Long shard) { while (true) { try { // Short-lived lock to ensure exclusion of createHistoryProxy and the lookup phase in startReconnect, @@ -178,11 +180,13 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id } } - final AbstractProxyTransaction createSnapshotProxy(final TransactionIdentifier transactionId, final Long shard) { + final @NonNull AbstractProxyTransaction createSnapshotProxy(final TransactionIdentifier transactionId, + final Long shard) { return ensureHistoryProxy(transactionId, shard).createTransactionProxy(transactionId, true); } - final AbstractProxyTransaction createTransactionProxy(final TransactionIdentifier transactionId, final Long shard) { + final @NonNull AbstractProxyTransaction createTransactionProxy(final TransactionIdentifier transactionId, + final Long shard) { return ensureHistoryProxy(transactionId, shard).createTransactionProxy(transactionId, false); } @@ -199,7 +203,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id * @throws DOMTransactionChainClosedException if this history is closed * @throws IllegalStateException if a previous dependent transaction has not been closed */ - public ClientTransaction createTransaction() { + public @NonNull ClientTransaction createTransaction() { checkNotClosed(); synchronized (this) { @@ -226,10 +230,10 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id } } - @GuardedBy("this") + @Holding("this") abstract ClientSnapshot doCreateSnapshot(); - @GuardedBy("this") + @Holding("this") abstract ClientTransaction doCreateTransaction(); /** diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java index 340cc5581f..92284e05a2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java @@ -24,6 +24,7 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.function.Consumer; import org.checkerframework.checker.lock.qual.GuardedBy; import org.checkerframework.checker.lock.qual.Holding; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.client.AbstractClientConnection; import org.opendaylight.controller.cluster.access.client.ClientActorContext; import org.opendaylight.controller.cluster.access.client.ConnectedClientConnection; @@ -319,9 +320,9 @@ abstract class ProxyHistory implements Identifiable { private static final Logger LOG = LoggerFactory.getLogger(ProxyHistory.class); private final Lock lock = new ReentrantLock(); - private final LocalHistoryIdentifier identifier; - private final AbstractClientConnection connection; - private final AbstractClientHistory parent; + private final @NonNull LocalHistoryIdentifier identifier; + private final @NonNull AbstractClientConnection connection; + private final @NonNull AbstractClientHistory parent; @GuardedBy("lock") private final Map proxies = new LinkedHashMap<>(); @@ -451,11 +452,12 @@ abstract class ProxyHistory implements Identifiable { connection.sendRequest(request, callback); } - @GuardedBy("lock") + @Holding("lock") @SuppressWarnings("checkstyle:hiddenField") abstract AbstractProxyTransaction doCreateTransactionProxy(AbstractClientConnection connection, TransactionIdentifier txId, boolean snapshotOnly, boolean isDone); + @Holding("lock") @SuppressWarnings("checkstyle:hiddenField") abstract ProxyHistory createSuccessor(AbstractClientConnection connection);