Bug #75589 Unread results make a connection/thread dead
Submitted: 22 Jan 2015 16:39 Modified: 24 Mar 2015 5:21
Reporter: Alfranio Tavares Correia Junior Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Fabric: Executor Severity:S3 (Non-critical)
Version:1.4.1 OS:Any
Assigned to: Alfranio Tavares Correia Junior CPU Architecture:Any

[22 Jan 2015 16:39] Alfranio Tavares Correia Junior
Description:
Programming errors may leave some results unread and by consequence the associated connection cannot be used to process other requests until
the result is read.

This issue is breaking threads that have an associated connection as
they cannot process further requests after the first "unread results"
error.

How to repeat:
Check the following module in connector python: mysql/connector/connection.py

Suggested fix:
Throw away the unread result sets.
[4 Feb 2015 6:17] Prasad Vasudevan
How to repeat : 
1. Create an HA setup.

2. Create sharding setup.
 2.1 mysqlfabric sharding create_definition range global_group
 2.2 mysqlfabric sharding add_table 1 db.table "emp_no"
 2.3 mysqlfabric sharding add_shard 1 shard_string "--state=ENABLED"
 2.4 mysqlfabric sharding prune_shard db.table

3. Now execute one more duplicate sharding add_table command:
    mysqlfabric sharding add_table 1 db.table ""
It throws the following error :

Fabric UUID:  5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

DatabaseError: Command (ROLLBACK, ()) failed accessing (prasad:13002). Unread result found..
[24 Mar 2015 5:21] Philip Olson
Posted by developer:
 
Fixed as of the upcoming MySQL Utilities and Fabric 1.5.5 / 1.6.2 releases, and here's the changelog entry:

With Fabric, programming errors could leave some results unread and, by
consequence, the associated connection cannot be used to process other
requests until the result was read. This issue could break threads that
had an associated connection as they could not process further requests
after the first "unread results found" error.

Thank you for the bug report.