You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ryan rawson (JIRA)" <ji...@apache.org> on 2010/08/14 02:20:16 UTC

[jira] Created: (HBASE-2918) SequenceFileLogWriter doesnt make it clear if there is no append by config or by missing lib/feature

SequenceFileLogWriter doesnt make it clear if there is no append by config or by missing lib/feature
----------------------------------------------------------------------------------------------------

                 Key: HBASE-2918
                 URL: https://issues.apache.org/jira/browse/HBASE-2918
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.89.20100621
            Reporter: ryan rawson
            Priority: Minor
             Fix For: 0.90.0


This code doesnt make the situation clear:


    Method m = null;
    if (conf.getBoolean("dfs.support.append", false)) {
      try {
        // function pointer to writer.syncFs()
        m = this.writer.getClass().getMethod("syncFs", new Class<?> []{});
      } catch (SecurityException e) {
        throw new IOException("Failed test for syncfs", e);
      } catch (NoSuchMethodException e) {
        // Not available
      }
    }
    this.syncFs = m;
    LOG.info((this.syncFs != null)?
      "Using syncFs -- HDFS-200": "syncFs -- HDFS-200 -- not available");


we dont know if the test failed, or if the config is turned off.  it would make debuggers life easier if the message was clearer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HBASE-2918) SequenceFileLogWriter doesnt make it clear if there is no append by config or by missing lib/feature

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-2918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-2918.
--------------------------

    Resolution: Fixed

Committed the below which prints out state of the dfs.append config when logging append not available:

{code}
Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogWriter.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogWriter.java   (revision 991708)
+++ src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogWriter.java   (working copy)
@@ -91,7 +91,8 @@
     // Now do dirty work to see if syncFs is available.
     // Test if syncfs is available.
     Method m = null;
-    if (conf.getBoolean("dfs.support.append", false)) {
+    boolean append = conf.getBoolean("dfs.support.append", false);
+    if (append) {
       try {
         // function pointer to writer.syncFs()
         m = this.writer.getClass().getMethod("syncFs", new Class<?> []{});
@@ -103,7 +104,8 @@
     }
     this.syncFs = m;
     LOG.info((this.syncFs != null)?
-      "Using syncFs -- HDFS-200": "syncFs -- HDFS-200 -- not available");
+      "Using syncFs -- HDFS-200":
+      ("syncFs -- HDFS-200 -- not available, dfs.support.append=" + append));
   }
 
   @Override
{code}


> SequenceFileLogWriter doesnt make it clear if there is no append by config or by missing lib/feature
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-2918
>                 URL: https://issues.apache.org/jira/browse/HBASE-2918
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.89.20100621
>            Reporter: ryan rawson
>            Priority: Minor
>             Fix For: 0.90.0
>
>
> This code doesnt make the situation clear:
>     Method m = null;
>     if (conf.getBoolean("dfs.support.append", false)) {
>       try {
>         // function pointer to writer.syncFs()
>         m = this.writer.getClass().getMethod("syncFs", new Class<?> []{});
>       } catch (SecurityException e) {
>         throw new IOException("Failed test for syncfs", e);
>       } catch (NoSuchMethodException e) {
>         // Not available
>       }
>     }
>     this.syncFs = m;
>     LOG.info((this.syncFs != null)?
>       "Using syncFs -- HDFS-200": "syncFs -- HDFS-200 -- not available");
> we dont know if the test failed, or if the config is turned off.  it would make debuggers life easier if the message was clearer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.