[ 
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)

Reply via email to