You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
我的感覺是 ReplicaLeaderCost 的 MoveCost 是在拘限 leader 轉移帶給叢集的影響(leadership change 帶來的延遲?),使用 leader 原本在 broker A 被轉移到 broker B 好像比較能反映這個影響。我怕我漏看了什麼條件,所以想詢問現行的 ReplicaLeaderCost MoveCost 實作的目的是要避免哪種搬移帶來的影響?
The text was updated successfully, but these errors were encountered:
garyparrot
changed the title
Inquiry about the definition of "a movement" formax.migrated.leader.number constraint
Inquiry about the definition of "a movement" for max.migrated.leader.number constraint
Apr 24, 2023
各位大大好🙇
我想詢問關於
max.migrated.leader.number
這個限制的定義,文件內是說 "設定最大可搬移的leader 數量",我對文字的理解是,如果一個 Leader Replica 原本在 Broker A,然後他被換到 Broker B,那麼這個是 "1個移動",然後移動的數量不能超過該參數的設定值。我嘗試實作一段程式碼去測試
ReplicaLeaderCost
的實作行為上面這段程式碼建立兩個
ClusterInfo
,有兩個節點,每個節點各自負責 3 個 leader。sourceCluster
中節點1 負責A,B,C
leader,而節點2 負責D,E,F
leadertargetCluster
中節點1 負責D,E,F
leader,而節點2 負責A,B,C
leader建立
ReplicaLeaderCost
,設定限制只能夠發生一次 leader 的搬移,輸出這個他的 movecost 有沒有被違反如果依照我前面對 “搬移的理解",這個情境每個 leader replica 都被移動到別的節點,總共發生了 6 個 leader 的搬移。但程式碼的輸出表示沒有任何搬移被發生 (migration < 1)。
參考程式碼的細部實作,
ReplicaLeaderCost
的 MoveCost 好像是在避免每個節點的 leader 數量變化,比如如果有一個節點有 30 個 leader replica,則在套用限制 5 個移動的情況下,該節點的 leader replica 數量要控制在 5 之間。拿上面的程式碼範例,這個過程移出了 3 個 leader replica 然後移入 3 個 leader replica,整體數量變化是 0,所以沒有MoveCost
發生。我的感覺是
ReplicaLeaderCost
的 MoveCost 是在拘限 leader 轉移帶給叢集的影響(leadership change 帶來的延遲?),使用 leader 原本在 broker A 被轉移到 broker B 好像比較能反映這個影響。我怕我漏看了什麼條件,所以想詢問現行的 ReplicaLeaderCost MoveCost 實作的目的是要避免哪種搬移帶來的影響?The text was updated successfully, but these errors were encountered: