Rich Prohaska <prohaska7@gmail.com> writes:
I have tokudb kill query working with parallel replication. Needed to attach the mysql thd pointer to each lock request, and use the thd as a key into the pending lock requests to find the one being used by a particular thd. Once found, this lock request is immediately completed with a lock timeout result. Also needed to rearrange the lock wait for code so that the callback is called when not holding any tokudb locks.
Ok, sounds great!
This solves 1 or 10 parallel replication stalls with tokudb. The remainder require the tokudb lock timer to pop.
The problem is that the parallel replicator attempts to kill the query for a mysql slave thread that is waiting for a prior txn to complete. This does not have any effect on tokudb. The workaround for now is to use an extremely small tokudb lock timeout so that the stalls are short.
Hm, that sounds like a problem with the parallel replication code. It should be normal that a thread needs to be killed in "waiting for prior txn", and it should work. I will look into this. Is your latest kill query code on github? Thanks, - Kristian.