-
Enhancement
-
Resolution: Done
-
Major
-
11.0.0.Final
-
None
Use-case: We have openshift environment with RHSSO server connected to JDG server through HotRod protocol. RHSSO is connected to JDG through the RemoteStore . Configuration on RHSSO side is like this:
Socket binding in standalone-ha.xml
<outbound-socket-binding name="remote-cache"> <remote-destination host="jdg-app-hotrod.infinispan.svc" port="11222"/> </outbound-socket-binding>
And remote-store something like this:
<replicated-cache name="work" mode="SYNC"> <remote-store cache="work" remote-servers="remote-cache" passivation="false" fetch-state="false" purge="false" preload="false" shared="true"> </remote-store> </replicated-cache>
Let's assume that JDG needs to be restarted. This usually causes that service "jdg-app-hotrod.infinispan.svc" will be available under different IP address. For example previous IP of "jdg-app-hotrod.infinispan.svc" is "172.30.247.78" . After restart, it is changed to "172.30.28.27" .
The issue is, that HotRod client won't be able to see this change and will still try to connect to old address.
Why?: The org.jboss.as.clustering.infinispan.subsystem.RemoteStoreBuilder method "accept" always pass resolved address to infinispan: https://github.com/wildfly/wildfly/blob/master/clustering/infinispan/extension/src/main/java/org/jboss/as/clustering/infinispan/subsystem/RemoteStoreBuilder.java#L95 . So infinispan will receive just static IP address.
If there is an option for RemoteStoreBuilder to pass the "unresolved" hostname, it will help. Infinispan itself has support for "unresolved" dynamic hostnames thanks to the JIRA: ISPN-7955 , so it is already able to dynamically adapt to changed IP.
- relates to
-
ISPN-7955 Hot Rod client needs to re-resolve topology addresses after failure to connect
- Closed