Hi all,
I am using kylin-2.2.0, and some of my job constantly failed at the third
stage of "Extract Fact Table Distinct Columns", with exception below:
java.lang.IllegalStateException
at
org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:116)
at
org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:129)
at
org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:125)
at
org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:64)
at
org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:125)
at
org.apache.kylin.job.impl.threadpool.DistributedScheduler$JobRunner.run(DistributedScheduler.java:171)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
result code:2
I found the snippet from source code :
CubeSegment segment = cube.getSegmentById(segmentID);
if (segment == null) {
logger.error("Failed to find {} in cube {}", segmentID, cube);
for (CubeSegment s : cube.getSegments()) {
logger.error(s.getName() + " with status " + s.getStatus());
}
throw new IllegalStateException();
}
which means, the segment can not be found when throw "IllegalStateException"
Why a building segment can not be found by the kylin ?
【I guess it must be the metadata synchronize issue】