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 {