Repository: hadoop Updated Branches: refs/heads/trunk e196d158a -> 4bea96f9a
HADOOP-14067. VersionInfo should load version-info.properties from its own classloader. Contributed by Thejas M Nair. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4bea96f9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4bea96f9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4bea96f9 Branch: refs/heads/trunk Commit: 4bea96f9a84cee89d07dfa97b892f6fb3ed1e125 Parents: e196d15 Author: Jitendra Pandey <jiten...@apache.org> Authored: Thu Mar 22 14:08:18 2018 -0700 Committer: Jitendra Pandey <jiten...@apache.org> Committed: Thu Mar 22 14:09:06 2018 -0700 ---------------------------------------------------------------------- .../java/org/apache/hadoop/util/ThreadUtil.java | 26 ++++++++++++++++++-- .../org/apache/hadoop/util/VersionInfo.java | 3 ++- 2 files changed, 26 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/4bea96f9/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ThreadUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ThreadUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ThreadUtil.java index 6444428..2cda8a4 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ThreadUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ThreadUtil.java @@ -53,8 +53,7 @@ public class ThreadUtil { * Convenience method that returns a resource as inputstream from the * classpath. * <p> - * It first attempts to use the Thread's context classloader and if not - * set it uses the class' classloader. + * Uses the Thread's context classloader to load resource. * * @param resourceName resource to retrieve. * @@ -68,6 +67,27 @@ public class ThreadUtil { throw new IOException("Can not read resource file '" + resourceName + "' because class loader of the current thread is null"); } + return getResourceAsStream(cl, resourceName); + } + + /** + * Convenience method that returns a resource as inputstream from the + * classpath using given classloader. + * <p> + * + * @param cl ClassLoader to be used to retrieve resource. + * @param resourceName resource to retrieve. + * + * @throws IOException thrown if resource cannot be loaded + * @return inputstream with the resource. + */ + public static InputStream getResourceAsStream(ClassLoader cl, + String resourceName) + throws IOException { + if (cl == null) { + throw new IOException("Can not read resource file '" + resourceName + + "' because given class loader is null"); + } InputStream is = cl.getResourceAsStream(resourceName); if (is == null) { throw new IOException("Can not read resource file '" + @@ -75,4 +95,6 @@ public class ThreadUtil { } return is; } + + } http://git-wip-us.apache.org/repos/asf/hadoop/blob/4bea96f9/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java index ca09050..ea83502 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java @@ -43,7 +43,8 @@ public class VersionInfo { String versionInfoFile = component + "-version-info.properties"; InputStream is = null; try { - is = ThreadUtil.getResourceAsStream(versionInfoFile); + is = ThreadUtil.getResourceAsStream(VersionInfo.class.getClassLoader(), + versionInfoFile); info.load(is); } catch (IOException ex) { LoggerFactory.getLogger(getClass()).warn("Could not read '" + --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org