Shaofeng SHI created KYLIN-1551: ----------------------------------- Summary: Should check and ensure TopN measure has two parameters specified Key: KYLIN-1551 URL: https://issues.apache.org/jira/browse/KYLIN-1551 Project: Kylin Issue Type: Bug Components: Web Affects Versions: v1.5.0 Reporter: Shaofeng SHI Assignee: Zhong,Jason Fix For: v1.5.1
User from mailing list reported an error when using TopN: {code} when I use TOP-N, exception occured java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at org.apache.kylin.measure.topn.TopNMeasureType.getColumnsNeedDictionary(TopNMeasureType.java:170) at org.apache.kylin.cube.model.CubeDesc.getAllColumnsNeedDictionary(CubeDesc.java:975) at org.apache.kylin.cube.CubeManager.getAllDictColumnsOnFact(CubeManager.java:904) at org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:80) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:118) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:114) at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:50) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:114) at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:124) 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) {code} The reason should be: no second parameter be specified for TopN. I can reproduce it on v1.5.0; The cube GUI should check and report to user when find such a case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)