Guoliang Sun created KYLIN-6059:
-----------------------------------

             Summary: When the model is in a "broken" state, the build task 
status becomes abnormal
                 Key: KYLIN-6059
                 URL: https://issues.apache.org/jira/browse/KYLIN-6059
             Project: Kylin
          Issue Type: Bug
    Affects Versions: 5.0.0
            Reporter: Guoliang Sun
            Assignee: Guoliang Sun
             Fix For: 5.0.2


During the execution of the build task, the fact table of the model was 
deleted, causing the model to enter a "broken" state. The build task should 
have transitioned to the "discard" state via `suicideJob`, but an exception 
occurred instead. The `kylin.log` is as follows:
{code:java}
2024-12-12T14:26:42,651 WARN  [JobCheckThreadPool] runners.JobCheckUtil : 
[UNEXPECTED_THINGS_HAPPENED]  job e6a33368-6f6f-eac4-8295-62d04d30e443-ce504
fd8-30e7-67b9-9670-dc67d59e8ecd should be suicidal but discard failed
org.apache.kylin.common.persistence.metadata.PersistException: persist messages 
failed
        at 
org.apache.kylin.common.persistence.metadata.jdbc.JdbcUtil.withTransaction(JdbcUtil.java:149)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.metadata.jdbc.JdbcUtil.withTransaction(JdbcUtil.java:122)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.metadata.jdbc.JdbcUtil.withTxAndRetry(JdbcUtil.java:84)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.metadata.jdbc.JdbcUtil.withTxAndRetry(JdbcUtil.java:64)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.util.JobContextUtil.withTxAndRetry(JobContextUtil.java:292)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.util.JobContextUtil.withTxAndRetry(JobContextUtil.java:287)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.execution.ExecutableManager.suicideJob(ExecutableManager.java:1706)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.runners.JobCheckUtil.markSuicideJob(JobCheckUtil.java:99) 
~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.runners.JobCheckUtil.markSuicideJob(JobCheckUtil.java:91) 
~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.runners.JobCheckRunner.markSuicideForErrorOrPausedJobs(JobCheckRunner.java:134)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.runners.JobCheckRunner.run(JobCheckRunner.java:116) 
~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[?:1.8.0_181]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
~[?:1.8.0_181]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 ~[?:1.8.0_181]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 ~[?:1.8.0_181]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
~[?:1.8.0_181]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
~[?:1.8.0_181]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
Caused by: java.lang.NullPointerException: current thread is not accompanied by 
a UnitOfWork
        at 
org.apache.kylin.guava30.shaded.common.base.Preconditions.checkNotNull(Preconditions.java:897)
 ~[kylin-external-guava30-5.0.0.jar:?]
        at 
org.apache.kylin.common.persistence.transaction.UnitOfWork.get(UnitOfWork.java:227)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.transaction.UnitOfWork.isReadonly(UnitOfWork.java:369)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.InMemResourceStore.checkEnv(InMemResourceStore.java:231)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.InMemResourceStore.deleteResourceImpl(InMemResourceStore.java:178)
 ~[kylin-core-common-5.0.0-SNAPSHOT.j
ar:?]
        at 
org.apache.kylin.common.persistence.ResourceStore.deleteResource(ResourceStore.java:346)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.metadata.cachesync.CachedCrudAssist.delete(CachedCrudAssist.java:306)
 ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.metadata.cachesync.CachedCrudAssist.delete(CachedCrudAssist.java:297)
 ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
        at org.apache.kylin.metadata.Manager.delete(Manager.java:195) 
~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.metadata.cube.model.NDataflowManager.lambda$updateDataflowWithoutIndex$21(NDataflowManager.java:686)
 ~[kylin-core-metadata
-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.metadata.cube.model.NDataflowManager.updateDataflow(NDataflowManager.java:600)
 ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.metadata.cube.model.NDataflowManager.updateDataflowWithoutIndex(NDataflowManager.java:661)
 ~[kylin-core-metadata-5.0.0-SNA
PSHOT.jar:?]
        at 
org.apache.kylin.metadata.cube.model.NDataflowManager.updateDataflow(NDataflowManager.java:648)
 ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.engine.spark.job.NSparkCubingJob.cancelJob(NSparkCubingJob.java:274)
 ~[kylin-engine-spark-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.execution.ExecutableManager.suicideJob(ExecutableManager.java:1741)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.job.execution.ExecutableManager.lambda$suicideJob$88(ExecutableManager.java:1708)
 ~[kylin-core-job-5.0.0-SNAPSHOT.jar:?]
        at 
org.apache.kylin.common.persistence.metadata.jdbc.JdbcUtil.withTransaction(JdbcUtil.java:133)
 ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
        ... 17 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to