1.視界

2.概述
flink 的架構在 flink 基本元件一節已經介紹過,其中的 TaskManager 負責監護 task 的執行,對于每個 task,flink 都會啟動一個線程去執行,那麼當使用者的代碼抛出異常時,flink 的處理邏輯是什麼呢?
3.異常後的元件通信
一個 flink task 的線程 Runnable 類是 Task.java,我們觀察到它的
run()
方法整個被一個大的 try catch 包住,這裡重點關注 catch 使用者異常之後的部分:
catch (Throwable t) {
// unwrap wrapped exceptions to make stack traces more compact</