X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FCohortEntry.java;h=120b004a6e9bf44513acc784df5efe619232abe0;hb=HEAD;hp=5e5d0f16cd220759c7ad3d1a99dfa8e6c8f61f06;hpb=bb04f62f467cc6e6f0922ba8957b09715707940d;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/CohortEntry.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/CohortEntry.java index 5e5d0f16cd..120b004a6e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/CohortEntry.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/CohortEntry.java @@ -7,18 +7,24 @@ */ package org.opendaylight.controller.cluster.datastore; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; -import com.google.common.base.Preconditions; import com.google.common.primitives.UnsignedLong; import com.google.common.util.concurrent.FutureCallback; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import java.util.List; import java.util.Optional; import java.util.SortedSet; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.CohortDecorator; import org.opendaylight.controller.cluster.datastore.modification.Modification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; +import org.opendaylight.yangtools.yang.common.Empty; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +@Deprecated(since = "9.0.0", forRemoval = true) final class CohortEntry { private final ReadWriteShardDataTreeTransaction transaction; private final TransactionIdentifier transactionId; @@ -26,22 +32,23 @@ final class CohortEntry { private RuntimeException lastBatchedModificationsException; private int totalBatchedModificationsReceived; + private int totalOperationsProcessed; private ShardDataTreeCohort cohort; private boolean doImmediateCommit; private ActorRef replySender; private Shard shard; private CohortEntry(final ReadWriteShardDataTreeTransaction transaction, final short clientVersion) { - this.cohort = null; - this.transaction = Preconditions.checkNotNull(transaction); - this.transactionId = transaction.getIdentifier(); + cohort = null; + this.transaction = requireNonNull(transaction); + transactionId = transaction.getIdentifier(); this.clientVersion = clientVersion; } private CohortEntry(final ShardDataTreeCohort cohort, final short clientVersion) { - this.cohort = Preconditions.checkNotNull(cohort); - this.transactionId = cohort.getIdentifier(); - this.transaction = null; + this.cohort = requireNonNull(cohort); + transactionId = cohort.transactionId(); + transaction = null; this.clientVersion = clientVersion; } @@ -77,14 +84,20 @@ final class CohortEntry { return totalBatchedModificationsReceived; } + int getTotalOperationsProcessed() { + return totalOperationsProcessed; + } + RuntimeException getLastBatchedModificationsException() { return lastBatchedModificationsException; } @SuppressWarnings("checkstyle:IllegalCatch") - void applyModifications(final Iterable modifications) { + @SuppressFBWarnings(value = "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION", justification = "Re-thrown") + void applyModifications(final List modifications) { totalBatchedModificationsReceived++; if (lastBatchedModificationsException == null) { + totalOperationsProcessed += modifications.size(); for (Modification modification : modifications) { try { modification.apply(transaction.getSnapshot()); @@ -96,7 +109,7 @@ final class CohortEntry { } } - void canCommit(final FutureCallback callback) { + void canCommit(final FutureCallback callback) { cohort.canCommit(callback); } @@ -108,12 +121,12 @@ final class CohortEntry { cohort.commit(callback); } - void abort(final FutureCallback callback) { + void abort(final FutureCallback callback) { cohort.abort(callback); } void ready(final Optional> participatingShardNames, final CohortDecorator cohortDecorator) { - Preconditions.checkState(cohort == null, "cohort was already set"); + checkState(cohort == null, "cohort was already set"); cohort = transaction.ready(participatingShardNames);