diff --git a/ambari-server/src/main/java/org/apache/ambari/server/stack/ThemeModule.java b/ambari-server/src/main/java/org/apache/ambari/server/stack/ThemeModule.java index ed13ea9fb0b..17015cfd33a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/stack/ThemeModule.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/stack/ThemeModule.java @@ -58,7 +58,10 @@ public ThemeModule(File themeFile, ThemeInfo moduleInfo) { try { reader = new FileReader(themeFile); } catch (FileNotFoundException e) { - LOG.error("Theme file not found"); + LOG.error("Theme file not found: {}", themeFile.getAbsolutePath()); + setValid(false); + addError("Theme file not found: " + themeFile.getAbsolutePath()); + return; } try { Theme theme = mapper.readValue(reader, Theme.class); @@ -70,6 +73,14 @@ public ThemeModule(File themeFile, ThemeInfo moduleInfo) { LOG.error("Unable to parse theme file ", e); setValid(false); addError("Unable to parse theme file " + themeFile); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + LOG.warn("Failed to close theme file reader", e); + } + } } } }