Xiaoxiang Yu created KYLIN-5067:
-----------------------------------

             Summary: CubeBuildJob build unnecessary snapshot 
                 Key: KYLIN-5067
                 URL: https://issues.apache.org/jira/browse/KYLIN-5067
             Project: Kylin
          Issue Type: Bug
    Affects Versions: v4.0.0-beta
            Reporter: Xiaoxiang Yu
             Fix For: v4.1.0


In TPC-H benchmark, the query-13, which contains a 'left outer join', and its 
right table's join key(o_custkey), is not unique. And it will cause the build 
job failed with following exception.

 
{code:java}
java.lang.RuntimeException: Error execute 
org.apache.kylin.engine.spark.job.CubeBuildJob
        at 
org.apache.kylin.engine.spark.application.SparkApplication.execute(SparkApplication.java:96)
        at 
org.apache.spark.application.JobWorker$$anon$2.run(JobWorker.scala:55)
        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)
Caused by: java.lang.IllegalStateException: Failed to build lookup table 
V_ORDERS snapshot for Dup key found, key= O_CUSTKEY
        at 
org.apache.kylin.engine.spark.builder.CubeSnapshotBuilder$$anonfun$checkDupKey$1.apply(CubeSnapshotBuilder.scala:198)
        at 
org.apache.kylin.engine.spark.builder.CubeSnapshotBuilder$$anonfun$checkDupKey$1.apply(CubeSnapshotBuilder.scala:190)
        at 
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
        at 
org.apache.kylin.engine.spark.builder.CubeSnapshotBuilder.checkDupKey(CubeSnapshotBuilder.scala:189)
        at 
org.apache.kylin.engine.spark.job.ParentSourceChooser.decideFlatTableSource(ParentSourceChooser.scala:83)
        at 
org.apache.kylin.engine.spark.job.ParentSourceChooser$$anonfun$decideSources$1.apply(ParentSourceChooser.scala:71)
        at 
org.apache.kylin.engine.spark.job.ParentSourceChooser$$anonfun$decideSources$1.apply(ParentSourceChooser.scala:66)
        at scala.collection.Iterator$class.foreach(Iterator.scala:893)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at 
org.apache.kylin.engine.spark.job.ParentSourceChooser.decideSources(ParentSourceChooser.scala:66)
        at 
org.apache.kylin.engine.spark.job.CubeBuildJob.doExecute(CubeBuildJob.java:178)
        at 
org.apache.kylin.engine.spark.application.SparkApplication.execute(SparkApplication.java:304)
        at 
org.apache.kylin.engine.spark.application.SparkApplication.execute(SparkApplication.java:93)
        ... 4 more
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to