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

RemoteStore should use unresolved hostnames to accommodate dynamic environments

    Details

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pferraro Paul Ferraro
                  Reporter:
                  mposolda Marek Posolda
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: