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%2Fjmx%2Fmbeans%2Fshard%2FShardStats.java;h=577a03c3a35ae018d4f33ecdc7bedb30022c474e;hb=d8d8f731bbe6c58fcbd0e616734e2e230aaf4ab4;hp=945ae0a4786ab931a62c071533ec89842847a84e;hpb=7e7128f409df55b5bc1adaa892ed684ca03e7f66;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java index 945ae0a478..577a03c3a3 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java @@ -28,45 +28,47 @@ import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager; public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { public static String JMX_CATEGORY_SHARD = "Shards"; - private final AtomicLong committedTransactionsCount = new AtomicLong(); + private long committedTransactionsCount; - private final AtomicLong readOnlyTransactionCount = new AtomicLong(); + private long readOnlyTransactionCount; - private final AtomicLong writeOnlyTransactionCount = new AtomicLong(); + private long writeOnlyTransactionCount; - private final AtomicLong readWriteTransactionCount = new AtomicLong(); + private long readWriteTransactionCount; private String leader; private String raftState; - private volatile long lastLogTerm = -1L; + private long lastLogTerm = -1L; - private volatile long lastLogIndex = -1L; + private long lastLogIndex = -1L; - private volatile long currentTerm = -1L; + private long currentTerm = -1L; - private volatile long commitIndex = -1L; + private long commitIndex = -1L; - private volatile long lastApplied = -1L; + private long lastApplied = -1L; - private volatile long lastCommittedTransactionTime; + private long lastCommittedTransactionTime; - private final AtomicLong failedTransactionsCount = new AtomicLong(); + private long failedTransactionsCount; private final AtomicLong failedReadTransactionsCount = new AtomicLong(); - private final AtomicLong abortTransactionsCount = new AtomicLong(); + private long abortTransactionsCount; private ThreadExecutorStatsMXBeanImpl notificationExecutorStatsBean; private QueuedNotificationManagerMXBeanImpl notificationManagerStatsBean; - private volatile long dataSize = 0; + private long dataSize = 0; private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + private boolean followerInitialSyncStatus = false; + public ShardStats(final String shardName, final String mxBeanType) { super(shardName, mxBeanType, JMX_CATEGORY_SHARD); } @@ -85,7 +87,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public long getCommittedTransactionsCount() { - return committedTransactionsCount.get(); + return committedTransactionsCount; } @Override @@ -100,17 +102,17 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public long getReadOnlyTransactionCount() { - return readOnlyTransactionCount.get(); + return readOnlyTransactionCount; } @Override public long getWriteOnlyTransactionCount() { - return writeOnlyTransactionCount.get(); + return writeOnlyTransactionCount; } @Override public long getReadWriteTransactionCount() { - return readWriteTransactionCount.get(); + return readWriteTransactionCount; } @Override @@ -146,7 +148,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public long getFailedTransactionsCount() { - return failedTransactionsCount.get(); + return failedTransactionsCount; } @Override @@ -156,27 +158,27 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public long getAbortTransactionsCount() { - return abortTransactionsCount.get(); + return abortTransactionsCount; } public long incrementCommittedTransactionCount() { - return committedTransactionsCount.incrementAndGet(); + return ++committedTransactionsCount; } public long incrementReadOnlyTransactionCount() { - return readOnlyTransactionCount.incrementAndGet(); + return ++readOnlyTransactionCount; } public long incrementWriteOnlyTransactionCount() { - return writeOnlyTransactionCount.incrementAndGet(); + return ++writeOnlyTransactionCount; } public long incrementReadWriteTransactionCount() { - return readWriteTransactionCount.incrementAndGet(); + return ++readWriteTransactionCount; } public long incrementFailedTransactionsCount() { - return failedTransactionsCount.incrementAndGet(); + return ++failedTransactionsCount; } public long incrementFailedReadTransactionsCount() { @@ -185,7 +187,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { public long incrementAbortTransactionsCount () { - return abortTransactionsCount.incrementAndGet(); + return ++abortTransactionsCount; } public void setLeader(final String leader) { @@ -255,25 +257,34 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { */ @Override public void resetTransactionCounters(){ - committedTransactionsCount.set(0); + committedTransactionsCount = 0; - readOnlyTransactionCount.set(0); + readOnlyTransactionCount = 0; - writeOnlyTransactionCount.set(0); + writeOnlyTransactionCount = 0; - readWriteTransactionCount.set(0); + readWriteTransactionCount = 0; lastCommittedTransactionTime = 0; - failedTransactionsCount.set(0); + failedTransactionsCount = 0; failedReadTransactionsCount.set(0); - abortTransactionsCount.set(0); + abortTransactionsCount = 0; } public void setDataStore(final InMemoryDOMDataStore store) { setNotificationManager(store.getDataChangeListenerNotificationManager()); } + + public void setFollowerInitialSyncStatus(boolean followerInitialSyncStatus) { + this.followerInitialSyncStatus = followerInitialSyncStatus; + } + + @Override + public boolean getFollowerInitialSyncStatus() { + return followerInitialSyncStatus; + } }