[MDEV-15268] Timeout after rnd_next returns HA_ERR_INTERNAL_ERROR (122) Created: 2018-02-10 Updated: 2018-11-01 Resolved: 2018-11-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Connect |
| Affects Version/s: | 10.2.12, 10.1.31 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Critical |
| Reporter: | Olivier Bertrand | Assignee: | Unassigned |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Windows 10 |
||
| Attachments: |
|
| Description |
|
When called from a C# GUI client, after a logical error, CONNECT returns from rnd_next the 122 error code, MariaDB does not respond until timeout. For example:
The file foo.csv being:
Executing:
makes the server not respond until timeout. |
| Comments |
| Comment by Elena Stepanova [ 2018-03-07 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
bertrandop, if you already have a test case, can you provide one? | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2018-03-18 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Sorry elenst, I should have done it when I created this case. I have edited it to add one. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Alice Sherepa [ 2018-03-28 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
I can not reproduce. (Ubuntu 16.04 - MariaDB 10.2.12, 10.2)
| ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2018-03-29 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Actually there is no problem with the standard mysql.exe client. The problem occurs when using a C# GUI that tries to retrieve a query result via a MySqlDataAdapter.
What happens, in case of read error, is that the Fill function does not return until a timeout occurs (so it is not a loop, I thought so because I had a long timeout setting). The FillError function is not called and the program resumes at the exception catch saying that a timeout exception was raised. On MariaDB side a message says:
And the complete error message is:
It is unclear whether the problem is on the GUI or on MariaDB or both. I join the GUI that should work natively on Windows and on Linux via Mono or .NET Core. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2018-05-10 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
The problem could be also in the MySQL c# connector. Note that a statement such as
correctly returns with an error message. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2018-10-05 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
According to wlad, there are alternative connectors: OSS : https://github.com/mysql-net/MySqlConnector bertrandop, would you mind to check if the problem is reproducible for you using those? | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Vladislav Vaintroub [ 2018-10-05 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
IF this is a bug in the connector (which in this case is very likely that a connector does not expect error packet in the middle of result), then it should be reported against the connector, in bugs.mysql.com If other connectors can handle it, then this is connectors' bug. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2018-11-01 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Indeed, I tried the devart connector and the error does not occur. Therefore, it looks like this is a MySQL connector bug. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2018-11-01 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Does anyone want to file a bug report for the connector? | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2018-11-01 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
I made a bug report, to be consultate at http://bugs.mysql.com/93047. | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2018-11-01 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Thanks. I'm closing this one, then. |