## Check potential core dump on Client session pointer ## Preamble --source include/xplugin_preamble.inc ## MTR precheck connection doesn't disconnects immediately. It might be present # at the start of the test. Lets wait until its disconnected. let $count_sessions= 1; --source include/wait_until_count_sessions.inc call mtr.add_suppression("Plugin mysqlx reported: .*Could not open internal MySQL session."); call mtr.add_suppression("Plugin mysqlx reported: ..: Error initializing session for connection: Could not open session."); call mtr.add_suppression("Plugin mysqlx reported: .Kill client: 1040 Too many connections."); ## Test data SET GLOBAL MAX_CONNECTIONS=3; SET GLOBAL MYSQLX_MAX_CONNECTIONS=30; CREATE USER xuser@localhost IDENTIFIED BY 'xuser_pwd'; SHOW GRANTS FOR xuser@localhost; #verify following num_of_active_connection <= MIN(MAX_CONNECTIONS, MYSQLX_MAX_CONNECTIONS) #mysqld permits MAX_CONNECTIONS+1 clients to connect; the extra connection #is reserved for use by accounts that have the SUPER privilege # 1x MTR connection (open as root/SUPER) + 1x mysqlx default session + 2x new session ## Test starts here --write_file $MYSQL_TMP_DIR/clien_session.tmp -->newsession second_session xuser xuser_pwd -->newsession thrid_session xuser xuser_pwd -->expecterror ER_X_SESSION,2006,2007 -->newsession fourth_session xuser xuser_pwd -->expecterror ER_X_SESSION,2006,2007 -->newsession fifth_session xuser xuser_pwd -->expecterror ER_X_SESSION,2006,2007 -->newsession sixth_session root EOF --exec $MYSQLXTEST -u xuser --password='xuser_pwd' -h127.0.0.1 --file=$MYSQL_TMP_DIR/clien_session.tmp 2>&1 ##todo: without sleep it crashes --sleep 0.1 ## Cleanup SET @@GLOBAL.MAX_CONNECTIONS= DEFAULT; SET @@GLOBAL.MYSQLX_MAX_CONNECTIONS= DEFAULT; DROP USER xuser@localhost; --remove_file $MYSQL_TMP_DIR/clien_session.tmp