[ 
https://issues.apache.org/jira/browse/KYLIN-1973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15528791#comment-15528791
 ] 

Copperfield commented on KYLIN-1973:
------------------------------------

When I use kylin-core-dictionary.jar of 1.5.4 to as a patch for kylin 1.5.2.1
The error still happen
and my error stack is 
java.lang.RuntimeException: Failed to create dictionary on DEFAULT.XXXXX
        at 
org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:329)
        at 
org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:274)
        at 
org.apache.kylin.cube.CubeManager.buildDictionary(CubeManager.java:165)
        at 
org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:51)
        at 
org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:42)
        at 
org.apache.kylin.engine.mr.steps.CreateDictionaryJob.run(CreateDictionaryJob.java:56)
        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.HadoopShellExecutable.doWork(HadoopShellExecutable.java:60)
        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:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NegativeArraySizeException
        at 
org.apache.kylin.dict.TrieDictionaryBuilder.buildTrieBytes(TrieDictionaryBuilder.java:443)
        at 
org.apache.kylin.dict.TrieDictionaryBuilder.build(TrieDictionaryBuilder.java:408)
        at 
org.apache.kylin.dict.DictionaryGenerator$StringDictBuilder.build(DictionaryGenerator.java:165)
        at 
org.apache.kylin.dict.DictionaryGenerator.buildDictionary(DictionaryGenerator.java:81)
        at 
org.apache.kylin.dict.DictionaryGenerator.buildDictionary(DictionaryGenerator.java:73)
        at 
org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:325)
        ... 15 more


and I logged the wrong value:

logger.info("Length of mbpn_footprint is: " + stats.mbpn_footprint);
logger.info("Length of head.length is: " + head.length);
logger.info("Why there is a navigate number: " + stats.mbpn_footprint + 
head.length);

Length of mbpn_footprint is: -472279743
2016-09-28 15:54:50,460 INFO  [pool-2-thread-1] dict.TrieDictionaryBuilder:447 
: Length of head.length is: 64
2016-09-28 15:54:50,461 INFO  [pool-2-thread-1] dict.TrieDictionaryBuilder:448 
: Why there is a navigate number: -47227974364



> java.lang.NegativeArraySizeException when Build Dimension Dictionary
> --------------------------------------------------------------------
>
>                 Key: KYLIN-1973
>                 URL: https://issues.apache.org/jira/browse/KYLIN-1973
>             Project: Kylin
>          Issue Type: Bug
>    Affects Versions: v1.5.3
>            Reporter: zhengdong
>            Assignee: liyang
>             Fix For: v1.5.4
>
>
>  exception when Build Dimension Dictionary:
> java.lang.NegativeArraySizeException
>       at 
> org.apache.kylin.dict.TrieDictionary.getValueFromIdImpl(TrieDictionary.java:274)
>       at 
> org.apache.kylin.common.util.Dictionary.getValueFromId(Dictionary.java:130)
>       at 
> org.apache.kylin.dict.lookup.SnapshotTable$1.getRow(SnapshotTable.java:138)
>       at org.apache.kylin.dict.lookup.LookupTable.init(LookupTable.java:67)
>       at 
> org.apache.kylin.dict.lookup.LookupStringTable.init(LookupStringTable.java:79)
>       at org.apache.kylin.dict.lookup.LookupTable.<init>(LookupTable.java:55)
>       at 
> org.apache.kylin.dict.lookup.LookupStringTable.<init>(LookupStringTable.java:65)
>       at 
> org.apache.kylin.cube.CubeManager.getLookupTable(CubeManager.java:619)
>       at 
> org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:61)
>       at 
> org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:42)
>       at 
> org.apache.kylin.engine.mr.steps.CreateDictionaryJob.run(CreateDictionaryJob.java:56)
>       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.HadoopShellExecutable.doWork(HadoopShellExecutable.java:63)
>       at 
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:112)
>       at 
> org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:57)
>       at 
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:112)
>       at 
> org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:127)
>       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)
> result code:2



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to