天天看點

95-235-040-源碼-task-Flink 對使用者代碼異常處理1.視界2.概述3.異常後的元件通信

1.視界

95-235-040-源碼-task-Flink 對使用者代碼異常處理1.視界2.概述3.異常後的元件通信

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</
           

繼續閱讀