浏览代码

ZOOKEEPER-4380: Avoid NPE in RateLogger#rateLimitLog

Author: ruanwenjun <wenjun@apache.org>

Reviewers: Enrico Olivelli <eolivelli@apache.org>, Damien Diederen <ddiederen@apache.org>

Closes #1758 from ruanwenjun/dev_wenjun_patch-fixNPEInRateLogger
ruanwenjun 3 年之前
父节点
当前提交
c0b19e0c5c
共有 1 个文件被更改,包括 6 次插入5 次删除
  1. 6 5
      zookeeper-server/src/main/java/org/apache/zookeeper/server/RateLogger.java

+ 6 - 5
zookeeper-server/src/main/java/org/apache/zookeeper/server/RateLogger.java

@@ -18,6 +18,7 @@
 
 
 package org.apache.zookeeper.server;
 package org.apache.zookeeper.server;
 
 
+import java.util.Objects;
 import org.apache.zookeeper.common.Time;
 import org.apache.zookeeper.common.Time;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 
 
@@ -67,21 +68,21 @@ public class RateLogger {
     /**
     /**
      * In addition to the message, it also takes a value.
      * In addition to the message, it also takes a value.
      */
      */
-    public void rateLimitLog(String newMsg, String value) {
+    public void rateLimitLog(String newMsg, String newValue) {
         long now = Time.currentElapsedTime();
         long now = Time.currentElapsedTime();
-        if (newMsg.equals(msg)) {
+        if (Objects.equals(newMsg, msg)) {
             ++count;
             ++count;
-            this.value = value;
+            value = newValue;
             if (now - timestamp >= LOG_INTERVAL) {
             if (now - timestamp >= LOG_INTERVAL) {
                 flush();
                 flush();
                 msg = newMsg;
                 msg = newMsg;
                 timestamp = now;
                 timestamp = now;
-                this.value = value;
+                value = newValue;
             }
             }
         } else {
         } else {
             flush();
             flush();
             msg = newMsg;
             msg = newMsg;
-            this.value = value;
+            value = newValue;
             timestamp = now;
             timestamp = now;
             LOG.warn("Message:{} Value:{}", msg, value);
             LOG.warn("Message:{} Value:{}", msg, value);
         }
         }