GEODE-7565: Allow gw receivers with same host and port#4627
GEODE-7565: Allow gw receivers with same host and port#4627alb3rtobr wants to merge 17 commits intoapache:developfrom
Conversation
jake-at-work
left a comment
There was a problem hiding this comment.
Why use the strongly typed InternalDistributedMember rather than it's string representation?
jake-at-work
left a comment
There was a problem hiding this comment.
I think the use of ServerLocation and the ID in the key is redundant. The ID will always be unique and there will never be duplicate ID with two different ServerLocations. In the places where we need the ServerLocation we also have the LoadHolder which also has the ServerLocation, so we can just get ServerLocation from LoadHolder.
geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorLoadSnapshot.java
Outdated
Show resolved
Hide resolved
geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorLoadSnapshot.java
Outdated
Show resolved
Hide resolved
I don't see which part of the code is your comment about, but I suppose is referred to |
Sorry, I should have attached it to a line of code. Yes, the issues is with using the If you consider my other comment about the ID really being the only unique part of the key anyway it makes a stronger argument for the strong type over the string as the key for the maps. |
|
Hi @pivotal-jbarrett , the changes you requested are done and all checks pass, could you please take a look? Thanks! |
|
This pull request introduces 2 alerts when merging 3f2f49e into 9de8d20 - view on LGTM.com new alerts:
|
|
This pull request introduces 2 alerts when merging 924a2c4 into d294764 - view on LGTM.com new alerts:
|
This test is hang forever, causing the CI to stop. Im adding this timeout to check if there are other tests failing.
efdf8ee to
5bc2f7e
Compare
bschuchardt
left a comment
There was a problem hiding this comment.
There are quite a few failures in client/server tests that need to be addressed before this PR is ready for review. The same Pool/ServerLocation/Endpoint code is used for client/server communications and WAN communications and and these changes that are intended for WAN seem to be harming client/server functionality.
|
This PR has become a bit messy, so Im closing it. |
There is a problem with Geode WAN replication when GW receivers are configured with the same hostname-for-senders and port on all servers. The reason for such a setup is deploying Geode cluster on a Kubernetes cluster where all GW receivers are reachable from the outside world on the same VIP and port.
The problem experienced is that shutting down one server is stopping replication to this cluster until the server is up again. This is because Geode incorrectly assumes there are no more alive servers when just one of them is down, because since they share hostname-for-senders and port, they are treated as one same server.
With these changes locator is able to distinguish the different receivers using the same hostname and port so replication is not impacted when one server is stopped.
( Link to thread in dev mailing list: https://markmail.org/thread/6qakx67rxiokdsec )