# restart call mtr.add_suppression("Plugin mysqlx reported: '1.1: Unhandled message of type 12'"); call mtr.add_suppression("Plugin mysqlx reported: '2.1: Unhandled message of type 12'"); select sleep(1); sleep(1) 0 SELECT `user`,`host`,`db`,`command`,`state`,`info` FROM INFORMATION_SCHEMA.PROCESSLIST WHERE `state` != 'cleaning up' ORDER BY user ASC; user host db command state info event_scheduler localhost NULL Daemon Waiting on empty queue NULL root localhost test Query executing SELECT `user`,`host`,`db`,`command`,`state`,`info` FROM INFORMATION_SCHEMA.PROCESSLIST WHERE `state` != 'cleaning up' ORDER BY user ASC Session reset (Session_reset_empty) =================================== send Mysqlx.Session.Reset { } RUN recvok Login OK send Mysqlx.Sql.StmtExecute { stmt: "select 1.1" } 1.1 1.1 0 rows affected send Mysqlx.Sql.StmtExecute { stmt: "select 2.1" } send Mysqlx.Sql.StmtExecute { stmt: "select 2.2" } send Mysqlx.Session.Reset { } 2.1 2.1 0 rows affected 2.2 2.2 0 rows affected RUN recvok Login OK send Mysqlx.Session.Reset { } RUN recvok send Mysqlx.Sql.StmtExecute { stmt: "select 3.1" } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } connecting... active session is now 'foo' RUN set @secret = 12345 0 rows affected send Mysqlx.Session.Reset { } RUN recvok Login OK RUN select IF(@secret is NULL, 'OK', 'FAIL') IF(@secret is NULL, 'OK', 'FAIL') OK 0 rows affected closing session foo Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'foobar' RUN set global max_connections = 1234 0 rows affected send Mysqlx.Session.Reset { } RUN recvok Login OK RUN select IF(@@global.max_connections = 1234, 'OK', 'FAIL') IF(@@global.max_connections = 1234, 'OK', 'FAIL') OK 0 rows affected RUN set @@global.max_connections = default 0 rows affected closing session foobar Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'bar' send Mysqlx.Expect.Open { cond { condition_key: 1 } } RUN recvok send Mysqlx.Session.Reset { } RUN recvok Login OK send Mysqlx.Expect.Close { } Got expected error: Mysqlx.Error { severity: ERROR code: 5158 msg: "Expect block currently not open" sql_state: "HY000" } closing session bar Mysqlx.Ok { msg: "bye!" } ok Session reset (Session_reset) ============================= send Mysqlx.Session.Reset { keep_open: false } RUN recvok Login OK send Mysqlx.Sql.StmtExecute { stmt: "select 1.1" } 1.1 1.1 0 rows affected send Mysqlx.Sql.StmtExecute { stmt: "select 2.1" } send Mysqlx.Sql.StmtExecute { stmt: "select 2.2" } send Mysqlx.Session.Reset { keep_open: false } 2.1 2.1 0 rows affected 2.2 2.2 0 rows affected RUN recvok Login OK send Mysqlx.Session.Reset { keep_open: false } RUN recvok send Mysqlx.Sql.StmtExecute { stmt: "select 3.1" } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } connecting... active session is now 'foo' RUN set @secret = 12345 0 rows affected send Mysqlx.Session.Reset { keep_open: false } RUN recvok Login OK RUN select IF(@secret is NULL, 'OK', 'FAIL') IF(@secret is NULL, 'OK', 'FAIL') OK 0 rows affected closing session foo Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'foobar' RUN set global max_connections = 1234 0 rows affected send Mysqlx.Session.Reset { keep_open: false } RUN recvok Login OK RUN select IF(@@global.max_connections = 1234, 'OK', 'FAIL') IF(@@global.max_connections = 1234, 'OK', 'FAIL') OK 0 rows affected RUN set @@global.max_connections = default 0 rows affected closing session foobar Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'bar' send Mysqlx.Expect.Open { cond { condition_key: 1 } } RUN recvok send Mysqlx.Session.Reset { keep_open: false } RUN recvok Login OK send Mysqlx.Expect.Close { } Got expected error: Mysqlx.Error { severity: ERROR code: 5158 msg: "Expect block currently not open" sql_state: "HY000" } closing session bar Mysqlx.Ok { msg: "bye!" } ok Session reset (Session_close) ============================= send Mysqlx.Session.Close { } RUN recvok Login OK send Mysqlx.Sql.StmtExecute { stmt: "select 1.1" } 1.1 1.1 0 rows affected send Mysqlx.Sql.StmtExecute { stmt: "select 2.1" } send Mysqlx.Sql.StmtExecute { stmt: "select 2.2" } send Mysqlx.Session.Close { } 2.1 2.1 0 rows affected 2.2 2.2 0 rows affected RUN recvok Login OK send Mysqlx.Session.Close { } RUN recvok send Mysqlx.Sql.StmtExecute { stmt: "select 3.1" } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } connecting... active session is now 'foo' RUN set @secret = 12345 0 rows affected send Mysqlx.Session.Close { } RUN recvok Login OK RUN select IF(@secret is NULL, 'OK', 'FAIL') IF(@secret is NULL, 'OK', 'FAIL') OK 0 rows affected closing session foo Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'foobar' RUN set global max_connections = 1234 0 rows affected send Mysqlx.Session.Close { } RUN recvok Login OK RUN select IF(@@global.max_connections = 1234, 'OK', 'FAIL') IF(@@global.max_connections = 1234, 'OK', 'FAIL') OK 0 rows affected RUN set @@global.max_connections = default 0 rows affected closing session foobar Mysqlx.Ok { msg: "bye!" } switched to session default connecting... active session is now 'bar' send Mysqlx.Expect.Open { cond { condition_key: 1 } } RUN recvok send Mysqlx.Session.Close { } RUN recvok Login OK send Mysqlx.Expect.Close { } Got expected error: Mysqlx.Error { severity: ERROR code: 5158 msg: "Expect block currently not open" sql_state: "HY000" } closing session bar Mysqlx.Ok { msg: "bye!" } ok Session reset single frame (Session_reset_empty) ================================================ Sending 39 bytes raw data... 2.1 2.1 0 rows affected Mysqlx.Ok { } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } ok Session reset single frame (Session_reset) ========================================== Sending 41 bytes raw data... 2.1 2.1 0 rows affected Mysqlx.Ok { } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } ok Session reset single frame (Session_close) ========================================== Sending 39 bytes raw data... 2.1 2.1 0 rows affected Mysqlx.Ok { } Mysqlx.Error { severity: FATAL code: 5000 msg: "Invalid message" sql_state: "HY000" } ok Session reset prepared stmt (Session_reset_empty) ================================================= send Mysqlx.Prepare.Prepare { stmt_id: 2 stmt { type: STMT stmt_execute { stmt: "select 2" } } } RUN recvok send Mysqlx.Cursor.Open { cursor_id: 3 stmt { type: PREPARE_EXECUTE prepare_execute { stmt_id: 2 } } } 2 command ok RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 1] send Mysqlx.Session.Reset { } RUN recvok Login OK RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 0] send Mysqlx.Prepare.Execute { stmt_id: 2 } Got expected error: Statement with ID=2 was not prepared (code 5110) send Mysqlx.Cursor.Fetch { cursor_id: 3 } Got expected error: Cursor with ID=3 was not opened. (code 5111) Mysqlx.Ok { msg: "bye!" } Session reset prepared stmt (Session_reset) =========================================== send Mysqlx.Prepare.Prepare { stmt_id: 2 stmt { type: STMT stmt_execute { stmt: "select 2" } } } RUN recvok send Mysqlx.Cursor.Open { cursor_id: 3 stmt { type: PREPARE_EXECUTE prepare_execute { stmt_id: 2 } } } 2 command ok RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 1] send Mysqlx.Session.Reset { keep_open: false } RUN recvok Login OK RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 0] send Mysqlx.Prepare.Execute { stmt_id: 2 } Got expected error: Statement with ID=2 was not prepared (code 5110) send Mysqlx.Cursor.Fetch { cursor_id: 3 } Got expected error: Cursor with ID=3 was not opened. (code 5111) Mysqlx.Ok { msg: "bye!" } Session reset prepared stmt (Session_close) =========================================== send Mysqlx.Prepare.Prepare { stmt_id: 2 stmt { type: STMT stmt_execute { stmt: "select 2" } } } RUN recvok send Mysqlx.Cursor.Open { cursor_id: 3 stmt { type: PREPARE_EXECUTE prepare_execute { stmt_id: 2 } } } 2 command ok RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 1] send Mysqlx.Session.Close { } RUN recvok Login OK RUN SHOW STATUS LIKE 'Prepared_stmt_count'; Verify [Status variable "Prepared_stmt_count" needs to have a value of 0] send Mysqlx.Prepare.Execute { stmt_id: 2 } Got expected error: Statement with ID=2 was not prepared (code 5110) send Mysqlx.Cursor.Fetch { cursor_id: 3 } Got expected error: Cursor with ID=3 was not opened. (code 5111) Mysqlx.Ok { msg: "bye!" }