Bug #81073 mysql workbench predictably hangs on certain queries
Submitted: 13 Apr 2016 18:23 Modified: 13 Apr 2016 21:44
Reporter: Gregory Bronner Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S1 (Critical)
Version:6.3.6 OS:Windows (windows 7)
Assigned to: CPU Architecture:Any
Tags: hang

[13 Apr 2016 18:23] Gregory Bronner
Description:
I have the following setup:
Mysql workbench 6.3.6 CE running on windows connecting to 2 different servers running mysql 5.7.11 on Ubuntu via an SSH tunnel.

I issue  the following series of queries:

## THESE WORK FINE.
select count(*) from fusion_executions;
select * from fusion_executions limit 100;
show create table fusion_executions;

### This reliably hangs.
select * from fusion_executions  where execution_date=20160412 and ticker='XXXX';

-----------------------------------------------
Explain shows that it is hitting the index, show processlist shows no queries running, but the GUI hangs indefinitely and needs to be force restarted.

How to repeat:

CREATE TABLE `fusion_executions` (
   `EXECUTION_DATE` date NOT NULL,
   `EXECUTION_TIMESTAMP` datetime(6) DEFAULT NULL,
   `ACCOUNT` varchar(20) DEFAULT NULL,
   `DIRECTION` char(1) DEFAULT NULL,
   `QUANTITY` int(11) DEFAULT NULL,
   `TICKER` varchar(20) DEFAULT NULL,
   `PRICE` decimal(20,6) DEFAULT NULL,
   `VALUE` decimal(20,6) DEFAULT NULL,
   `ORDERID` bigint(20) DEFAULT NULL,
   `EXECUTIONID` bigint(20) NOT NULL,
   `ROUTE` varchar(20) DEFAULT NULL,
   `SOURCE` varchar(100) DEFAULT NULL,
   PRIMARY KEY (`EXECUTION_DATE`,`EXECUTIONID`),
   KEY `DATE_TICKER` (`EXECUTION_DATE`,`ACCOUNT`,`TICKER`)
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1

populate with roughly 220k entries.

Starting mysql workbench, connecting to either of my servers, and issuing the following sequence of queries reliably 

### THESE WORK FINE.
select count(*) from fusion_executions;
select * from fusion_executions limit 100;
show create table fusion_executions;
### This reliably hangs.
select * from fusion_executions  where execution_date=20160412 and ticker='XXXX';
[13 Apr 2016 19:32] Gregory Bronner
It works if I run this with a limit of 300, but not 400:

select * from fusion_executions  where execution_date='20160412' and ticker='IDTI' limit 300
[13 Apr 2016 19:49] Gregory Bronner
This seems related, if not identical, to http://bugs.mysql.com/bug.php?id=79840.

Note that Intellij console does not have this issue, so this is something unique to Mysql workbench.
[13 Apr 2016 21:44] MySQL Verification Team
Thank you for the bug report. Duplicate of http://bugs.mysql.com/bug.php?id=79840.