Repository: flink Updated Branches: refs/heads/master 3586ced35 -> 3c037be7d
[jobmanager] Fix potential null pointer exception in jobmanager webfrontend Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/b2b0fe79 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/b2b0fe79 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/b2b0fe79 Branch: refs/heads/master Commit: b2b0fe79d28ba8340028dad0b03409fcccc69a50 Parents: 3586ced Author: Robert Metzger <rmetz...@apache.org> Authored: Tue May 19 19:38:02 2015 +0200 Committer: Robert Metzger <rmetz...@apache.org> Committed: Wed May 27 09:56:53 2015 +0200 ---------------------------------------------------------------------- .../flink/api/common/ExecutionConfig.java | 2 +- .../jobmanager/web/JobManagerInfoServlet.java | 28 +++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/b2b0fe79/flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java ---------------------------------------------------------------------- diff --git a/flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java b/flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java index 8baedb4..04a518e 100644 --- a/flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java +++ b/flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java @@ -605,7 +605,7 @@ public class ExecutionConfig implements Serializable { } /** - * Interface for custom user configuration object registered at the execution config. + * Abstract class for a custom user configuration object registered at the execution config. * * This user config is accessible at runtime through * getRuntimeContext().getExecutionConfig().getUserConfig() http://git-wip-us.apache.org/repos/asf/flink/blob/b2b0fe79/flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/web/JobManagerInfoServlet.java ---------------------------------------------------------------------- diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/web/JobManagerInfoServlet.java b/flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/web/JobManagerInfoServlet.java index a407d95..6d58306 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/web/JobManagerInfoServlet.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/web/JobManagerInfoServlet.java @@ -409,19 +409,29 @@ public class JobManagerInfoServlet extends HttpServlet { wrt.write("\"Job parallelism\": \""+ec.getParallelism()+"\","); wrt.write("\"Object reuse mode\": \""+ec.isObjectReuseEnabled()+"\""); ExecutionConfig.GlobalJobParameters uc = ec.getGlobalJobParameters(); - Map<String, String> ucVals = uc.toMap(); - if(ucVals != null) { - String ucString = "{"; - int i = 0; - for (Map.Entry<String, String> ucVal: ucVals.entrySet()) { - ucString += "\""+ucVal.getKey()+"\":\""+ucVal.getValue()+"\""; - if (++i < ucVals.size()) { - ucString += ",\n"; + if(uc != null) { + Map<String, String> ucVals = uc.toMap(); + if (ucVals != null) { + String ucString = "{"; + int i = 0; + for (Map.Entry<String, String> ucVal : ucVals.entrySet()) { + ucString += "\"" + ucVal.getKey() + "\":\"" + ucVal.getValue() + "\""; + if (++i < ucVals.size()) { + ucString += ",\n"; + } } + wrt.write(", \"userConfig\": " + ucString + "}"); + } + else { + LOG.info("GlobalJobParameters.toMap() did not return anything"); } - wrt.write(", \"userConfig\": "+ucString+"}"); + } + else { + LOG.info("No GlobalJobParameters were set in the execution config"); } wrt.write("},"); + } else { + LOG.warn("Unable to retrieve execution config from execution graph"); } // write accumulators