The problems started happening from the following revision on 10.0-base-explain-slowquerylog
and are still reproducible on the current tree:
The first test case is an extract from federated.federatedx test, slightly modified to work on a single server.
According to the federated test, the INSERT should fail with ER_DUP_KEY, but on some reason it doesn't:
And the following SELECT fails with "Commands out of sync":
The second test case is based on a fragment from rpl.rpl_sp:
The DO command hangs. The processlist does not show any queries in the thread, but the query in the client does not finish.
If it is replaced with SELECT fn1(100), it causes an error: