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

Chao Long resolved KYLIN-3709.
------------------------------
    Resolution: Fixed

> Pass the wrong parameter to addResource function, kylin can not load the 
> configuration file hbase.hdfs.xml .
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-3709
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3709
>             Project: Kylin
>          Issue Type: Bug
>          Components: Job Engine
>    Affects Versions: v2.6.0
>            Reporter: Hongtao He
>            Assignee: Chao Long
>            Priority: Critical
>         Attachments: 
> method-1-Pass-the-wrong-parameter-to-addResource-function-kyl.patch, 
> method-2-Pass-the-wrong-parameter-to-addResource-function-kyl.patch
>
>
> When calling Configuration.addResource, KYLIN-3648 use a Path as the 
> parameter instead of a string in Kylin's HBaseConnection.
> {code:java}
> String hdfsConfigFile = 
> KylinConfig.getInstanceFromEnv().getHBaseClusterHDFSConfigFile();
> if (hdfsConfigFile == null || hdfsConfigFile.isEmpty()) {
>     return;
> }
> Configuration hdfsConf = new Configuration(false);
> hdfsConf.addResource(new Path(hdfsConfigFile));
> {code}
> Use a Path as the parameter of Configuration.addResource is better. 
> Unfortunately,  the parameter which passed to the addResource function is 
> wrong. The addResource function only accepts absolute paths, but the 
> parameter is just a filename. For example, the value of hdfsConfigFile is 
> "hbase.hdfs.xml", so addResource function will not work . The end result is 
> that kylin can not load the hbase configuration file hbase.hdfs.xml .
> There are two ways to fix this bug, and I think method 1 is better.
> Method-1.revert the code
> {code:java}
> String hdfsConfigFile = 
> KylinConfig.getInstanceFromEnv().getHBaseClusterHDFSConfigFile();
> if (hdfsConfigFile == null || hdfsConfigFile.isEmpty()) {
>     return;
> }
> Configuration hdfsConf = new Configuration(false);
> hdfsConf.addResource(hdfsConfigFile);{code}
> Method-2.Get the absolute path of the configuration file
> {code:java}
> String hdfsConfigFile = 
> KylinConfig.getInstanceFromEnv().getHBaseClusterHDFSConfigFile();
> if (hdfsConfigFile == null || hdfsConfigFile.isEmpty()) {
>     return;
> }
> Configuration hdfsConf = new Configuration(false);
> String hbaseHdfsConfigPath = System.getProperty("user.dir") + "/../conf/" + 
> hdfsConfigFile;
> hdfsConf.addResource(new Path(hbaseHdfsConfigPath));
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to