minor, check hdfs permission at build cube

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/f4667226
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/f4667226
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/f4667226

Branch: refs/heads/2.x-staging
Commit: f4667226d1ba34471c27192b95a0494f5f991d88
Parents: daa294b
Author: honma <ho...@ebay.com>
Authored: Thu Jan 28 10:34:25 2016 +0800
Committer: honma <ho...@ebay.com>
Committed: Thu Jan 28 10:34:25 2016 +0800

----------------------------------------------------------------------
 .../kylin/provision/BuildCubeWithEngine.java     | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/f4667226/kylin-it/src/test/java/org/apache/kylin/provision/BuildCubeWithEngine.java
----------------------------------------------------------------------
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/provision/BuildCubeWithEngine.java 
b/kylin-it/src/test/java/org/apache/kylin/provision/BuildCubeWithEngine.java
index 32facf1..f44fc38 100644
--- a/kylin-it/src/test/java/org/apache/kylin/provision/BuildCubeWithEngine.java
+++ b/kylin-it/src/test/java/org/apache/kylin/provision/BuildCubeWithEngine.java
@@ -19,6 +19,7 @@
 package org.apache.kylin.provision;
 
 import java.io.File;
+import java.io.IOException;
 import java.lang.reflect.Method;
 import java.text.SimpleDateFormat;
 import java.util.List;
@@ -32,6 +33,9 @@ import java.util.concurrent.Future;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.util.ToolRunner;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.AbstractKylinTestCase;
@@ -43,6 +47,7 @@ import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.CubeUpdate;
 import org.apache.kylin.engine.EngineFactory;
 import org.apache.kylin.engine.mr.CubingJob;
+import org.apache.kylin.engine.mr.HadoopUtil;
 import org.apache.kylin.job.DeployUtil;
 import org.apache.kylin.job.engine.JobEngineConfig;
 import org.apache.kylin.job.execution.AbstractExecutable;
@@ -93,6 +98,20 @@ public class BuildCubeWithEngine {
         }
 
         
HBaseMetadataTestCase.staticCreateTestMetadata(AbstractKylinTestCase.SANDBOX_TEST_DATA);
+        
+        try {
+            //check hdfs permission
+            Configuration hconf = HadoopUtil.getCurrentConfiguration();
+            FileSystem fileSystem = FileSystem.get(hconf);
+            String hdfsWorkingDirectory = 
KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory();
+            Path coprocessorDir = new Path(hdfsWorkingDirectory);
+            boolean success = fileSystem.mkdirs(coprocessorDir);
+            if (!success) {
+                throw new IOException("mkdir fails");
+            }
+        } catch (IOException e) {
+            throw new RuntimeException("failed to create 
kylin.hdfs.working.dir, Please make sure the user has right to access " + 
KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory(), e);
+        }
     }
 
     public void before() throws Exception {

Reply via email to