Bug #66578 | CacheServerProperties can cause 'Packet too large' error | ||
---|---|---|---|
Submitted: | 28 Aug 2012 14:46 | Modified: | 28 Sep 2012 18:58 |
Reporter: | Poul Bak | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / NET | Severity: | S2 (Serious) |
Version: | 6.6.1 | OS: | Any |
Assigned to: | Gabriela Martinez Sanchez | CPU Architecture: | Any |
Tags: | CacheServerProperties max_allowed_packet 'Packet too large' |
[28 Aug 2012 14:46]
Poul Bak
[28 Aug 2012 14:47]
Poul Bak
Driver.cs after change
Attachment: Driver.cs (text/plain), 18.70 KiB.
[4 Sep 2012 2:04]
Poul Bak
A good way to see this bug (pseudo code): { //1. query - caches serverproperties, creates 1 connection } //Now spawn 2 threads to make the pool grow Parallel.Invoke(() => { // 2. query (probably reuses 1. connection) }), () => { // 3. query - creates a new connection. THIS WILL FAIL IF BIGGER THAN 1024 bytes! });
[4 Sep 2012 22:29]
Gabriela Martinez Sanchez
Hi Poul, Could you please post the code you're using to set your query and use your connections? I'm trying to reproduce it but haven't had any luck yet. Thanks in advance.
[5 Sep 2012 20:05]
Gabriela Martinez Sanchez
Bug Confirmed. in version 6.4.x. A fix is in progress.
[28 Sep 2012 18:58]
John Russell
Added to changelog for 6.4.6, 6.5.5, 6.6.3: Under some circumstances, setting CacheServerProperties=true in the connection string could cause a Packet too large error. With connection pooling enabled and CacheServerProperties=true, the first connection worked as expected, but the second, third, and so on connections would fail if the query exceeded 1024 bytes.