[jboss-jira] [JBoss JIRA] (WFLY-10269) Option for RemoteStoreBuilder to send unresolved hostname to RemoteStoreConfigurationBuilder

Marek Posolda (JIRA) issues at jboss.org
Thu Apr 19 11:25:00 EDT 2018


     [ https://issues.jboss.org/browse/WFLY-10269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marek Posolda updated WFLY-10269:
---------------------------------
    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
{code}
<outbound-socket-binding name="remote-cache">
    <remote-destination host="jdg-app-hotrod.infinispan.svc" port="11222"/>
</outbound-socket-binding>
{code}

And remote-store something like this:
{code}
<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>
{code}

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.

  was:
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: 

Socker binding in standalone-ha.xml
{code}
<outbound-socket-binding name="remote-cache">
    <remote-destination host="jdg-app-hotrod.infinispan.svc" port="11222"/>
</outbound-socket-binding>
{code}

And remote-store something like this:
{code}
<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>
{code}

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 .



> Option for RemoteStoreBuilder to send unresolved hostname to RemoteStoreConfigurationBuilder
> --------------------------------------------------------------------------------------------
>
>                 Key: WFLY-10269
>                 URL: https://issues.jboss.org/browse/WFLY-10269
>             Project: WildFly
>          Issue Type: Enhancement
>          Components: Clustering
>    Affects Versions: 11.0.0.Final
>            Reporter: Marek Posolda
>            Assignee: Paul Ferraro
>
> 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
> {code}
> <outbound-socket-binding name="remote-cache">
>     <remote-destination host="jdg-app-hotrod.infinispan.svc" port="11222"/>
> </outbound-socket-binding>
> {code}
> And remote-store something like this:
> {code}
> <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>
> {code}
> 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.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list