Bug 1376439 - prefetching bugids breaks some admin pages
Summary: prefetching bugids breaks some admin pages
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Bugzilla
Classification: Community
Component: Administration
Version: 5.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified vote
Target Milestone: 5.0
Assignee: Jeff Fearn 🐞
QA Contact: tools-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-15 12:29 UTC by Jeff Fearn 🐞
Modified: 2018-12-09 06:29 UTC (History)
3 users (show)

Fixed In Version: 5.0.3-rh8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-12 11:00:02 UTC


Attachments (Terms of Use)

Description Jeff Fearn 🐞 2016-09-15 12:29:53 UTC
Description of problem:
Some queries fetch a list of bug ids and use them in the query, if the number of bugids exceeds 65K it produces a DBI error

Version-Release number of selected component (if applicable):
5.0

How reproducible:
Easy

Steps to Reproduce:
1. visit $server/editgroups.cgi?action=changeform&group=12

Actual results:
DBD::Pg::db selectall_arrayref failed: number of parameters must be between 0 and 65535 [for Statement "SELECT
...
<pre>
 at Bugzilla/Object.pm line 403.
	Bugzilla::Object::_do_list_select("Bugzilla::Bug", " bug_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?"..., ARRAY(0x8f5fc18), undef) called at Bugzilla/Object.pm line 369
	Bugzilla::Object::match("Bugzilla::Bug", HASH(0x9827358)) called at Bugzilla/Object.pm line 182
	Bugzilla::Object::new_from_list("Bugzilla::Bug", ARRAY(0x8f6c570)) called at Bugzilla/Group.pm line 89
	Bugzilla::Group::bugs(Bugzilla::Group=HASH(0x8d48130)) called at template/en/default/admin/groups/edit.html.tmpl line 86
	eval {...} called at template/en/default/admin/groups/edit.html.tmpl line 86
	eval {...} called at template/en/default/admin/groups/edit.html.tmpl line 18
	Template::Provider::__ANON__(Bugzilla::Template::Context=HASH(0x8a3e728)) called at /usr/lib64/perl5/vendor_perl/Template/Document.pm line 163
	eval {...} called at /usr/lib64/perl5/vendor_perl/Template/Document.pm line 161
	Template::Document::process(Template::Document=HASH(0x8d70a58), Bugzilla::Template::Context=HASH(0x8a3e728)) called at /usr/lib64/perl5/vendor_perl/Template/Context.pm line 351
	eval {...} called at /usr/lib64/perl5/vendor_perl/Template/Context.pm line 321
	Template::Context::process(Bugzilla::Template::Context=HASH(0x8a3e728), Template::Document=HASH(0x8d70a58)) called at Bugzilla/Template/Context.pm line 35
	Bugzilla::Template::Context::process(Bugzilla::Template::Context=HASH(0x8a3e728), Template::Document=HASH(0x8d70a58)) called at /usr/lib64/perl5/vendor_perl/Template/Service.pm line 94
	eval {...} called at /usr/lib64/perl5/vendor_perl/Template/Service.pm line 91
	Template::Service::process(Template::Service=HASH(0x8a377f8), "admin/groups/edit.html.tmpl", HASH(0xceef30)) called at /usr/lib64/perl5/vendor_perl/Template.pm line 66
	Template::process(Bugzilla::Template=HASH(0x8999f18), "admin/groups/edit.html.tmpl", HASH(0xceef30)) called at Bugzilla/Template.pm line 724
	Bugzilla::Template::process(Bugzilla::Template=HASH(0x8999f18), "admin/groups/edit.html.tmpl", HASH(0xceef30)) called at /home/jfearn/public_html/bugzilla-bayot/editgroups.cgi line 159

</pre>
Expected results:
The group edit page loads.

Additional info:
Why does it prefetch the bugiids? Is it just a MySQL optimization or does it filter the bugs outside of the SQL?

Is it possible to raise the limit from 65K, if so what is a sane number?

Comment 1 Rony Gong 🔥 2016-10-12 02:36:13 UTC
Tested on QA environment(5.0.3-rh8)
Result: Pass
Steps:
1.Access https://bz-web.host.qe.eng.pek2.redhat.com/editgroups.cgi?action=changeform&group=6
==>No DB error


Note You need to log in before you can comment on or make changes to this bug.