Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-10269

RemoteStore should use unresolved hostnames to accommodate dynamic environments

XMLWordPrintable

      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.

              pferraro@redhat.com Paul Ferraro
              mposolda@redhat.com Marek Posolda
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: