Open nasamitnick opened 4 years ago
@renecannao please help me,thanks
Question: are you using prepared statements?
Question: are you using prepared statements? yes,in spring used prepared statements @renecannao
when i set cachePrepStmts=false,It's right
I think I know what causes this.
QueryProcessor is called only during PREPARE
, not during execute.
We do this because during PREPARE
we generate metadata, including destination hostgroups.
This is to drastically improve performance, but I see the side effects.
I think we should pay some extra cost (call the query processor) and correctly handle routing.
Although, for sure we need to disable query rewrite during EXECUTE
, because rewrite shouldn't be allowed during PREPARE
.
So will you fix this in a later version?@renecannao
Hi @nasamitnick . I have a working POC already, but a lot of code was changed (around 400 lines), therefore we need to perform a lot of testing before releasing it.
proxysql version:2.0.10-27-g5b31997 os version:redhat 7.5
set autocommit variables :
runtime_mysql_group_replication_hostgroups:
runtime_mysql_servers:
runtime_mysql_users:
runtime_mysql_query_rules:
Execute SQL use java spring Transaction:
Execute SQL use mysql client:
look like 'transaction_persistent: 1' didn't work when use java spring Transaction;