From 79359e209110638e56f0d08b7ca635520ea32cc0 Mon Sep 17 00:00:00 2001 From: Gopal V Date: Fri, 26 Jul 2019 11:32:13 +0100 Subject: [PATCH] HADOOP-16461. Regression: FileSystem cache lock parses XML within the lock. Contributed by Gopal V. Change-Id: If6654f850e9c24ee0d9519a46fd6269b18e1a7a4 (cherry picked from commit aebac6d2d2e612e400a7d73be67dafb47e239211) --- .../src/main/java/org/apache/hadoop/fs/FileSystem.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java index 35d653a7d42..8f9088e7322 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java @@ -3350,6 +3350,9 @@ public abstract class FileSystem extends Configured } fs = createFileSystem(uri, conf); + final long timeout = conf.getTimeDuration(SERVICE_SHUTDOWN_TIMEOUT, + SERVICE_SHUTDOWN_TIMEOUT_DEFAULT, + ShutdownHookManager.TIME_UNIT_DEFAULT); synchronized (this) { // refetch the lock again FileSystem oldfs = map.get(key); if (oldfs != null) { // a file system is created while lock is releasing @@ -3360,7 +3363,9 @@ public abstract class FileSystem extends Configured // now insert the new file system into the map if (map.isEmpty() && !ShutdownHookManager.get().isShutdownInProgress()) { - ShutdownHookManager.get().addShutdownHook(clientFinalizer, SHUTDOWN_HOOK_PRIORITY); + ShutdownHookManager.get().addShutdownHook(clientFinalizer, + SHUTDOWN_HOOK_PRIORITY, timeout, + ShutdownHookManager.TIME_UNIT_DEFAULT); } fs.key = key; map.put(key, fs);