diff --git a/test/tap/tests/test_max_transaction_time-t.cpp b/test/tap/tests/test_max_transaction_time-t.cpp index 1e0311ea9..3d0e00bf6 100644 --- a/test/tap/tests/test_max_transaction_time-t.cpp +++ b/test/tap/tests/test_max_transaction_time-t.cpp @@ -55,7 +55,7 @@ int main(int, char**) { diag("Configure ProxySQL to test mysql-max_transaction_time"); MYSQL_QUERY_T( admin, - "UPDATE global_variables SET variable_value = 10000 " + "UPDATE global_variables SET variable_value = 4000 " "WHERE variable_name = 'mysql-max_transaction_time'" ); MYSQL_QUERY_T(admin, "LOAD MYSQL VARIABLES TO RUNTIME"); @@ -98,10 +98,20 @@ int main(int, char**) { MYSQL_QUERY_T(proxy, "BEGIN"); diag("Sleeping for 10 seconds so that the transaction times out"); sleep(10); - diag("Issuing COMMIT : it should fail"); - int query_err = mysql_query(proxy, "COMMIT"); + diag("Issuing PROXYSQL INTERNAL SESSION : it should fail"); + int query_err = mysql_query(proxy, "PROXYSQL INTERNAL SESSION"); ok(query_err != 0 && mysql_errno(proxy) == 2013 , "Failed with error code %d : %s" , mysql_errno(proxy), mysql_error(proxy)); - + if (query_err == 0) { + json j = {}; + myres = mysql_store_result(proxy); + parse_result_json_column(myres, j); + mysql_free_result(myres); + int active_transactions = atoi(j["active_transactions"].dump().c_str()); + unsigned long long transaction_time_ms = atoll(j["transaction_time_ms"].dump().c_str()); + transaction_time_ms /= 1000; + diag("active_transactions = %d", active_transactions); + diag("Transaction time: %llu ms" , transaction_time_ms); + } mysql_close(proxy); return exit_status();