日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

開發(fā)運(yùn)行中的其他問題

本文介紹開發(fā)運(yùn)行中的其他問題。

報(bào)錯:Caused by: java.lang.NoSuchMethodError: org.apache.flink.table.planner.plan.metadata.FlinkRelMetadataQuery.getUpsertKeysInKeyGroupRange(Lorg/apache/calcite/rel/RelNode;[I)Ljava/util/Set;

  • 報(bào)錯原因

    如果您依賴了社區(qū)的internal API,而這個internal API阿里云上的版本做了一些優(yōu)化,可能會導(dǎo)致包沖突等異常。

  • 解決方案

    Flink源代碼中只有明確標(biāo)注了@Public或者@PublicEvolving的才是公開供用戶調(diào)用的方法,阿里云只對這些方法的兼容性做出產(chǎn)品保證。

報(bào)錯:Task did not exit gracefully within 180 + seconds.

  • 報(bào)錯詳情

    Task did not exit gracefully within 180 + seconds.
    2022-04-22T17:32:25.852861506+08:00 stdout F org.apache.flink.util.FlinkRuntimeException: Task did not exit gracefully within 180 + seconds.
    2022-04-22T17:32:25.852865065+08:00 stdout F at org.apache.flink.runtime.taskmanager.Task$TaskCancelerWatchDog.run(Task.java:1709) [flink-dist_2.11-1.12-vvr-3.0.4-SNAPSHOT.jar:1.12-vvr-3.0.4-SNAPSHOT]
    2022-04-22T17:32:25.852867996+08:00 stdout F at java.lang.Thread.run(Thread.java:834) [?:1.8.0_102]
    log_level:ERROR
  • 報(bào)錯原因

    該報(bào)錯不是作業(yè)異常的根因。因?yàn)門ask退出的超時task.cancellation.timeout參數(shù)的默認(rèn)值為180s,當(dāng)作業(yè)Failover或退出過程中,可能會因某種原因阻塞Task的退出。當(dāng)阻塞時間達(dá)到超時時間后,F(xiàn)link會判定該Task已卡死無法恢復(fù),會主動停止該Task所在的TaskManager,讓Failover或退出流程繼續(xù)下去,所以在日志中會出現(xiàn)這樣的報(bào)錯。

    真正的原因可能是您自定義函數(shù)的實(shí)現(xiàn)有問題,例如close方法的實(shí)現(xiàn)中長時間阻塞或者計(jì)算方法長時間未返回等。

  • 解決方案

    設(shè)置Task退出的超時時間參數(shù)task.cancellation.timeout取值為0,配置方法請參見如何配置作業(yè)運(yùn)行參數(shù)?配置為0時,Task退出阻塞將不會超時,該task會持續(xù)等待退出完成。重啟作業(yè)后再次發(fā)現(xiàn)作業(yè)在Failover或退出過程中長時間阻塞時,需要找到處于Cancelling狀態(tài)的Task,查看該Task的棧,排查問題的根因,然后根據(jù)排查到的根因再針對性解決問題。

    重要

    task.cancellation.timeout參數(shù)用于作業(yè)調(diào)試,請不要在生產(chǎn)作業(yè)上配置該參數(shù)值為0。

報(bào)錯: Can not retract a non-existent record. This should never happen.

  • 報(bào)錯詳情

    java.lang.RuntimeException: Can not retract a non-existent record. This should never happen.
        at org.apache.flink.table.runtime.operators.rank.RetractableTopNFunction.processElement(RetractableTopNFunction.java:196)
        at org.apache.flink.table.runtime.operators.rank.RetractableTopNFunction.processElement(RetractableTopNFunction.java:55)
        at org.apache.flink.streaming.api.operators.KeyedProcessOperator.processElement(KeyedProcessOperator.java:83)
        at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:205)
        at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:135)
        at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:106)
        at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:66)
        at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:424)
        at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:204)
        at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:685)
        at org.apache.flink.streaming.runtime.tasks.StreamTask.executeInvoke(StreamTask.java:640)
        at org.apache.flink.streaming.runtime.tasks.StreamTask.runWithCleanUpOnFail(StreamTask.java:651)
        at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:624)
        at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:799)
        at org.apache.flink.runtime.taskmanager.Task.run(Task.java:586)
        at java.lang.Thread.run(Thread.java:877)
                        
  • 報(bào)錯原因及解決方案

    場景

    原因

    解決方案

    場景1

    由代碼中now()導(dǎo)致。

    因?yàn)門opN不支持非確定性的字段作為排序字段(ORDER BY)或分組字段(PARTITION BY),now()每次輸出的值不同,所以導(dǎo)致Retraction無法找到之前的值。

    使用源表中定義的只會產(chǎn)生確定性值的字段作為排序字段(ORDER BY)和分組字段(PARTITION BY)。

    場景2

    table.exec.state.ttl參數(shù)值設(shè)置過小,State因過期被清理,retract時找不到對應(yīng)keystate。

    調(diào)大table.exec.state.ttl參數(shù)值。配置方法請參見如何配置作業(yè)運(yùn)行參數(shù)?

    場景3

    VVR 4.0.15以下版本的已知缺陷。

    上游使用CDC Connector,Hologres全增量一體源表并不是一致性的讀取,全量數(shù)據(jù)和增量數(shù)據(jù)之前是有overlap的,導(dǎo)致在處理binlog一開始的update_before時,會發(fā)現(xiàn)該數(shù)據(jù)在State中不存在。

    如果您使用的是CDC或Hologres,建議您升級作業(yè)版本至VVR 4.0.16或VVR 6.0.3及以上版本。