diff --git a/extensions-core/hdfs-storage/src/main/java/org/apache/hadoop/fs/HadoopFsWrapper.java b/extensions-core/hdfs-storage/src/main/java/org/apache/hadoop/fs/HadoopFsWrapper.java index 041417219d82..00290b20b076 100644 --- a/extensions-core/hdfs-storage/src/main/java/org/apache/hadoop/fs/HadoopFsWrapper.java +++ b/extensions-core/hdfs-storage/src/main/java/org/apache/hadoop/fs/HadoopFsWrapper.java @@ -22,6 +22,7 @@ import io.druid.java.util.common.logger.Logger; import java.io.IOException; +import java.lang.reflect.Method; /** * This wrapper class is created to be able to access some of the the "protected" methods inside Hadoop's @@ -48,10 +49,11 @@ private HadoopFsWrapper() {} public static boolean rename(FileSystem fs, Path from, Path to) throws IOException { try { - fs.rename(from, to, Options.Rename.NONE); + Method renameMethod = fs.getClass().getMethod("rename", Path.class, Path.class, Options.Rename[].class); + renameMethod.invoke(fs, from, to, new Options.Rename[]{Options.Rename.NONE}); return true; } - catch (IOException ex) { + catch (Exception ex) { log.warn(ex, "Failed to rename [%s] to [%s].", from, to); return false; }