1

NDB API イベントのドキュメントとクラス コメントをふるいにかけた後、NdbEventOperation.hpp で次のコメントを見つけました。

/* * Known Issues: * - If a node failure has occured not all events will be recieved * anymore. Drop NdbEventOperation and Create again after nodes are up * again. Will be fixed in later versions */

これは、データノードに障害が発生した場合、NDB イベントが受信されないということですか?

NDB API イベント リスナー プログラムの実行中にデータ ノードを強制終了するテストを行いましたが、まだすべてのイベントを受信して​​います (現在、プロトタイプ作成中に 2 つのイベントしかありません)。

アップデート:

ここにいくつかの明確化があります:

たとえば、4 つのホスト (n1、n2、n3、n4) のクラスターがあり、2 つのデータ ノード (n1、n2)、1 つの管理ノード (n3)、1 つの 2 つの SQL ノード (n3、n4) があるとします。 . したがって、データ ノード (n1 など) がダウンした場合、クラスター イベントは同期的に発生するため、n1 によって処理されていたイベントが n2 によって処理されると想像できます。ですから、これらのイベントをどのように失うかわかりません。

NdbEventOperation.hpp のコメントがデータ ノード、管理ノード、または SQL ノードのいずれを指しているのか疑問に思っています。

この問題が修正されているかどうかも疑問に思っています(コメントに「後のバージョンで修正される」と書かれているため)。

NdbEventOperation.hpp のこのコメントは、MySQL Cluster の全体的な概念が可用性とイベントを中心に展開しているため、非常に悪いように見えます。クラスター内のデータ ノードがダウンした場合、一部のイベントが受信されないとは信じがたいです。

4

0 に答える 0