diff --git a/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java b/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java index 0975c395fac..c6f4eca3271 100644 --- a/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java +++ b/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java @@ -87,7 +87,8 @@ public void setLogLevelFilters(String clusterName, LogLevelFilterMap filters) th for (Map.Entry e : filters.getFilter().entrySet()) { String nodePath = String.format("/%s/loglevelfilter/%s", clusterName, e.getKey()); String logLevelFilterJson = gson.toJson(e.getValue()); - String currentLogLevelFilterJson = new String(serverCache.getCurrentData(nodePath).getData()); + ChildData childData = serverCache.getCurrentData(nodePath); + String currentLogLevelFilterJson = childData != null ? new String(childData.getData()) : null; if (!logLevelFilterJson.equals(currentLogLevelFilterJson)) { client.setData().forPath(nodePath, logLevelFilterJson.getBytes()); logger.info("Set log level filter for the log " + e.getKey() + " for cluster " + clusterName);