Hi,
I encountered following error during the cube building today.
java.lang.RuntimeException: Failed to create dictionary on CUBEXXXX.KEYXXXXX
at
org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:325)
at
org.apache.kylin.cube.CubeManager.buildDictionary(CubeManager.java:222)
at
org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:50)
at
org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:41)
at
org.apache.kylin.engine.mr.steps.CreateDictionaryJob.run(CreateDictionaryJob.java:54)
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:113)
at
org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:57)
at
org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113)
at
org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:136)
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: com.google.common.cache.CacheLoader$InvalidCacheLoadException:
CacheLoader returned null for key 86f350ebfed4208ac42046bbab95dd04ce3e29c0.
at
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2412)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
at org.apache.kylin.dict.CachedTreeMap.get(CachedTreeMap.java:292)
at org.apache.kylin.dict.CachedTreeMap.get(CachedTreeMap.java:52)
at
org.apache.kylin.dict.AppendTrieDictionary$Builder.addValue(AppendTrieDictionary.java:821)
at
org.apache.kylin.dict.AppendTrieDictionary$Builder.addValue(AppendTrieDictionary.java:804)
at
org.apache.kylin.dict.GlobalDictionaryBuilder.build(GlobalDictionaryBuilder.java:78)
at
org.apache.kylin.dict.DictionaryGenerator.buildDictionary(DictionaryGenerator.java:81)
at
org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:323)
noticed that same problem was reported,
http://apache-kylin.74782.x6.nabble.com/cube-build-error-in-step-4-td7252.html
http://apache-kylin.74782.x6.nabble.com/CacheLoader-rerurned-null-for-key-xxx-td7565.html
but didn’t see the solution in the thread.
The kylin version is 1.6, and the cube can be built successfully in the past
few days, so not the first time build. The key that the dictionary is trying to
build on is a count-distinct column.
Let me know if more info is needed. Thanks!