Bug #12628 off by one on random selection of multiple hosts/ip addresses
Submitted: 17 Aug 2005 19:55 Modified: 18 Aug 2005 22:56
Reporter: A M
Status: Closed
Category:Connector/Net Severity:S2 (Serious)
Version:1.0.4 OS:Microsoft Windows (Win XP)
Assigned to: Reggie Burnett Target Version:

[17 Aug 2005 19:55] A M
Description:
Off by one bug in StreamCreator.GetStream(int), when a random IP address is selected out
of the ipAddresses array list.

Therefore, with 2 hosts/IPs in the ConnectString, Connector/net only tries to connect to
the first.

Note: both in ms.net and mono, System.Random.Next(int N) generates an integer larger or
equal to zero and *less than* N.

How to repeat:
Use a connectstring with 2 hosts/ips.
Connections will only be attempted for the first host/ip, and none for the second.

Suggested fix:
79c79
< 			int index = random.Next(ipAddresses.Count-1);
---
> 			int index = random.Next(ipAddresses.Count);
[18 Aug 2005 15:52] Reggie Burnett
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Fix will be in 1.0.5
[18 Aug 2005 22:56] Mike Hillyer
Documented in 1.0.5 changelog:

<listitem>
        <para>
          With multiple hosts in the connection string, &cnet;
          would not connect to the last host in the list. (Bug #12628)
        </para>
      </listitem>