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%2FShardRecoveryCoordinator.java;h=87d70da1ab3a9c41b0898b7a8551242655b297ee;hb=546cd1fd100dbaa36908b22c2f422320dbd8c4b2;hp=5fc3c7adc262242a261aa0cb145a1ec5c9005e7e;hpb=0c2d8a6530db21b1ca89aff8ee3812aa801cddac;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinator.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinator.java index 5fc3c7adc2..87d70da1ab 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinator.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinator.java @@ -7,7 +7,9 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import java.io.File; import org.opendaylight.controller.cluster.datastore.persisted.ShardDataTreeSnapshot; import org.opendaylight.controller.cluster.datastore.persisted.ShardSnapshotState; @@ -44,7 +46,7 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { WithSnapshot(final ShardDataTree store, final String shardName, final Logger log, final Snapshot snapshot) { super(store, shardName, log); - this.restoreFromSnapshot = Preconditions.checkNotNull(snapshot); + this.restoreFromSnapshot = requireNonNull(snapshot); } @Override @@ -60,9 +62,9 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { private boolean open; ShardRecoveryCoordinator(final ShardDataTree store, final String shardName, final Logger log) { - this.store = Preconditions.checkNotNull(store); - this.shardName = Preconditions.checkNotNull(shardName); - this.log = Preconditions.checkNotNull(log); + this.store = requireNonNull(store); + this.shardName = requireNonNull(shardName); + this.log = requireNonNull(log); } static ShardRecoveryCoordinator create(final ShardDataTree store, final String shardName, final Logger log) { @@ -83,7 +85,7 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { @Override @SuppressWarnings("checkstyle:IllegalCatch") public void appendRecoveredLogEntry(final Payload payload) { - Preconditions.checkState(open, "call startLogRecovery before calling appendRecoveredLogEntry"); + checkState(open, "call startLogRecovery before calling appendRecoveredLogEntry"); try { store.applyRecoveryPayload(payload); @@ -99,11 +101,11 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { */ @Override public void applyCurrentLogRecoveryBatch() { - Preconditions.checkState(open, "call startLogRecovery before calling applyCurrentLogRecoveryBatch"); + checkState(open, "call startLogRecovery before calling applyCurrentLogRecoveryBatch"); open = false; } - private File writeRoot(final String kind, final NormalizedNode node) { + private File writeRoot(final String kind, final NormalizedNode node) { final File file = new File(System.getProperty("karaf.data", "."), "failed-recovery-" + kind + "-" + shardName + ".xml"); NormalizedNodeXMLOutput.toFile(file, node); @@ -119,15 +121,16 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { @SuppressWarnings("checkstyle:IllegalCatch") public void applyRecoverySnapshot(final Snapshot.State snapshotState) { if (!(snapshotState instanceof ShardSnapshotState)) { - log.debug("{}: applyRecoverySnapshot ignoring snapshot: {}", snapshotState); + log.debug("{}: applyRecoverySnapshot ignoring snapshot: {}", shardName, snapshotState); + return; } log.debug("{}: Applying recovered snapshot", shardName); - - ShardDataTreeSnapshot shardSnapshot = ((ShardSnapshotState)snapshotState).getSnapshot(); + final ShardSnapshotState shardSnapshotState = (ShardSnapshotState)snapshotState; try { - store.applyRecoverySnapshot(shardSnapshot); + store.applyRecoverySnapshot(shardSnapshotState); } catch (Exception e) { + final ShardDataTreeSnapshot shardSnapshot = shardSnapshotState.getSnapshot(); final File f = writeRoot("snapshot", shardSnapshot.getRootNode().orElse(null)); throw new IllegalStateException(String.format( "%s: Failed to apply recovery snapshot %s. Node data was written to file %s",