我有一个托管复制区域的 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>
如果删除索引,一切正常。但是,如果启用了索引,则索引似乎不会被复制,而缓存服务器仍会尝试使用它。因此 - 来自新启动的服务器的空数据。