stoty commented on code in PR #6450:
URL: https://github.com/apache/hbase/pull/6450#discussion_r1833179199


##########
hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:
##########
@@ -354,10 +364,24 @@ private void setupReceiver(int timeoutMs) {
     }
   }
 
+  private static final String DUMMY_DFS_OUTPUT_STREAM_CLASS =
+    "org.apache.hadoop.hdfs.DummyDFSOutputStream";
+
+  private DFSOutputStream tryCreateDummyDFSOutputStream(EnumSet<CreateFlag> 
createFlags) {
+    try {
+      return (DFSOutputStream) 
Class.forName(DUMMY_DFS_OUTPUT_STREAM_CLASS).getConstructors()[0]
+        .newInstance(this, client, src, stat, createFlags, summer);
+    } catch (Exception e) {
+      LOG.debug("can not instantiate DummyDFSOutputStream, should be hadoop 
2.x", e);

Review Comment:
   This would log on every file open, unlike how we handle the Hadoop-version 
depndent logging in other cases.



##########
hbase-asyncfs/pom.xml:
##########
@@ -194,6 +199,26 @@
           <scope>test</scope>
         </dependency>
       </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <!--
+                               We do not need this hack when building with 
hadoop 2.x, so exclude it here.

Review Comment:
   This is a bit misleading. The reason for the exclusion is that we cannot get 
it to work otherwise.



##########
hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:
##########
@@ -354,10 +364,24 @@ private void setupReceiver(int timeoutMs) {
     }
   }
 
+  private static final String DUMMY_DFS_OUTPUT_STREAM_CLASS =
+    "org.apache.hadoop.hdfs.DummyDFSOutputStream";
+
+  private DFSOutputStream tryCreateDummyDFSOutputStream(EnumSet<CreateFlag> 
createFlags) {
+    try {
+      return (DFSOutputStream) 
Class.forName(DUMMY_DFS_OUTPUT_STREAM_CLASS).getConstructors()[0]

Review Comment:
   Push this down to the helper, and check (and store the resolved class and 
constructor handle) if the class exists when initializing the helper just like 
we do for the other Hadoop-dependent cases ?
   
   Should be faster.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to