2016-07-07 23 views
0

私が飼育係に2つの質問があります。第四ステップが必要なのはなぜ質問:バリアの実装およびシーケンスノード

Barries実装

https://zookeeper.apache.org/doc/r3.1.2/recipes.html#sc_recipes_eventHandles

を?クライアントがバリアノードの削除イベントを待っている場合、イベントがトリガーされたときに、クライアントはまだexists()コールを再発行する必要がありますか?

シーケンスノード

は、飼育係は、シーケンスノードの名に付加番号が連続してであることを保証していて、が0から始まりますか? Ephemeral属性と混在していても?例えば

/テストは、新しく作成されたノードである場合、シーケンスの子ノードのようなものでなければなりません:/テスト/ xxx_00000000000/テスト/ xxx_00000000001/テスト/ xxx_00000000002 ... /test/xxx_00000000000および/test/xxx_00000000001から始まることは決してありません。

答えて

0

最初の質問:見て、クライアントの任意の量が存在することができ

、1が入り、他人のために、(存在が)再テストする必要があるため、再度、trueを返します。

2番目の質問:私は、そう、彼らは連続して、すべてのscenariisに0から始まることになると思う

。私はこれには良い出典がありませんが、さまざまな状況(一時的なシーケンシャルを含む)でシーケンシャルノードを使用し、別の動作を見たことはありません。

+0

すべてのクライアントがバリアノードの削除イベントを待機し、ノードが削除された場合、すべてのクライアントに通知し、exists()の呼び出しはすべてfalseを返す必要があります。ノードが削除されているので、exists()呼び出しでどのようにクライアントが真実になるのでしょうか? –

+0

私は通知を得るための最初のクライアントは、他の人が見ることができるようにバリアを入力して評価すると仮定しています。 – C4stor

+0

私はまだ最初のクライアントが障壁を払うべき理由を理解していませんか?私の理解では、バリアが消滅した場合、すなわちノードが削除された場合、すべてのクライアントは処理を続行する必要があります。したがって、障壁を評価する必要はありません。私が間違っているなら、私を修正してください。 –

関連する問題