Interesting... I cannot debug due to lack of the context... Could you try debug into DictionaryGenerator.mergeDictionaries() ? The problem is the buffer array not big enough to hold a dictionary value. However the array was allocated according to the dictionary's demand at line 92: byte[] buffer = new byte[dict.getSizeOfValue()];
Never encountered this one before. On Mon, Mar 9, 2015 at 2:25 PM, dong wang <[email protected]> wrote: > building Kylin from source: https://github.com/KylinOLAP/Kylin, when > selecting 2 segments of the cube to merge, the following error occur: > > [pool-7-thread-3]:[2015-03-09 > > 14:22:01,609][ERROR][org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:134)] > - ExecuteException job:059d0d3e-fa69-4ef5-b06b-f5625c1599d9 > org.apache.kylin.job.exception.ExecuteException: > org.apache.kylin.job.exception.ExecuteException: > java.lang.ArrayIndexOutOfBoundsException > at > > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:102) > at > > org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:132) > 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) > Caused by: org.apache.kylin.job.exception.ExecuteException: > java.lang.ArrayIndexOutOfBoundsException > at > > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:102) > at > > org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:50) > at > > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:99) > ... 4 more > Caused by: java.lang.ArrayIndexOutOfBoundsException > at > > org.apache.kylin.dict.DateStrDictionary.getValueBytesFromIdImpl(DateStrDictionary.java:191) > at > org.apache.kylin.dict.Dictionary.getValueBytesFromId(Dictionary.java:156) > at > > org.apache.kylin.dict.DictionaryGenerator.mergeDictionaries(DictionaryGenerator.java:94) > at > > org.apache.kylin.dict.DictionaryManager.mergeDictionary(DictionaryManager.java:149) > at > > org.apache.kylin.job.cube.MergeDictionaryStep.mergeDictionaries(MergeDictionaryStep.java:141) > at > > org.apache.kylin.job.cube.MergeDictionaryStep.makeDictForNewSegment(MergeDictionaryStep.java:131) > at > > org.apache.kylin.job.cube.MergeDictionaryStep.doWork(MergeDictionaryStep.java:68) > at > > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:99) >
