Description
User from mailing list reported an error when using TopN:
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)
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.
Attachments
Issue Links
- is duplicated by
-
KYLIN-1588 Failed to build Top-N measure if OrderBy param type set to constant.
- Closed