-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
3.8.8, 3.9.22
-
MOODLE_38_STABLE, MOODLE_39_STABLE
My installation has more than 310,000 registered users and I am having trouble performing certain actions with courses with more than 65,000 participants.
Activity: Assignment
Action: ".../mod/assign/view.php?id=13507&action=grading"
Error message:
"
Informações de depuração: number of parameters must be between 0 and 65535
SELECT COUNT(1) FROM mdl_user u
LEFT JOIN mdl_assign_submission s
ON u.id = s.userid
AND s.assignment = $1
AND s.latest = 1 LEFT JOIN mdl_assign_grades g
ON g.assignment = $2
AND u.id = g.userid
AND (g.attemptnumber = s.attemptnumber OR s.attemptnumber IS NULL) LEFT JOIN mdl_assign_user_flags uf
ON u.id = uf.userid
AND uf.assignment = $3 WHERE u.id IN ($4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,...,$103155,$103156,$103157,$103158,$103159,$103160,$103161,$103162,$103163,$103164,$103165,$103166,$103167,$103168,$103169,$103170,$103171,$103172,$103173,$103174,$103175,$103176,$103177,$103178,$103179,$103180) AND (s.timemodified IS NOT NULL AND
s.status = $103181 AND
(s.timemodified >= g.timemodified OR g.timemodified IS NULL OR g.grade IS NULL))
[array (
0 => 1155,
1 => 1155,
2 => 1155,
3 => 69825,
4 => 156745,
5 => 167532,
6 => 107379,
7 => 142310,
8 => 121667,
9 => 25670,
10 => 140283,
...
103171 => 242395,
103172 => 236426,
103173 => 242727,
103174 => 285776,
103175 => 242729,
103176 => 242730,
103177 => 215323,
103178 => 56541,
103179 => 65575,
103180 => 'submitted',
)]
Error code: dmlreadexception
Rastreamento de pilha:
line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
line 259 of /lib/dml/pgsql_native_moodle_database.php: call to moodle_database->query_end()
line 870 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
line 1587 of /lib/dml/moodle_database.php: call to pgsql_native_moodle_database->get_records_sql()
line 1660 of /lib/dml/moodle_database.php: call to moodle_database->get_record_sql()
line 1870 of /lib/dml/moodle_database.php: call to moodle_database->get_field_sql()
line 1615 of /lib/tablelib.php: call to moodle_database->count_records_sql()
line 1669 of /lib/tablelib.php: call to table_sql->query_db()
line 1469 of /mod/assign/renderer.php: call to table_sql->out()
line 1250 of /mod/assign/renderer.php: call to mod_assign_renderer->flexible_table()
line 462 of /lib/outputrenderers.php: call to mod_assign_renderer->render_assign_grading_table()
line 4555 of /mod/assign/locallib.php: call to plugin_renderer_base->render()
line 4640 of /mod/assign/locallib.php: call to assign->view_grading_table()
line 649 of /mod/assign/locallib.php: call to assign->view_grading_page()
line 55 of /mod/assign/view.php: call to assign->view()
"
Moodle 3.8
Ubuntu 20.04
PHP 7.4
PostgreSQL 12
+310k users
- has a non-specific relationship to
-
MDL-74750 Mod Assign exhausts memory on busy courses
- Open
-
MDL-75160 Really support large number of SQL-IN parameters in Postgres
- Open
-
MDL-70055 Support large number of SQL-IN parameters in Postgres
- Closed
-
MDL-82584 Workshop get_users_with_capability_sql method optimization
- Closed