From 677c4cab427351d3d9799ec817ecc4a86a416602 Mon Sep 17 00:00:00 2001 From: Zhiguo Wu Date: Fri, 14 Oct 2022 14:25:00 +0800 Subject: [PATCH] AMBARI-24750: Fix NPE when trying to set loglevel in logsearch (#81) --- .../logsearch/config/zookeeper/LogLevelFilterManagerZK.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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);