shaofengshi closed pull request #347: KYLIN-3666 HDFS metadata url not be 
recognized
URL: https://github.com/apache/kylin/pull/347
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
index 6a9158d609..0624f94dc7 100644
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
@@ -490,7 +490,14 @@ public static KylinConfig loadKylinPropsAndMetadata() 
throws IOException {
 
     public static KylinConfig 
loadKylinConfigFromHdfs(SerializableConfiguration conf, String uri) {
         HadoopUtil.setCurrentConfiguration(conf.get());
-        return loadKylinConfigFromHdfs(uri);
+        KylinConfig config = loadKylinConfigFromHdfs(uri);
+
+        // This is a bad example where the thread local KylinConfig cannot be 
auto-closed due to
+        // limitation of MR API. It works because MR task runs its own 
process. Do not copy.
+        @SuppressWarnings("unused")
+        SetAndUnsetThreadLocalConfig shouldAutoClose = 
KylinConfig.setAndUnsetThreadLocalConfig(config);
+
+        return config;
     }
 
     public static KylinConfig loadKylinConfigFromHdfs(String uri) {
@@ -517,11 +524,7 @@ public static KylinConfig loadKylinConfigFromHdfs(String 
uri) {
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-        
-        // This is a bad example where the thread local KylinConfig cannot be 
auto-closed due to 
-        // limitation of MR API. It works because MR task runs its own 
process. Do not copy.
-        @SuppressWarnings("unused")
-        SetAndUnsetThreadLocalConfig shouldAutoClose = 
KylinConfig.setAndUnsetThreadLocalConfig(config);
+
         kylinConfigCache.put(uri, config);
         return config;
     }
diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/UpdateDictionaryStep.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/UpdateDictionaryStep.java
index bcdb29f52c..28c567a7d0 100644
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/UpdateDictionaryStep.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/UpdateDictionaryStep.java
@@ -43,6 +43,7 @@
 import org.apache.kylin.cube.CubeUpdate;
 import org.apache.kylin.dict.DictionaryInfo;
 import org.apache.kylin.dict.DictionaryManager;
+import org.apache.kylin.engine.mr.common.AbstractHadoopJob;
 import org.apache.kylin.engine.mr.common.BatchConstants;
 import org.apache.kylin.job.exception.ExecuteException;
 import org.apache.kylin.job.execution.AbstractExecutable;
@@ -67,7 +68,7 @@ protected ExecuteResult doWork(ExecutableContext context) 
throws ExecuteExceptio
         final String metadataUrl = 
this.getParams().get(BatchConstants.ARG_META_URL);
 
         final KylinConfig kylinConfHbase = cube.getConfig();
-        final KylinConfig kylinConfHdfs = 
KylinConfig.createInstanceFromUri(metadataUrl);
+        final KylinConfig kylinConfHdfs = 
AbstractHadoopJob.loadKylinConfigFromHdfs(metadataUrl);
 
         Collections.sort(mergingSegments);
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to