[ 
https://issues.apache.org/jira/browse/IGNITE-11258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16784215#comment-16784215
 ] 

Vladimir Ozerov commented on IGNITE-11258:
------------------------------------------

[~alapin], my comments:
# {{JdbcPinnedResult}} - and again, this is not {{pinned}} result, so class 
name is misleading. This is just a result with IO it was sent through. Let's 
just name it {{JdbcResultWithIo}} then?
# Let's move {{HandshakeResult}} to a top-level. Inner classes are typically 
lead to poor encapsulation and hidden bugs as a result.
# {{JdbcThinStatement}} - please rename {{stickyIo}} local variables and 
parameters when they are not really {{sticky}}, but instead just denotes the IO 
some request was sent through. We need to have clear naming to simplify future 
development which will be performed by possibly other contributors.
# {{JdbcThinConnection}} - let's review naming as well. We have a lot "ios" 
with no systematic approach to their naming:
## {{cliIo}} -> {{singleIo}]
## {{nodeToConnMap}} -> {{ios}}
## {{connections}} -> {{iosArr}}, and why is it {{Object[]}} instead of 
{{JdbcThinTcpIo[]}}?
## {{txStickyIo}} -> {{txIo}}
# {{JdbcThinConnection.sendRequest}} - {{ownThread = null}} should be done 
inside separate {{finally}} block to be on the safe side.
# {{connectInCommonMode}} and {{connectInBestEffortAffinityMode}} - there is 
code duplication in exception handling. This should be factored out.

> JDBC Thin: update connection setup logic.
> -----------------------------------------
>
>                 Key: IGNITE-11258
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11258
>             Project: Ignite
>          Issue Type: Task
>          Components: jdbc
>            Reporter: Alexander Lapin
>            Assignee: Alexander Lapin
>            Priority: Major
>              Labels: iep-23
>             Fix For: 2.8
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> # On thin client startup it connects to *all* *nodes* provided by user by 
> client configuration.
>  # Upon handshake server returns its UUID to client.
>  # By the end of the startup procedure, client have open connections to all 
> available server nodes and the following mapping (*nodeMap*): [UUID => 
> Connection].
> Connection to all nodes helps to identify available nodes, but can lead to 
> significant delay, when thin client is used on a large cluster with a long IP 
> list provided by user. To lower this delay, asynchronous establishment of 
> connections can be used.
> For more information see [IEP-23: Best Effort 
> Affinity|https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to