确保在Hazelcast群集中加载所有分区

时间:2017-09-09 19:58:02

标签: partitioning hazelcast

分布式地图的官方文档说'EAGER意味着加载被阻止,直到所有分区都被加载。'这是否意味着在加载该地图的所有分区之前,阻止任何分布式地图操作?

我的项目有几个相当大的存储空间,DB的初始加载大约需要20分钟。在完全加载所有分区之前,几乎没有必要启动所有计划任务。当所有分区都已启动并准备就绪时,是否有任何想要通知?

1 个答案:

答案 0 :(得分:1)

是的,这就是它的含义。如果尚未加载分区,则不会执行分区操作。操作将被停放和重试。 每个分区的加载是相互独立的,所以如果对partitionId == 1的加载完成,并且你执行map.get(key),对于由partitionId == 1处理的密钥,即使partitionId,此操作也会成功== 2仍在加载值。如果要阻塞直到所有分区都加载到主叫方上,你可以只调用map.size()它需要加载所有分区,因此在加载所有分区之前它不会完成。