Bug #78110 Unable to load larger tables from within a Windows 10 environment
Submitted: 17 Aug 2015 15:16 Modified: 2 Sep 2016 9:45
Reporter: Evan Janus Email Updates:
Status: Can't repeat Impact on me:
None 
Category:Connector / NET Severity:S1 (Critical)
Version:6.9.6 OS:Windows (Windows 10)
Assigned to: CPU Architecture:Any
Tags: 10, C#, DataTable, MySql.Data.dll, MySqlDataAdapter, NET, windows

[17 Aug 2015 15:16] Evan Janus
Description:
Hi,

The MySQL.Data.dll (apart of the NET/Connector) doesn't work properly while within a Windows 10 environment. This issue does not seem to affect older versions of Windows such as Windows 8.1 and Windows Server 2012 R2. 

The issue is with loading larger database tables from a MySQL server via a MySqlDataAdapater. When filling a DataTable via the MySqlDataAdapter Fill command, the extension will utilize 100% of a single cores CPU and hang. Eventually the server will timeout and disconnect the application. Maximizing the variable "net_write_timeout" and "net_read_timeout" does not appear to resolve the issue. While running, it appears as though the extension loads data from the MySql server extremely slow (small spurts of network activity as opposed to large, consistent activity). Smaller tables (a couple hundred rows or less) will load more slowly, but will eventually load. The problem is with just large tables (thousand plus rows) and of course, within a Windows 10 environment. 

Thanks,

How to repeat:
On a Windows 10 machine...
2. Construct a MySqlDataAdapter with a query that returns a large table (a few thousand rows)
2. Fill the DataTable with the MySqlDataAdapter Fill Command. It will usually hang and eventually timeout during this point.
[20 Aug 2015 12:00] Chiranjeevi Battula
Hello Evan Janus,

Thank you for the bug report.
Please do run the same query in another software and let us know where you come across same performance issue.
Along with that update, do provide server version and connection details(local or remote), these details would help us to reproduce the issue.

Thanks,
Chiranjeevi.
[20 Aug 2015 12:55] Evan Janus
Hi Chiranjeevi,

I don't have any other application to test this issue on other than Visual Studio. I've created a new project with just the MySQL.Data.Dll and I still encountered the issue. The server version I'm using is 5.6.26-log Win64 on a Windows Server 2012 R2 Datacenter VM. My application/s are querying this remotely over a local 1GBPS network. One machine over the local network with Window 8.1 will work flawlessly. The other machine with the same version of application with hang and eventually fail on large tables. I've tested this on multiple machines/servers to rule out machine specific issues. All Windows 10 machines exhibit the same symptoms. 

I am able to query large tables from within MySQL Workbench 6.3.4.0 Build 828 with no issues while on Windows 10. Which leads me to believe that this issue is isolated to Windows 10 and the .NET Connector.

Thanks,
[2 Sep 2015 13:18] Evan Janus
Hi again,

It seems that applying update 5 for the Visual Studio 2013 causes the same issue (regardless of operating system this time). The same seems to be true for the newer version of Visual Studio 2015. That being said, this seems to be caused by some update of .NET that's present within the newer versions of Visual Studio and Windows 10. To be clear...

- Visual Studio 2013 under Windows 8.1 (No update) - Works
- Visual Studio 2013 under Windows 10 (No update) - Breaks loading larger Tables
- Visual Studio 2013 (Update 5 Applied) - Breaks loading larger Tables
- Visual Studio 2015 under Windows 8.1 - Breaks loading larger Tables
- Visual Studio 2015 under Windows 10 - Breaks loading larger Tables

I've tried the following methods with the same result:

- Use MySqlDataAdapter.Fill(DataTable);
- Use DataTable.Load(MySqlDataReader);
- Split up the query in chunks of 100-1,000 using the MySqlDataAdapter.Fill()

Thanks,
Evan
[27 Sep 2015 18:30] Evan Janus
Any progress?
[2 Sep 2016 9:45] Chiranjeevi Battula
Hello Evan Janus,

Thank you for the bug feedback.
I could not repeat the issue on Visual Studio 2013,2015(C#.Net) with  MySQL 5.7.14 and 5.6.31 and Connector/Net 6.9.9 versions.
If you can provide more information, feel free to add it to this bug and change the status back to 'Open'.

Thanks,
Chiranjeevi.