BUG 2185: Expand the scope of sync status to cover a slow follower
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / jmx / mbeans / shardmanager / ShardManagerInfo.java
index aaac644b558b3e1913facbd01bc5a07536bf30ee..5de46cb87b928ba53a85ad6fb8a2d5ec2bda2d37 100644 (file)
@@ -29,20 +29,22 @@ public class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfo
 
     private static final Logger LOG = LoggerFactory.getLogger(ShardManagerInfo.class);
 
+    private final String memberName;
     private final List<String> localShards;
 
     private boolean syncStatus = false;
 
     private ShardManager shardManager;
 
-    public ShardManagerInfo(String name, String mxBeanType, List<String> localShards) {
+    public ShardManagerInfo(String memberName, String name, String mxBeanType, List<String> localShards) {
         super(name, mxBeanType, JMX_CATEGORY_SHARD_MANAGER);
+        this.memberName = memberName;
         this.localShards = localShards;
     }
 
-    public static ShardManagerInfo createShardManagerMBean(String name, String mxBeanType,
+    public static ShardManagerInfo createShardManagerMBean(String memberName, String name, String mxBeanType,
             List<String> localShards){
-        ShardManagerInfo shardManagerInfo = new ShardManagerInfo(name, mxBeanType, localShards);
+        ShardManagerInfo shardManagerInfo = new ShardManagerInfo(memberName, name, mxBeanType, localShards);
 
         shardManagerInfo.registerMBean();
 
@@ -59,6 +61,11 @@ public class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfo
         return this.syncStatus;
     }
 
+    @Override
+    public String getMemberName() {
+        return memberName;
+    }
+
     @Override
     public void switchAllLocalShardsState(String newState, long term) {
         LOG.info("switchAllLocalShardsState called newState = {}, term = {}", newState, term);