Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Fix
-
2.1.5
-
None
Description
COM_PING is normally routed to all servers by ReadWriteSplit. e.g.:
2017-08-08 14:34:31 info : [readwritesplit] > Autocommit: [enabled], trx is [not open], cmd: (0x0e) MYSQL_COM_PING, type: QUERY_TYPE_SESSION_WRITE, stmt:
|
2017-08-08 14:34:31 info : [readwritesplit] Session write, routing to all servers.
|
But if a multi-statement query is executed in a session and if strict_multi_stmt=true, ReadWriteSplit will begin routing COM_PING only to the master:
2017-08-08 14:34:38 info : [readwritesplit] > Autocommit: [enabled], trx is [not open], cmd: (0x0e) MYSQL_COM_PING, type: QUERY_TYPE_SESSION_WRITE, stmt:
|
2017-08-08 14:34:38 info : [readwritesplit] Route query to master [1.1.1.1]:3306
|
This behavior could most likely lead to issues with client drivers and connection pools that use COM_PING to keep connections alive. There probably is not much reason to ever route COM_PING only to the master, so it might be best if COM_PING were always routed to all nodes.