Hi Julien, On Mon, Sep 21, 2020 at 6:13 PM Julien Muchembled <jm@nexedi.com> wrote:
I hoped to get an answer about how to tell InnoDB to complete its background tasks as soon as possible (even if background activity has no impact on perf, not having to wait so long to make a clean backup of the datadir remains useful) but I guess there's no way. Should I open a task issue on JIRA ?
We already have https://jira.mariadb.org/browse/MDEV-22958 filed for adding a SET GLOBAL statement that would wait for the purge to be finished. (Admittedly, the title of the bug is misleading, referring to a test timeout on our CI system.)
After further analysis, we found that the deadlocks are due to a problem in our application. We have a scheduler that uses MariaDB to store tasks and the performance profile of the new hardware is so unusual that some kinds of tasks accumulated to a point that the scheduler couldn't handle.
So, is there anything that you would still want to diagnose? I would recommend reading https://mysqlentomologist.blogspot.com/2020/09/dynamic-tracing-of-pthreadmut... and watching the MariaDB Fest 2020 recording of Valerii’s talk. There is also the command "offcputime" which should be similar to "perf" but counting waits. http://www.brendangregg.com/offcpuanalysis.html shows how to combine it with flame graphs. I do not have any hands-on experience on these techniques yet. Marko -- Marko Mäkelä, Lead Developer InnoDB MariaDB Corporation