[
https://issues.apache.org/jira/browse/IGNITE-5943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16125626#comment-16125626
]
Eduard Shangareev commented on IGNITE-5943:
-------------------------------------------
My approach is introducing new negative constant, which would mean for a client
that connection would be closed and it should retry after some waiting
(exponential waiting from 1 ms to 1 minute). The approach requires access to
not visible nodes, it could look as abstraction violation.
But another one (with pausing reading from client connection while it wouldn't
become visible) requires huge refactoring because we use {{Node}} instance from
the beginning (deciding use or not paired connection, creating recovery object
and so on). And it would require hacking (like creating new recovery objects to
hide lack of {{Node}} instance and replacing it by normal one when client would
become visible). I have questions how to deal with {{usePairedConnection}}
while I don't have {{Node}} instance on hand.
[~yzhdanov] What is your opinion?
> Communication. Server node may reject client connection during massive
> clients join
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-5943
> URL: https://issues.apache.org/jira/browse/IGNITE-5943
> Project: Ignite
> Issue Type: Bug
> Components: general
> Affects Versions: 2.0
> Reporter: Eduard Shangareev
> Assignee: Yakov Zhdanov
> Priority: Critical
> Fix For: 2.2
>
>
> There is a race between a client join discovery event on server nodes and the
> moment when a client starts to establish outgoing communication connections.
> It would cause to rejecting communication connections on server nodes (for
> example. on requesting data from caches).
> The issue happens on really big topologies (> 300 nodes) or when many clients
> join simultaneously.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)