Azkaban2.x graph不能正確展示問題

 在使用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