[ https://issues.apache.org/jira/browse/GEODE-9880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17525866#comment-17525866 ]
Donal Evans commented on GEODE-9880: ------------------------------------ @ginga Following discussion with team members, the questions above were answered as follows: Unconditional construction of an SNIHostName is a topic that needs further discussion, and if deemed to be something we want to avoid, a new ticket will be created. Name resolution is required for a valid configuration. In order to support the use case described here, where clients are not able to resolve hostnames into IP addresses or vice versa, a significant amount of additional testing would be required, and would potentially need a lot of code changes. This is not something we intend to support. As such, it's recommended that this ticket be closed as "workaround" or "will not fix" and the "blocks-1.15.0" label be removed. > Cluster with multiple locators in an environment with no host name > resolution, leads to null pointer exception > -------------------------------------------------------------------------------------------------------------- > > Key: GEODE-9880 > URL: https://issues.apache.org/jira/browse/GEODE-9880 > Project: Geode > Issue Type: Bug > Components: locator, membership > Affects Versions: 1.12.5 > Reporter: Tigran Ghahramanyan > Assignee: Patrick Johnsn > Priority: Major > Labels: blocks-1.12.10, blocks-1.15.0, membership > > In our use case we have two locators that are initially configured with IP > addresses, but _AutoConnectionSourceImpl.UpdateLocatorList()_ flow keeps on > adding their corresponding host names to the locators list, while these host > names are not resolvable. > Later in {_}AutoConnectionSourceImpl.queryLocators(){_}, whenever a client > tries to use such non resolvable host name to connect to a locator it tries > to establish a connection to {_}socketaddr=0.0.0.0{_}, as written in > {_}SocketCreator.connect(){_}. Which seems strange. > Then, if there is no locator running on the same host, the next locator in > the list is contacted, until reaching a locator contact configured with IP > address - which succeeds eventually. > But, when there happens to be a locator listening on the same host, then we > have a null pointer exception in the second line below, because _inetadd=null_ > _socket.connect(sockaddr, Math.max(timeout, 0)); // sockaddr=0.0.0.0, > connects to a locator listening on the same host_ > _configureClientSSLSocket(socket, inetadd.getHostName(), timeout); // inetadd > = null_ > > As a result, the cluster comes to a failed state, unable to recover. -- This message was sent by Atlassian Jira (v8.20.7#820007)