我有一个1个服务器的Gemfire集群,它托管了复制区域。我正在使用客户端 - 服务器架构。
<region name="region_name">
<region-attributes refid="REPLICATE" />
</region>
该区域预先加载了数据。
然后我将新服务器添加到群集中。我可以在Pulse和gfsh中看到它。一些新客户端连接到新服务器,但它们接收空数据。 数据不会从第一台服务器复制到新启动的服务器。
在第二台服务器的cacheserver.log中,我可以看到像
这样的行Region region_name requesting initial image from fodbs-otc01(85584)<v60>:11033
region_name is done getting image from fodbs-otc01(85584)<v60>:11033
我认为这是来自第一台服务器的数据复制,但第二台服务器上似乎没有数据出现。
任何解决方案?
更新:我注意到它与索引有关。我的索引定义为
<index name="businessDateIndex">
<functional from-clause="/region_name" expression="businessDate" />
</index>
如果删除索引,一切正常。但是如果索引被启用,似乎索引不会被复制,而缓存服务器仍然尝试使用它。因此 - 来自新启动的服务器的空数据。