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=a6c56a547370ef1eca8d95240131985f92e2c5df;hb=0175a376323f6c916b5a4340a27751ebef22fc83;hp=aeaad4880614445d4d708353c8644c1233a4e83d;hpb=3859df9beca8f13f1ff2b2744ed3470a1715bec3;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 aeaad48806..a6c56a5473 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 @@ -122,14 +122,15 @@ abstract class ShardRecoveryCoordinator implements RaftActorRecoveryCohort { public void applyRecoverySnapshot(final Snapshot.State snapshotState) { if (!(snapshotState instanceof ShardSnapshotState)) { 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",