From c7f41f9018e62354cb1df335a5a8c6fd07aa261a Mon Sep 17 00:00:00 2001 From: Y Ethan Guo Date: Wed, 13 Apr 2022 14:25:31 -0700 Subject: [PATCH] [HUDI-3869] Improve error handling of loading Hudi conf (#5311) --- .../common/config/DFSPropertiesConfiguration.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hudi-common/src/main/java/org/apache/hudi/common/config/DFSPropertiesConfiguration.java b/hudi-common/src/main/java/org/apache/hudi/common/config/DFSPropertiesConfiguration.java index afce8f6ec..e41764994 100644 --- a/hudi-common/src/main/java/org/apache/hudi/common/config/DFSPropertiesConfiguration.java +++ b/hudi-common/src/main/java/org/apache/hudi/common/config/DFSPropertiesConfiguration.java @@ -99,7 +99,11 @@ public class DFSPropertiesConfiguration { if (defaultConfPath.isPresent()) { conf.addPropsFromFile(defaultConfPath.get()); } else { - conf.addPropsFromFile(DEFAULT_PATH); + try { + conf.addPropsFromFile(DEFAULT_PATH); + } catch (Exception e) { + LOG.warn("Cannot load default config file: " + DEFAULT_PATH, e); + } } return conf.getProps(); } @@ -126,13 +130,17 @@ public class DFSPropertiesConfiguration { filePath.toString(), Option.ofNullable(hadoopConfig).orElseGet(Configuration::new) ); + try { if (filePath.equals(DEFAULT_PATH) && !fs.exists(filePath)) { LOG.warn("Properties file " + filePath + " not found. Ignoring to load props file"); return; } + } catch (IOException ioe) { + throw new HoodieIOException("Cannot check if the properties file exist: " + filePath, ioe); + } - BufferedReader reader = new BufferedReader(new InputStreamReader(fs.open(filePath))); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(fs.open(filePath)))) { visitedFilePaths.add(filePath.toString()); currentFilePath = filePath; addPropsFromStream(reader);