2017-09-09 11 views
0

分散マップの公式ドキュメントでは、 'EAGERはすべてのパーティションがロードされるまでロードがブロックされていることを意味します。そのマップのすべてのパーティションがロードされるまで、分散マップの操作がブロックされていることを意味しますか?すべてのパーティションがHazelcastクラスタにロードされていることを確認

私のプロジェクトにはいくつかのかなり大きなストレージがあり、DBからの初期ロードには約20分かかります。すべてのパーティションが完全にロードされるまで、実行されるすべてのスケジュールされたタスクを開始することは事実上不要です。すべてのパーティションが稼動しているときに通知を受けることはありませんか?

答えて

1

はい、そうです。パーティションがまだロードされていない場合、パーティションの操作は実行されません。操作は駐車され、再試行されます。 各パーティションのロードは互いに独立しているので、partitionId == 1のロードが完了し、mapId(key)を実行すると、partitionId == 1で処理されるキーに対してこの操作は成功します。 partitionId == 2はまだ値をロードしています。すべてのパーティションが呼び出し側にロードされるまでブロックする場合は、map.size()を呼び出すだけで、すべてのパーティションをロードする必要があるため、すべてがロードされるまで終了しません。