diff --git a/LICENSE-binary b/LICENSE-binary
index 5a3f5f12e9c93..d23783f8408fe 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -250,7 +250,7 @@ commons-cli:commons-cli:1.2
commons-codec:commons-codec:1.11
commons-collections:commons-collections:3.2.2
commons-daemon:commons-daemon:1.0.13
-commons-io:commons-io:2.8.0
+commons-io:commons-io:2.14.0
commons-logging:commons-logging:1.1.3
commons-net:commons-net:3.9.0
de.ruedigermoeller:fst:2.50
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HostRestrictingAuthorizationFilter.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HostRestrictingAuthorizationFilter.java
index 0eb999039cb81..afed1e9e6e72d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HostRestrictingAuthorizationFilter.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HostRestrictingAuthorizationFilter.java
@@ -117,17 +117,12 @@ private boolean matchRule(String user, String remoteIp, String path) {
String rulePath = rule.getPath();
LOG.trace("Evaluating rule, subnet: {}, path: {}",
subnet != null ? subnet.getCidrSignature() : "*", rulePath);
- try {
- if ((subnet == null || subnet.isInRange(remoteIp))
- && FilenameUtils.directoryContains(rulePath, path)) {
- LOG.debug("Found matching rule, subnet: {}, path: {}; returned true",
- rule.getSubnet() != null ? subnet.getCidrSignature() : null,
- rulePath);
- return true;
- }
- } catch (IOException e) {
- LOG.warn("Got IOException {}; returned false", e);
- return false;
+ if ((subnet == null || subnet.isInRange(remoteIp))
+ && FilenameUtils.directoryContains(rulePath, path)) {
+ LOG.debug("Found matching rule, subnet: {}, path: {}; returned true",
+ rule.getSubnet() != null ? subnet.getCidrSignature() : null,
+ rulePath);
+ return true;
}
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java
index adfbbf16908c8..3d4c290672473 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java
@@ -257,7 +257,7 @@ public void testOfflineImageViewer() throws Exception {
FSImageTestUtil.getFSImage(
cluster.getNameNode()).getStorage().getStorageDir(0));
assertNotNull("Didn't generate or can't find fsimage", originalFsimage);
- PrintStream o = new PrintStream(NullOutputStream.NULL_OUTPUT_STREAM);
+ PrintStream o = new PrintStream(NullOutputStream.INSTANCE);
PBImageXmlWriter v = new PBImageXmlWriter(new Configuration(), o);
v.visit(new RandomAccessFile(originalFsimage, "r"));
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
index 768b59b966264..dbd5309cd6a0f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
@@ -391,7 +391,7 @@ private static FileStatus pathToFileEntry(FileSystem hdfs, String file)
@Test(expected = IOException.class)
public void testTruncatedFSImage() throws IOException {
File truncatedFile = new File(tempDir, "truncatedFsImage");
- PrintStream output = new PrintStream(NullOutputStream.NULL_OUTPUT_STREAM);
+ PrintStream output = new PrintStream(NullOutputStream.INSTANCE);
copyPartOfFile(originalFsimage, truncatedFile);
try (RandomAccessFile r = new RandomAccessFile(truncatedFile, "r")) {
new FileDistributionCalculator(new Configuration(), 0, 0, false, output)
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index 9097fcca8b4c0..210fd471bddee 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -127,7 +127,7 @@
3.2.2
1.24.0
1.9.0
- 2.8.0
+ 2.14.0
3.12.0
1.1.3
1.1
diff --git a/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java b/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
index ce09b76a6c8cf..ec385bf84234a 100644
--- a/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
+++ b/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
@@ -54,6 +54,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -505,7 +506,10 @@ void generateScript(File localScript) throws IOException {
String classpath = halrJarPath + File.pathSeparator + harJarPath;
FileWriterWithEncoding fw = null;
try {
- fw = new FileWriterWithEncoding(localScript, "UTF-8");
+ fw = FileWriterWithEncoding.builder()
+ .setFile(localScript)
+ .setCharset(StandardCharsets.UTF_8)
+ .get();
fw.write("#!/bin/bash\nset -e\nset -x\n");
int containerCount = 1;
for (AppInfo context : eligibleApplications) {
diff --git a/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/services/TestTextFileBasedIdentityHandler.java b/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/services/TestTextFileBasedIdentityHandler.java
index f9950faf944df..b0a72b2131cdd 100644
--- a/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/services/TestTextFileBasedIdentityHandler.java
+++ b/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/services/TestTextFileBasedIdentityHandler.java
@@ -19,9 +19,9 @@
package org.apache.hadoop.fs.azurebfs.services;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.Charset;
+import java.nio.file.NoSuchFileException;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -114,7 +114,7 @@ public void testLookupForUser() throws IOException {
public void testLookupForUserFileNotFound() throws Exception {
TextFileBasedIdentityHandler handler =
new TextFileBasedIdentityHandler(userMappingFile.getPath() + ".test", groupMappingFile.getPath());
- intercept(FileNotFoundException.class, "FileNotFoundException",
+ intercept(NoSuchFileException.class, "NoSuchFileException",
() -> handler.lookupForLocalUserIdentity(testUserDataLine3.split(":")[0]));
}
@@ -143,7 +143,7 @@ public void testLookupForGroup() throws IOException {
public void testLookupForGroupFileNotFound() throws Exception {
TextFileBasedIdentityHandler handler =
new TextFileBasedIdentityHandler(userMappingFile.getPath(), groupMappingFile.getPath() + ".test");
- intercept(FileNotFoundException.class, "FileNotFoundException",
+ intercept(NoSuchFileException.class, "NoSuchFileException",
() -> handler.lookupForLocalGroupIdentity(testGroupDataLine2.split(":")[0]));
}
}
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java
index 7c32ddcfb4be2..5f7fefcd8a995 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java
@@ -32,6 +32,7 @@
import java.io.PrintStream;
import java.io.Writer;
import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Arrays;
@@ -783,7 +784,10 @@ public static void readAcontainerLogs(DataInputStream valueStream,
OutputStream os = null;
PrintStream ps = null;
try {
- os = new WriterOutputStream(writer, Charset.forName("UTF-8"));
+ os = WriterOutputStream.builder()
+ .setWriter(writer)
+ .setCharset(StandardCharsets.UTF_8)
+ .get();
ps = new PrintStream(os);
while (true) {
try {
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestLeveldbTimelineStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestLeveldbTimelineStore.java
index f68a1c41c612c..82a075063c717 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestLeveldbTimelineStore.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestLeveldbTimelineStore.java
@@ -495,8 +495,9 @@ public void testLevelDbRepair() throws IOException {
store.init(conf);
Mockito.verify(factory, Mockito.times(1))
.repair(Mockito.any(File.class), Mockito.any(Options.class));
- FileFilter fileFilter = new WildcardFileFilter(
- "*" + LeveldbTimelineStore.BACKUP_EXT +"*");
+ FileFilter fileFilter = WildcardFileFilter.builder()
+ .setWildcards("*" + LeveldbTimelineStore.BACKUP_EXT +"*")
+ .get();
Assert.assertTrue(path.listFiles(fileFilter).length > 0);
} finally {
store.close();
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestRollingLevelDBTimelineStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestRollingLevelDBTimelineStore.java
index ff5682c43e436..6625144f9a256 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestRollingLevelDBTimelineStore.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TestRollingLevelDBTimelineStore.java
@@ -443,8 +443,9 @@ public void testStorePerformance() throws IOException {
store.init(conf);
Mockito.verify(factory, Mockito.times(1))
.repair(Mockito.any(File.class), Mockito.any(Options.class));
- FilenameFilter fileFilter =
- new WildcardFileFilter("*" + RollingLevelDBTimelineStore.BACKUP_EXT + "*");
+ FilenameFilter fileFilter = WildcardFileFilter.builder()
+ .setWildcards("*" + RollingLevelDBTimelineStore.BACKUP_EXT + "*")
+ .get();
Assert.assertTrue(new File(path.getAbsolutePath(), RollingLevelDBTimelineStore.FILENAME)
.list(fileFilter).length > 0);
} finally {