Moodle dmlreadexception error: WSREP detected deadlock/conflict

Hello,

We are using 3 MySQL servers 5.7.18-15-57-log with Percona XtraDB Cluster (GPL), Release rel15, Revision 7693d6e, WSREP version 29.20, wsrep_29.20 as database cluster for Moodle 3.4.3+ (Build: 20180531)

We have set pxc strict mode to permissive, however we are getting this kind of errors:

Debug info: WSREP detected deadlock/conflict and aborted the transaction. Try restarting the transaction
SELECT g.id,g.itemid,g.userid,g.rawgrade,g.rawgrademax,g.rawgrademin,g.rawscaleid,g.usermodified,g.finalgrade,g.hidden,g.locked,g.locktime,g.exported,g.overridden,g.excluded,g.timecreated,g.timemodified,g.aggregationstatus,g.aggregationweight
FROM mdl_grade_grades g, mdl_grade_items gi
WHERE gi.id = g.itemid AND gi.id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
ORDER BY g.userid
[array (
0 => 8470,
1 => 8471,
2 => 8472,
3 => 8473,
4 => 8474,
5 => 8475,
6 => 8476,
7 => 8477,
8 => 8478,
9 => 8482,
10 => 8483,
11 => 8484,
12 => 8485,
13 => 8486,
14 => 8487,
15 => 8494,
16 => 8495,
17 => 8549,
18 => 8551,
19 => 17168,
20 => 17169,
21 => ‘9058’,
)]
Error code: dmlreadexception

Stack trace:
[LIST]
[]line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
[
]line 1163 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
[]line 516 of /lib/grade/grade_category.php: call to mysqli_native_moodle_database->get_recordset_sql()
[
]line 737 of /lib/grade/grade_item.php: call to grade_category->generate_grades()
[]line 1256 of /lib/gradelib.php: call to grade_item->regrade_final_grades()
[
]line 349 of /course/modlib.php: call to grade_regrade_final_grades()
[]line 176 of /course/modlib.php: call to edit_module_post_actions()
[
]line 173 of /local/edinumen/course/modedit.php: call to add_moduleinfo()
[/LIST]

Any advice to find the cause and fix the error?

Thanks in advance for the help

1 Like