[
https://issues.apache.org/jira/browse/IGNITE-22964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-22964:
------------------------------------
Description:
Initial *ReliableChannel#channelsInit* synchronously calls
*discoveryCtx::refresh*, causing the client initialization to hang on
unreachable addresses
* *discoveryCtx::refresh* must be run only in background threads
* Client initialization should finish as soon as a connection is established to
one of the configured addresses
*channelsCnt.get() == 0* check does not work properly:
https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannel.java#L747
was:
Initial *ReliableChannel#channelsInit* call synchronously calls
*discoveryCtx::refresh*, causing the client initialization to hang on
unreachable addresses
* *discoveryCtx::refresh* must be run only in background threads
* Client initialization should finish as soon as a connection is established to
one of the configured addresses
*channelsCnt.get() == 0* check does not work properly:
https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannel.java#L747
> Java thin: client init hangs when cluster discovery is enabled and returned
> addresses are not reachable
> -------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-22964
> URL: https://issues.apache.org/jira/browse/IGNITE-22964
> Project: Ignite
> Issue Type: Improvement
> Components: thin client
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Major
> Fix For: 2.17
>
>
> Initial *ReliableChannel#channelsInit* synchronously calls
> *discoveryCtx::refresh*, causing the client initialization to hang on
> unreachable addresses
> * *discoveryCtx::refresh* must be run only in background threads
> * Client initialization should finish as soon as a connection is established
> to one of the configured addresses
> *channelsCnt.get() == 0* check does not work properly:
> https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannel.java#L747
--
This message was sent by Atlassian Jira
(v8.20.10#820010)