X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fjmx%2Fmbeans%2Fshard%2FShardStats.java;h=02c838a3c6d900bc54162d913a3cc908f509043a;hp=765fe211d2ef59f6cdb02d64ad4a7a1af17b2a3d;hb=9caba9a627d399cd308792679ecfd69eba8eacf5;hpb=afa4469a5c4b0f4f0c24a10453b83287726089c7 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 765fe211d2..02c838a3c6 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 @@ -22,6 +22,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import javax.annotation.Nullable; +import javax.annotation.concurrent.GuardedBy; import org.opendaylight.controller.cluster.datastore.Shard; import org.opendaylight.controller.cluster.raft.base.messages.InitiateCaptureSnapshot; import org.opendaylight.controller.cluster.raft.client.messages.FollowerInfo; @@ -38,6 +39,7 @@ import scala.concurrent.Await; public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { public static final String JMX_CATEGORY_SHARD = "Shards"; + @GuardedBy("DATE_FORMAT") private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); private static final Cache ONDEMAND_RAFT_STATE_CACHE = @@ -107,6 +109,12 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { return state; } + private static String formatMillis(final long timeMillis) { + synchronized (DATE_FORMAT) { + return DATE_FORMAT.format(new Date(timeMillis)); + } + } + @Override public String getShardName() { return getMBeanName(); @@ -214,9 +222,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public String getLastCommittedTransactionTime() { - synchronized (DATE_FORMAT) { - return DATE_FORMAT.format(new Date(lastCommittedTransactionTime)); - } + return formatMillis(lastCommittedTransactionTime); } @Override @@ -299,7 +305,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { } - public void setFollowerInitialSyncStatus(boolean followerInitialSyncStatus) { + public void setFollowerInitialSyncStatus(final boolean followerInitialSyncStatus) { this.followerInitialSyncStatus = followerInitialSyncStatus; } @@ -342,9 +348,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public String getLastLeadershipChangeTime() { - synchronized (DATE_FORMAT) { - return DATE_FORMAT.format(new Date(lastLeadershipChangeTime)); - } + return formatMillis(lastLeadershipChangeTime); } @Override