Fixup "Leader should always apply modifications as local" regression
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / behaviors / SyncStatusTracker.java
index 08c90e32e308cecdc8391c9feff2cbc9ac21422a..2b700ffc43c1ec80cce36f2ab4293cfaebc09547 100644 (file)
@@ -5,11 +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.raft.behaviors;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.util.Objects.requireNonNull;
+
 import akka.actor.ActorRef;
-import com.google.common.base.Preconditions;
 import org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,7 +29,7 @@ public class SyncStatusTracker {
         final String leaderId;
 
         LeaderInfo(final String leaderId, final long minimumCommitIndex) {
-            this.leaderId = Preconditions.checkNotNull(leaderId);
+            this.leaderId = requireNonNull(leaderId);
             this.minimumCommitIndex = minimumCommitIndex;
         }
     }
@@ -38,25 +39,25 @@ public class SyncStatusTracker {
     private static final boolean IN_SYNC = true;
     private static final boolean NOT_IN_SYNC = false;
 
-    private final String id;
+    private final long syncThreshold;
     private final ActorRef actor;
-    private final int syncThreshold;
+    private final String id;
 
     private LeaderInfo syncTarget;
     private boolean syncStatus;
 
-    public SyncStatusTracker(final ActorRef actor, final String id, final int syncThreshold) {
-        this.actor = Preconditions.checkNotNull(actor, "actor should not be null");
-        this.id = Preconditions.checkNotNull(id, "id should not be null");
-        Preconditions.checkArgument(syncThreshold >= 0, "syncThreshold should be greater than or equal to 0");
+    public SyncStatusTracker(final ActorRef actor, final String id, final long syncThreshold) {
+        this.actor = requireNonNull(actor, "actor should not be null");
+        this.id = requireNonNull(id, "id should not be null");
+        checkArgument(syncThreshold >= 0, "syncThreshold should be greater than or equal to 0");
         this.syncThreshold = syncThreshold;
     }
 
     public void update(final String leaderId, final long leaderCommit, final long commitIndex) {
-        Preconditions.checkNotNull(leaderId, "leaderId should not be null");
+        requireNonNull(leaderId, "leaderId should not be null");
 
         if (syncTarget == null || !leaderId.equals(syncTarget.leaderId)) {
-            LOG.debug("Last sync leader does not match current leader {}, need to catch up to {}",
+            LOG.debug("{}: Last sync leader does not match current leader {}, need to catch up to {}", id,
                 leaderId, leaderCommit);
             changeSyncStatus(NOT_IN_SYNC, true);
             syncTarget = new LeaderInfo(leaderId, leaderCommit);
@@ -65,11 +66,11 @@ public class SyncStatusTracker {
 
         final long lag = leaderCommit - commitIndex;
         if (lag > syncThreshold) {
-            LOG.debug("Lagging {} entries behind leader {}", lag, leaderId);
+            LOG.debug("{}: Lagging {} entries behind leader {}", id, lag, leaderId);
             changeSyncStatus(NOT_IN_SYNC, false);
         } else if (commitIndex >= syncTarget.minimumCommitIndex) {
-            LOG.debug("Lagging {} entries behind leader and reached {} (of expected {})", lag, leaderId, commitIndex,
-                syncTarget.minimumCommitIndex);
+            LOG.debug("{}: Lagging {} entries behind leader {} and reached {} (of expected {})", id, lag, leaderId,
+                commitIndex, syncTarget.minimumCommitIndex);
             changeSyncStatus(IN_SYNC, false);
         }
     }
@@ -79,7 +80,7 @@ public class SyncStatusTracker {
             actor.tell(new FollowerInitialSyncUpStatus(newSyncStatus, id), ActorRef.noSender());
             syncStatus = newSyncStatus;
         } else {
-            LOG.trace("No change in sync status of {}, dampening message", actor);
+            LOG.trace("{}: No change in sync status of, dampening message", id);
         }
     }
 }