[ https://issues.apache.org/jira/browse/IGNITE-11471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16800030#comment-16800030 ]
Ivan Pavlukhin commented on IGNITE-11471: ----------------------------------------- [~ibelyakov], [~vozerov], please pay attention that line (from patch) in method {{JdbcThinTcpIo#nextServerIndex}} {code} return (int)(abs(nextIdx) % len); {code} can still return negative number because {{Math.abs}} returns {{Long.MIN_VALUE}} if {{Long.MIN_VALUE}} is passed as argument and {{%}} operators preserves a sign of a _dividend_ ({{-1 % 2 == -1}}). > JDBC: Thin driver should start with a random server to connect > -------------------------------------------------------------- > > Key: IGNITE-11471 > URL: https://issues.apache.org/jira/browse/IGNITE-11471 > Project: Ignite > Issue Type: Improvement > Components: jdbc > Reporter: Stanislav Lukyanov > Assignee: Igor Belyakov > Priority: Major > Labels: newbie > Fix For: 2.8 > > Time Spent: 20m > Remaining Estimate: 0h > > Thin JDBC driver uses a list of server addresses to connect to. Connections > created in a single JVM will use round-robin to choose the server to connect, > yielding a uniform distribution. However, the round-robin always starts from > the first server in the list. It means that multiple JVMs with the same JDBC > connection URL and one connection each will all connect to the same server. > Need to choose the first server randomly to have a better distribution. -- This message was sent by Atlassian JIRA (v7.6.3#76005)