[ 
https://issues.apache.org/jira/browse/HBASE-4644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Zotov updated HBASE-4644:
--------------------------------

    Description: 
Method run ignores configuration, which was passed in as constructor argument:
{code}
LoadIncrementalHFiles hFilesMergeTask = new LoadIncrementalHFiles(conf);
ToolRunner.run(hFilesMergeTask, args); 
{code}

This happens because HTable creation (_new HTable(tableName);_ in 
LoadIncrementalHFiles.run() method) skips existing configuration and tries to 
create a new one for HTable. If there is no hbase-site.xml in classpath, 
previously loaded properties (via -conf <configuration file>) will be missed. 

Quick fix:
{code}
--- LoadIncrementalHFiles.java  2011-07-18 08:20:38.000000000 +0400
+++ LoadIncrementalHFiles.java  2011-10-19 18:08:31.228972054 +0400
@@ -447,14 +446,20 @@
     if (!tableExists) this.createTable(tableName,dirPath);
     
     Path hfofDir = new Path(dirPath);
-    HTable table = new HTable(tableName);
+    HTable table;
+    Configuration configuration = getConf();
+    if (configuration != null) {
+      table = new HTable(configuration, tableName);
+    } else {
+      table = new HTable(tableName);
+    }
     
     doBulkLoad(hfofDir, table);
     return 0;
   }
{code}

  was:
Method run ignores configuration if LoadIncrementalHFiles was runned from 
user's application:
{code}
LoadIncrementalHFiles hFilesMergeTask = new LoadIncrementalHFiles(conf);
ToolRunner.run(hFilesMergeTask, args);
{code}

Quick fix:
{code}
--- LoadIncrementalHFiles.java  2011-07-18 08:20:38.000000000 +0400
+++ LoadIncrementalHFiles.java  2011-10-19 18:08:31.228972054 +0400
@@ -447,14 +446,20 @@
     if (!tableExists) this.createTable(tableName,dirPath);
     
     Path hfofDir = new Path(dirPath);
-    HTable table = new HTable(tableName);
+    HTable table;
+    Configuration configuration = getConf();
+    if (configuration != null) {
+      table = new HTable(configuration, tableName);
+    } else {
+      table = new HTable(tableName);
+    }
     
     doBulkLoad(hfofDir, table);
     return 0;
   }
{code}

       Priority: Minor  (was: Major)
    
> LoadIncrementalHFiles ignores additional configurations
> -------------------------------------------------------
>
>                 Key: HBASE-4644
>                 URL: https://issues.apache.org/jira/browse/HBASE-4644
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.3
>         Environment: Centos 5.5, Cloudera cdh3u1 distribution.
>            Reporter: Alexey Zotov
>            Priority: Minor
>              Labels: Configuration, LoadIncrementalHFiles
>
> Method run ignores configuration, which was passed in as constructor argument:
> {code}
> LoadIncrementalHFiles hFilesMergeTask = new LoadIncrementalHFiles(conf);
> ToolRunner.run(hFilesMergeTask, args); 
> {code}
> This happens because HTable creation (_new HTable(tableName);_ in 
> LoadIncrementalHFiles.run() method) skips existing configuration and tries to 
> create a new one for HTable. If there is no hbase-site.xml in classpath, 
> previously loaded properties (via -conf <configuration file>) will be missed. 
> Quick fix:
> {code}
> --- LoadIncrementalHFiles.java        2011-07-18 08:20:38.000000000 +0400
> +++ LoadIncrementalHFiles.java        2011-10-19 18:08:31.228972054 +0400
> @@ -447,14 +446,20 @@
>      if (!tableExists) this.createTable(tableName,dirPath);
>      
>      Path hfofDir = new Path(dirPath);
> -    HTable table = new HTable(tableName);
> +    HTable table;
> +    Configuration configuration = getConf();
> +    if (configuration != null) {
> +      table = new HTable(configuration, tableName);
> +    } else {
> +      table = new HTable(tableName);
> +    }
>      
>      doBulkLoad(hfofDir, table);
>      return 0;
>    }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to