在使用Azkaban過程中,經常會使用Graph查看各個任務的依賴關係,但使用過程中發現有些不能正確顯示,決定排查一下問題。
1.首先保證,這是一個正確的工程
2.F12 控制檯
不能正常顯示的Graph 頁面,console 標紅90個。
大概意思就是 不能識別NAN
3.查看Azkban後臺接口數據返回,沒有發現問題
看來就是第二步,JS出錯了。
這裏直接寫出原因及解決方案: 如果不是此問題,很抱歉未能解決你的問題
原因:在計算任務節點在圖中的座標時候 有一個節點的X軸座標出現了NaN,導致連鎖效應,後面的節點都爲NaN.最終未能正確的在graph上渲染zhex這些節點。這個節點爲什麼X爲NaN,有什麼特徵呢? 此節點沒有Out(沒有其他節點依賴此節點),而計算X座標就是取Out中任務節點的x座標的平均值。 當Out 爲空,計算出值NaN。
解決:
js/azkaban/util/layout.js line 399 行
var pos = findAverage(layer[i].out);
修改爲 = 》
var pos = 0;
if(layer[i].out).length != 0){
var pos = findAverage(layer[i].out);
}
雖然是一個很小的改但是排查js還是花了一段時間,因爲最終結果是Y的座標爲NaN導致的,最後發現是X的一個NaN導致了很多其他節點Y軸爲NaN.
現在可以zheq正確顯示啦。
拓展1.
導致渲染錯的節點示範
拓展2 NaN是什麼
傳送門:https://blog.csdn.net/bianliuzhu/article/details/82586867