From 66bb716ff05d4972d5b21b8dd9f47000be464efb Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Wed, 17 Feb 2021 16:56:55 +0200 Subject: [PATCH] MXS-3408 Fix leak in qc_mysqlembedded properly The actual cause was a missing cleanup call. --- query_classifier/qc_mysqlembedded/qc_mysqlembedded.cc | 1 + query_classifier/test/join.test | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/query_classifier/qc_mysqlembedded/qc_mysqlembedded.cc b/query_classifier/qc_mysqlembedded/qc_mysqlembedded.cc index b0b46c3c3..5eab45dd1 100644 --- a/query_classifier/qc_mysqlembedded/qc_mysqlembedded.cc +++ b/query_classifier/qc_mysqlembedded/qc_mysqlembedded.cc @@ -1960,6 +1960,7 @@ static void parsing_info_done(void* ptr) { thd = (THD*) mysql->thd; thd->end_statement(); + thd->cleanup_after_query(); (*mysql->methods->free_embedded_thd)(mysql); mysql->thd = NULL; } diff --git a/query_classifier/test/join.test b/query_classifier/test/join.test index 28c74a7ba..7a5518b6b 100644 --- a/query_classifier/test/join.test +++ b/query_classifier/test/join.test @@ -700,9 +700,7 @@ create table t2 (a int, b int, primary key(a)); explain select * from t1; show status like '%cost%'; -#MXS The following line causes a leak in qc_mysqlembedded that causes ASAN to -#MXS complain. Easiest to solve by commenting out. -#select 'The cost of accessing t1 (dont care if it changes' '^'; +select 'The cost of accessing t1 (dont care if it changes' '^'; select 'vv: Following query must use ALL(t1), eq_ref(A), eq_ref(B): vv' Z;