 002281599e
			
		
	
	002281599e
	
	
	
		
			
			Added a test case that reproduces the debug assertion with the old code and verifies that it is fixed with the new one.
		
			
				
	
	
		
			36 lines
		
	
	
		
			869 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			869 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /**
 | |
|  * MXS-2563: Failing debug assertion at rwsplitsession.cc:1129 : m_expected_responses == 0
 | |
|  * https://jira.mariadb.org/browse/MXS-2563
 | |
|  */
 | |
| 
 | |
| #include "testconnections.h"
 | |
| 
 | |
| int main(int argc, char* argv[])
 | |
| {
 | |
|     TestConnections test(argc, argv);
 | |
| 
 | |
|     test.maxctrl("alter monitor MariaDB-Monitor monitor_interval 99999");
 | |
| 
 | |
|     auto conn = test.maxscales->rwsplit();
 | |
|     conn.connect();
 | |
|     conn.query("SET @a = (SELECT SLEEP(1))");
 | |
| 
 | |
|     std::thread thr(
 | |
|         [&test]() {
 | |
|             sleep(5);
 | |
|             test.repl->stop_node(2);
 | |
|             test.repl->stop_node(3);
 | |
|             sleep(5);
 | |
|             test.repl->start_node(2);
 | |
|             test.repl->start_node(3);
 | |
|         });
 | |
|     // Should go to server2
 | |
|     conn.query("SELECT SLEEP(20)");
 | |
|     thr.join();
 | |
| 
 | |
| 
 | |
|     test.maxctrl("alter monitor MariaDB-Monitor monitor_interval 1000");
 | |
| 
 | |
|     return test.global_result;
 | |
| }
 |