[
https://issues.apache.org/jira/browse/KYLIN-1402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shaofeng SHI resolved KYLIN-1402.
---------------------------------
Resolution: Fixed
> StringIndexOutOfBoundsException in Kylin Hive Column Cardinality Job
> --------------------------------------------------------------------
>
> Key: KYLIN-1402
> URL: https://issues.apache.org/jira/browse/KYLIN-1402
> Project: Kylin
> Issue Type: Bug
> Affects Versions: v1.2
> Environment: - Tested against
> apache-kylin-1.2-HBase1.1-incubating-SNAPSHOT-bin and
> apache-kylin-1.3-HBase-1.1-SNAPSHOT-bin
> - Environment is HDP 2.3.4
> - Hive version: hive-1.2.1.2.3.4.0
> - HBase version: HBase 1.1.2.2.3.4.0-3485
> Reporter: Sebastian Zimmermann
> Assignee: Shaofeng SHI
> Fix For: v2.0, v1.3
>
>
> When running a cube build/refresh and Kylin is unable to retrieve the
> cardinality of the underlying table (outputfile is empty), it throws a
> StringIndexOutOfBoundsException.
> output=/tmp/kylin/cardinality/PROJECT_KYLIN.DIM_DTM
> Unfortunately, this exception is not caught and the frontend states the build
> ran without problems!
> {code}
> [2016-02-03
> 12:45:41,984][INFO][org.apache.kylin.job.impl.threadpool.DefaultScheduler$FetcherRunner.run(DefaultScheduler.java:112)]
> - Job Fetcher: 0 running, 2 actual running, 2 ready, 218 others
> [2016-02-03
> 12:46:01,245][DEBUG][org.apache.kylin.job.hadoop.AbstractHadoopJob.waitForCompletion(AbstractHadoopJob.java:125)]
> - Job 'Kylin Hive Column Cardinality Job table=PROJECT_KYLIN.DIM_DTM
> output=/tmp/kylin/cardinality/PROJECT_KYLIN.DIM_DTM' finished successfully in
> 18sec
> [2016-02-03
> 12:46:01,263][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8-00 from RUNNING to SUCCEED
> [2016-02-03
> 12:46:01,276][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8 from RUNNING to READY
> [2016-02-03
> 12:46:01,653][INFO][org.apache.kylin.job.impl.threadpool.DefaultScheduler$FetcherRunner.run(DefaultScheduler.java:102)]
> - DefaultChainedExecutable{id=b2944302-a2e3-4847-b672-7bcd9489d0f8,
> name=Hive Column Cardinality calculation for table 'PROJECT_KYLIN.DIM_DTM',
> state=READY} prepare to schedule
> [2016-02-03
> 12:46:01,653][INFO][org.apache.kylin.job.impl.threadpool.DefaultScheduler$FetcherRunner.run(DefaultScheduler.java:106)]
> - DefaultChainedExecutable{id=b2944302-a2e3-4847-b672-7bcd9489d0f8,
> name=Hive Column Cardinality calculation for table 'PROJECT_KYLIN.DIM_DTM',
> state=READY} scheduled
> [2016-02-03
> 12:46:01,663][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8 from READY to RUNNING
> [2016-02-03
> 12:46:01,675][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8-01 from READY to RUNNING
> [2016-02-03
> 12:46:01,676][INFO][org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:57)]
> - parameters of the HadoopShellExecutable:
> [2016-02-03
> 12:46:01,676][INFO][org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:58)]
> - -table PROJECT_KYLIN.DIM_DTM -output
> /tmp/kylin/cardinality/PROJECT_KYLIN.DIM_DTM
> [2016-02-03
> 12:46:01,734][ERROR][org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:64)]
> - error execute
> HadoopShellExecutable{id=b2944302-a2e3-4847-b672-7bcd9489d0f8-01, name=null,
> state=RUNNING}
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> at java.lang.String.substring(String.java:1911)
> at
> org.apache.kylin.job.hadoop.cardinality.HiveColumnCardinalityUpdateJob.updateKylinTableExd(HiveColumnCardinalityUpdateJob.java:113)
> at
> org.apache.kylin.job.hadoop.cardinality.HiveColumnCardinalityUpdateJob.run(HiveColumnCardinalityUpdateJob.java:80)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
> at
> org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> [2016-02-03
> 12:46:01,750][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8-01 from RUNNING to ERROR
> [2016-02-03
> 12:46:01,765][INFO][org.apache.kylin.job.manager.ExecutableManager.updateJobOutput(ExecutableManager.java:241)]
> - job id:b2944302-a2e3-4847-b672-7bcd9489d0f8 from RUNNING to ERROR
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)