X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FFrontendClientMetadataBuilder.java;h=763b2e92cda777107789faa13489fcc1d9ed1c03;hp=ec2cdb6daa209a9f7ad2b2474ccf454166f9da57;hb=127042ea7e148d9dc0282acc3780b4754ca69e12;hpb=d2f03dcaedbf68a62d524fb066a1044007714c76 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java index ec2cdb6daa..763b2e92cd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java @@ -7,22 +7,21 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + +import com.google.common.base.MoreObjects; import com.google.common.collect.Collections2; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import com.google.common.collect.TreeRangeSet; -import com.google.common.primitives.UnsignedLong; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nonnull; import javax.annotation.concurrent.NotThreadSafe; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.persisted.FrontendClientMetadata; import org.opendaylight.controller.cluster.datastore.persisted.FrontendHistoryMetadata; +import org.opendaylight.controller.cluster.datastore.utils.UnsignedLongRangeSet; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.concepts.Identifiable; import org.slf4j.Logger; @@ -33,21 +32,25 @@ final class FrontendClientMetadataBuilder implements Builder currentHistories = new HashMap<>(); - private final RangeSet purgedHistories; + private final UnsignedLongRangeSet purgedHistories; + private final LocalHistoryIdentifier standaloneId; private final ClientIdentifier identifier; + private final String shardName; - FrontendClientMetadataBuilder(final ClientIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); - purgedHistories = TreeRangeSet.create(); + FrontendClientMetadataBuilder(final String shardName, final ClientIdentifier identifier) { + this.shardName = requireNonNull(shardName); + this.identifier = requireNonNull(identifier); + purgedHistories = UnsignedLongRangeSet.create(); // History for stand-alone transactions is always present - final LocalHistoryIdentifier standaloneId = standaloneHistoryId(); + standaloneId = standaloneHistoryId(); currentHistories.put(standaloneId, new FrontendHistoryMetadataBuilder(standaloneId)); } - FrontendClientMetadataBuilder(final FrontendClientMetadata meta) { - this.identifier = Preconditions.checkNotNull(meta.getIdentifier()); - purgedHistories = TreeRangeSet.create(meta.getPurgedHistories()); + FrontendClientMetadataBuilder(final String shardName, final FrontendClientMetadata meta) { + this.shardName = requireNonNull(shardName); + this.identifier = meta.getIdentifier(); + purgedHistories = UnsignedLongRangeSet.create(meta.getPurgedHistories()); for (FrontendHistoryMetadata h : meta.getCurrentHistories()) { final FrontendHistoryMetadataBuilder b = new FrontendHistoryMetadataBuilder(identifier, h); @@ -55,10 +58,10 @@ final class FrontendClientMetadataBuilder implements Builder histories = new HashMap<>(); for (FrontendHistoryMetadataBuilder e : currentHistories.values()) { if (e.getIdentifier().getHistoryId() != 0) { final AbstractFrontendHistory state = e.toLeaderState(shard); - Verify.verify(state instanceof LocalFrontendHistory); + verify(state instanceof LocalFrontendHistory, "Unexpected state %s", state); histories.put(e.getIdentifier(), (LocalFrontendHistory) state); } } @@ -169,10 +177,24 @@ final class FrontendClientMetadataBuilder implements Builder