[jboss-jira] [JBoss JIRA] (WFLY-11750) Allow cluster to use DNS addresses instead of IP addresses
Tomasz Adamski (Jira)
issues at jboss.org
Tue Feb 26 07:02:10 EST 2019
[ https://issues.jboss.org/browse/WFLY-11750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700509#comment-13700509 ]
Tomasz Adamski commented on WFLY-11750:
---------------------------------------
{quote}
Agreed. The server supplies this information via client mappings, the destination address for which is stored and supplied as a string. Thus the server should already be capable of seding the client with a hostname instead of an IP address. However, I suspect that the address used by the transaction client is taken from the remote connection itself - which likely use the resolved destination address (as the established connection will have already resolved the host name), rather than preferring the host name over the address, if it exists.
{quote}
I was debugging into that and connections are based on the data obtained from cluster topology call. I have also checked standalone scenario and it works fine == narayana object store records consist of DNS address if WildFly is configured using those.
Maybe the right thing to deal with it is to do a translation is server's cluster topology call. I'm going to debug into that and see the possibilities. Generally, I was skeptical about the translating solution because I was afraid of bugs that may arise from it (f.e. race conditions during cluster reorganization). That's why I suggested for the cluster to be based on DNS (which have similar guarantees in OpenShift as IPs in bare-metal) addresses directly. But maybe, if this happens in the server topology call than those problems won't occur.
> Allow cluster to use DNS addresses instead of IP addresses
> ----------------------------------------------------------
>
> Key: WFLY-11750
> URL: https://issues.jboss.org/browse/WFLY-11750
> Project: WildFly
> Issue Type: Feature Request
> Components: Clustering
> Affects Versions: 16.0.0.Beta1
> Reporter: Tomasz Adamski
> Assignee: Paul Ferraro
> Priority: Major
>
> We would need a configuration that would allow for the cluster to use DNS addresses instead of IP addresses. The reason is that OpenShift guarantees the node identity under DNS address and not under IP address.
> Sample scenario that may currently fail when application are deployed in OpenShift:
> A (application)
> B (clustered application)
> 1. A calls transactional invocation on B
> 2. as a result of discovery process A obtains a cluster topology from B and uses one of obtained IP addresses for the connection
> 3. as the invocation is transactional the object-store records are written in A's persistent object store; those records are based on the data obtained from the cluster => subordinate node is identified by the IP address from point two
> 4. B node fails
> 5. OpenShift restarts node B on another IP address
> 6. A attempts recovery and persistently fails
> OTOH OpenShift guarantees node identity under DNS address. As a result, at point 5 node is guaranteed to restart on established DNS address so if the cluster used this address instead of physical addresses the scenario above will finish with A being able to recover the transaction.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list