Search code examples
gemfirespring-data-gemfiregeode

Gemfire WAN Gateway-senders/receivers members


Within a cluster, we want to create members that are neither senders nor receivers, while having 1 sender/receiver in each cluster. We started up the sender/receiver in a given cluster first, no errors. As soon as we started up the member that's neither a sender nor a receiver, it raises this error:

java.lang.IllegalStateException: Cannot create Region /data with [gateway-sender-A] gateway sender ids because another cache has the same region defined with [] gateway sender ids.

Some assumptions: - Replicated regions - Serial gateway-senders - manual-start is false for all gateway-senders

My guess is that since the member doesn't have a gateway-sender-id, it's complaining being blank, which I'm confused. I thought we can have members that are neither sender/receiver in a cluster. Can someone clarify?

Thanks


Solution

  • Figured it out.

    My old understanding was based on this graph, WAN-Topology

    Where the 2 top left members were neither senders/receivers. This is wrong. The graph is a little misleading.

    You CAN set which members are receivers in cache xml but CAN NOT set which members hosting the region are senders. In other words, having the tag in a member doesn't mean that member is the sender, it simply means that region has a sender in the cluster.

    Therefore, if you want a sender for a specified region, you must include the <gateway-sender> tag in all the members under the specified region for it to be valid.