From fe2bd181e761f3c8a3319693390c4ef1ab2370fe Mon Sep 17 00:00:00 2001 From: Wei-Chiu Chuang Date: Fri, 13 Apr 2018 10:08:54 -0700 Subject: [PATCH] Rev01 to add helpful messages when the output stream has/doesn't have the asked capability. --- .../src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java index 5b46de9..9a9e3ca 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java @@ -869,6 +869,9 @@ public abstract class CommonFSUtils { if (StreamCapabilities.CLASS.isAssignableFrom(stream.getClass())) { try { result = ((Boolean)StreamCapabilities.METHOD.invoke(stream, capability)).booleanValue(); + LOG.info("Stream class {} (wrapped stream class {}) {} {} capability.", + stream.toString(), stream.getWrappedStream().getClass().getCanonicalName(), + (result)?"does not have":"has", capability); } catch (IllegalAccessException|IllegalArgumentException|InvocationTargetException exception) { LOG.warn("Your Hadoop installation's StreamCapabilities implementation doesn't match " + @@ -877,6 +880,9 @@ public abstract class CommonFSUtils { "difference as a lack of capability support, which will probably cause a failure.", exception); } + } else { + LOG.warn("Stream class {} does not implement StreamCapabilities. Treat as not having {} capability.", + stream.getClass().getCanonicalName(), capability); } } return result; -- 2.5.3