You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Billy Liu (JIRA)" <ji...@apache.org> on 2017/09/09 13:25:02 UTC

[jira] [Resolved] (KYLIN-2863) fix the double caret bug in sample.sh when executed in old bash version of some enterprise OS

     [ 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)