diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java index 74d553c..7747116 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java @@ -426,9 +426,18 @@ private boolean fetchAllLogFiles(String[] logFiles, String[] logFilesRegex) { if (response.getClientResponseStatus().equals( ClientResponse.Status.OK)) { try { + JSONArray array = new JSONArray(); JSONObject json = response.getEntity(JSONObject.class); - JSONArray array = json.getJSONArray("containerLogsInfo"); + Object logsInfoObj = json.get("containerLogsInfo"); + if (logsInfoObj instanceof JSONObject) { + array.put((JSONObject)logsInfoObj); + } else if (logsInfoObj instanceof JSONArray) { + JSONArray logsArray = (JSONArray)logsInfoObj; + for (int i=0; i < logsArray.length(); i++) { + array.put(logsArray.getJSONObject(i)); + } + } for (int i = 0; i < array.length(); i++) { JSONObject log = array.getJSONObject(i); Object ob = log.get("containerLogInfo");