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
frugalos プロセスが停止処理を開始すると一時的に No such node のエラーを返すことがある(理由は後述)。この場合には mds client が保持している leader をクリアして別の frugalos プロセスにリクエストをリトライすれば成功する確率が高い。No such node エラー時に leader をクリアするデメリットは特にない、はず(クラスタが stable な状態で No such node のエラーが継続的に出続けることはない)。
No such node のエラー用に ErrorKind を追加して、以下のコードのエラー処理で leader を取得しなおすよう変更すると対応できそうな感じがする。No such node のエラーが出ているタイミングではリーダー選出中の可能性が高く、リトライしたリクエストはリーダー選出待ちになることが多いはず。
frugalos プロセスが停止処理を開始すると一時的に
No such node
のエラーを返すことがある(理由は後述)。この場合には mds client が保持している leader をクリアして別の frugalos プロセスにリクエストをリトライすれば成功する確率が高い。No such node
エラー時に leader をクリアするデメリットは特にない、はず(クラスタが stable な状態でNo such node
のエラーが継続的に出続けることはない)。No such node
のエラー用にErrorKind
を追加して、以下のコードのエラー処理で leader を取得しなおすよう変更すると対応できそうな感じがする。No such node
のエラーが出ているタイミングではリーダー選出中の可能性が高く、リトライしたリクエストはリーダー選出待ちになることが多いはず。libfrugalos/src/client/mds.rs
Line 245 in 52bf942
No such node
のエラーは以下のコードから返ってくる。https://github.com/frugalos/frugalos/blob/8246fdb52b8a8ea5fb2ca4d2ddc2a40b76d6924a/frugalos_mds/src/server.rs#L56
エラーが発生する理由は、frugalos プロセスの停止処理中にプロセスが管理しているノード一覧が非 atomic に変動するから。その結果、mds のクライアント側が保持している leader ノードがサーバー側の frugalos プロセスにはすでにいなくなっているということが起きる。このエラーが出なくするのは非常に面倒だと予想しているので、エラー自体が出てしまうのは許容しておいた方が良さそうな印象。
The text was updated successfully, but these errors were encountered: