Fix followerDistributedDataStore tear down
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / shardmanager / ShardManagerInfo.java
index 41a2afe19313964aedf75832d5e56ac8b0164e1b..8577a5914c0389905f9f55d4fff8fb496ac91cff 100644 (file)
@@ -5,12 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.controller.cluster.datastore.shardmanager;
 
+import static java.util.Objects.requireNonNull;
+
 import akka.actor.ActorRef;
 import akka.pattern.Patterns;
-import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
 import java.util.List;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
@@ -38,18 +38,19 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM
     ShardManagerInfo(final ActorRef shardManager, final MemberName memberName, final String name,
         final String mxBeanType) {
         super(name, mxBeanType, JMX_CATEGORY_SHARD_MANAGER);
-        this.shardManager = Preconditions.checkNotNull(shardManager);
-        this.memberName = Preconditions.checkNotNull(memberName);
+        this.shardManager = requireNonNull(shardManager);
+        this.memberName = requireNonNull(memberName);
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked", "checkstyle:IllegalCatch"})
     @Override
     public List<String> getLocalShards() {
         try {
             return (List<String>) Await.result(
                 Patterns.ask(shardManager, GetLocalShardIds.INSTANCE, ASK_TIMEOUT_MILLIS), Duration.Inf());
         } catch (Exception e) {
-            throw Throwables.propagate(e);
+            Throwables.throwIfUnchecked(e);
+            throw new IllegalStateException(e);
         }
     }
 
@@ -58,7 +59,7 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM
         return syncStatus;
     }
 
-    void setSyncStatus(boolean syncStatus) {
+    void setSyncStatus(final boolean syncStatus) {
         this.syncStatus = syncStatus;
     }
 
@@ -67,6 +68,7 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM
         return memberName.getName();
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void requestSwitchShardState(final ShardIdentifier shardId, final String newState, final long term) {
         // Validates strings argument
         final RaftState state = RaftState.valueOf(newState);
@@ -79,7 +81,8 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM
                     Await.result(Patterns.ask(shardManager, new SwitchShardBehavior(shardId, state, term),
                         ASK_TIMEOUT_MILLIS), Duration.Inf());
                 } catch (Exception e) {
-                    throw Throwables.propagate(e);
+                    Throwables.throwIfUnchecked(e);
+                    throw new IllegalStateException(e);
                 }
                 break;
             case Candidate:
@@ -90,13 +93,13 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM
     }
 
     @Override
-    public void switchAllLocalShardsState(String newState, long term) {
+    public void switchAllLocalShardsState(final String newState, final long term) {
         LOG.info("switchAllLocalShardsState called newState = {}, term = {}", newState, term);
         requestSwitchShardState(null, newState, term);
     }
 
     @Override
-    public void switchShardState(String shardId, String newState, long term) {
+    public void switchShardState(final String shardId, final String newState, final long term) {
         final ShardIdentifier identifier = ShardIdentifier.fromShardIdString(shardId);
         LOG.info("switchShardState called shardName = {}, newState = {}, term = {}", shardId, newState, term);
         requestSwitchShardState(identifier, newState, term);