Bug #76993 Slave status syntax error
Submitted: 10 May 2015 11:45 Modified: 1 Sep 2016 10:09
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Administration Severity:S3 (Non-critical)
Version:6.3.1.0 build 404 OS:Any
Assigned to: CPU Architecture:Any

[10 May 2015 11:45] Daniël van Eeden
Description:
Against '5.7.7-rc-debug' with 'show_compatibility_56'='off'.

WB tries to execute 'SHOW SLAVE STATUS NONBLOCKING' but that's not (yet) supported.

13:42:09 [WRN][wb_admin_control.py:exec_query:552]: Error executing query SHOW SLAVE STATUS NONBLOCKING: Error executing 'SHOW SLAVE STATUS NONBLOCKING'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NONBLOCKING' at line 1.
SQL Error: 1064

How to repeat:
Use WB with 5.7.7
[10 May 2015 11:47] Daniël van Eeden
According to https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html the NONBLOCKING option was removed in 5.7.6.
[10 May 2015 11:49] Daniël van Eeden
Patch

(*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

Contribution: wb_slave_nonblock.patch (text/x-diff), 713 bytes.

[11 May 2015 7:40] MySQL Verification Team
Hello Daniël,

Thank you for the report and contribution.

Thanks,
Umesh
[1 Sep 2016 9:30] Marcin Marek
SHOW SLAVE STATUS NONBLOCKING is not valid SQL anymore ("NONBLOCKING" has been removed in later v5.7).
[1 Sep 2016 10:09] Daniël van Eeden
This really was a bug.. 

Fixed by this commit:

commit b24911c449e00387efa551e93b41b195e6324405
Author: Milosz Bodzek <milosz.bodzek@oracle.com>
Date:   Wed Apr 8 09:23:31 2015 +0200

    - removed 'NONBLOCKING' keyword from 'show slave status' statement, because it was valid only for very short time
    
    review by Lolek

diff --git a/plugins/wb.admin/frontend/wb_admin_server_status.py b/plugins/wb.admin/frontend/wb_admin_server_status.py
index 9762289..150f6d5 100644
--- a/plugins/wb.admin/frontend/wb_admin_server_status.py
+++ b/plugins/wb.admin/frontend/wb_admin_server_status.py
@@ -286,10 +286,7 @@ class WbAdminServerStatus(mforms.Box):
         repl_error = None
         res = None
         try:
-            if self.ctrl_be.target_version and self.ctrl_be.target_version.is_supported_mysql_version_at_least(5, 7, 0):
-                res = self.ctrl_be.exec_query("SHOW SLAVE STATUS NONBLOCKING")
-            else:
-                res = self.ctrl_be.exec_query("SHOW SLAVE STATUS")
+            res = self.ctrl_be.exec_query("SHOW SLAVE STATUS")
         except QueryError, e:
             if e.error == 1227:
                 repl_error = "Insufficient privileges to view slave status"