浏览代码

ZKUtil deleteRecursive check LOG Level before calculate the parameter

LOG.debug("Deleting " + tree); will be calculate tree.toString() even if the log level is higher
than debug.
this pull request  check debugEnabled before logging,avoid deleteRecursive large tree which may cause OOM.

Author: geker <nkthinker@gmail.com>

Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Michael Han <hanm@apache.org>

Closes #968 from Geker/master
geker 5 年之前
父节点
当前提交
a5487e40b3
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      zookeeper-server/src/main/java/org/apache/zookeeper/ZKUtil.java

+ 4 - 4
zookeeper-server/src/main/java/org/apache/zookeeper/ZKUtil.java

@@ -53,8 +53,8 @@ public class ZKUtil {
         PathUtils.validatePath(pathRoot);
 
         List<String> tree = listSubTreeBFS(zk, pathRoot);
-        LOG.debug("Deleting " + tree);
-        LOG.debug("Deleting " + tree.size() + " subnodes ");
+        LOG.debug("Deleting {}",tree);
+        LOG.debug("Deleting {} subnodes ",tree.size());
 
         return deleteInBatch(zk, tree, batchSize);
     }
@@ -125,8 +125,8 @@ public class ZKUtil {
         PathUtils.validatePath(pathRoot);
 
         List<String> tree = listSubTreeBFS(zk, pathRoot);
-        LOG.debug("Deleting " + tree);
-        LOG.debug("Deleting " + tree.size() + " subnodes ");
+        LOG.debug("Deleting {}",tree);
+        LOG.debug("Deleting {} subnodes ",tree.size());
         for (int i = tree.size() - 1; i >= 0 ; --i) {
             //Delete the leaves first and eventually get rid of the root
             zk.delete(tree.get(i), -1, cb, ctx); //Delete all versions of the node with -1.