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

Billy Liu resolved KYLIN-2863.
------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: v2.1.0)
                       (was: v2.0.0)
                   v2.2.0

LGTM. Patch merged. 
https://github.com/apache/kylin/commit/57f665d63aabc8b8cf886cf7562ca92effebd176

> fix the double caret bug in sample.sh when executed in old bash version of 
> some enterprise OS
> ---------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-2863
>                 URL: https://issues.apache.org/jira/browse/KYLIN-2863
>             Project: Kylin
>          Issue Type: Bug
>          Components: Tools, Build and Test
>    Affects Versions: v2.0.0, v2.1.0
>         Environment: OS: SuSE 11 sp4
> Hortonworks hdp 2.6.1.0-129
> hadoop 2.7.3
> hbase 1.1.2
> hive 1.2.1
> jdk 1.8.0
>            Reporter: TING WANG
>            Assignee: hongbin ma
>              Labels: patch, starter
>             Fix For: v2.2.0
>
>         Attachments: fixbug-tina-double-caret.patch
>
>
> When an old version bash is used, the following error will occur:
> bq. /apache-kylin-2.0.0-bin/bin # ./sample.sh
> bq. Retrieving hadoop conf dir...
> bq. Retrieving hadoop conf dir...
> bq. KYLIN_HOME is set to /usr/share/kylin/apache-kylin-2.0.0-bin
> bq. Loading sample data into HDFS tmp path: /tmp/kylin/sample_cube/data
> bq. ./sample.sh: line 40: ${sample_database^^}: bad substitution
> bq. Going to create sample tables in hive to database default by cli
> bq. ......
> If you ignore the error above, another error will occur when building cube:
> bq. java.lang.IllegalStateException: No resource found at -- 
> /table/DEFAULT.KYLIN_SALES.json
> bq. at 
> org.apache.kylin.engine.mr.common.AbstractHadoopJob.dumpResources(AbstractHadoopJob.java:550)
> bq. at 
> org.apache.kylin.engine.mr.common.AbstractHadoopJob.dumpKylinPropsAndMetadata(AbstractHadoopJob.java:505)
> bq. at 
> org.apache.kylin.engine.mr.common.AbstractHadoopJob.attachCubeMetadata(AbstractHadoopJob.java:458)
> bq. at 
> org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:122)
> bq. at org.apache.kylin.engine.mr.MRUtil.runMRJob(MRUtil.java:102)
> bq. at 
> org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:123)
> bq. at 
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:124)
> bq. at 
> org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:64)
> bq. at 
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:124)
> bq. at 
> org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:142)
> bq. at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> bq. at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> bq. at java.lang.Thread.run(Thread.java:745)
> bq. result code:2
> The reason is that the Bash version in SuSE 11 sp4 enterprise is quite old:
> bq. #: bash -version
> bq. bash -version
> bq. GNU bash, version 3.2.57(1)-release (x86_64-suse-linux-gnu)
> bq. Copyright (C) 2007 Free Software Foundation, Inc.
> Instead of using double carets to convert the string to uppercase, we can use 
> the tr command to do the same job as shown in this pr which has higher 
> compatibility for various kinds of OS.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to