Closed Bug 909653 Opened 12 years ago Closed 12 years ago

Use JSONRPC (if available) to populate the components on the 'My requests' page

Categories

(Bugzilla :: Attachments & Requests, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mail, Assigned: mail)

References

Details

(Keywords: perf)

Attachments

(1 obsolete file)

The My Requests page generates an array of arrays in the HTML (of components for products). When you have 60,000 components (like brc does), this is inefficient, and causes the browser to hang. This patch will make this page use JSONRPC if it is available to populate the component list. Note: This means that if the SITE has JSONRPC available, then the admin USER must have Javascript enabled. It was decided at last months Bugzilla meeting that it was okay to assume that Bugzilla pages require Javascript to fully function. The changes has no effect if the site does not have JSONRPC available.
Attached patch v1 patch (obsolete) — Splinter Review
This uses the same js/component.js as the patch in bug 909203 uses. Obviously it only needs to be committed once.
Assignee: attach-and-request → sgreen
Status: NEW → ASSIGNED
Attachment #795860 - Flags: review?(gerv)
Keywords: perf
Target Milestone: --- → Bugzilla 5.0
/me didn't know RH had so many bugs... 10^12 is a lot of bugs. ;)
See Also: → 909203
(In reply to Frédéric Buclin from comment #2) > /me didn't know RH had so many bugs... 10^12 is a lot of bugs. ;) It is a lot of bugs. Thankfully we don't have that many ... yet :)
Blocks: ajax
Hi Simon, This will make the page slower in the common case, because the page will need to load and then the RPC call will need to complete. Instead of making the new mode of working conditional on the presence of JSON-RPC, can you make it conditional on both that and a number of components > a certain threshold (say 300)? That way, short lists will still be quick, and long lists will work. Gerv
Oh, and same question for bug 909203. Gerv
(In reply to Gervase Markham [:gerv] from comment #4) > Hi Simon, > > This will make the page slower in the common case, because the page will > need to load and then the RPC call will need to complete. I disagree. In the common case (and with bug 909203), I imagine that most users will not hit the AJAX code at all. When I look at the My Requests page, I never change the product or component. With the Flag Types Admin pages (which is the other) bugs, I sometimes use the products on the Edit Page, but not on the list page. > Instead of making > the new mode of working conditional on the presence of JSON-RPC, can you > make it conditional on both that and a number of components > a certain > threshold (say 300)? > > That way, short lists will still be quick, and long lists will work. I disagree. Take brc for example, where we have 257 products, and the average length of component names is 12 characters. If all those products had 299 components[1], then that is nearly 1 MB of extra data[2] that needs to be generated on the server, and parsed by the client, which leads to the performance issues that we have. This also makes the JS more complicated than it needs to be. [1] yes, this is not true but is used as an extreme example [2] 257*299*12 = 922116 bytes + extra for the quotes, commas and spaces.
Attachment #795860 - Flags: review?(gerv) → review?(dkl)
Attachment #795860 - Attachment is obsolete: true
Attachment #795860 - Flags: review?(dkl)
Depends on: 227611
I've dropped the original patch as the JS used in bug 227611 can be used for this code too. Once that bug hits trunk, I'll do a new patch for this bug.
Attachment #795860 - Attachment is obsolete: false
Attachment #795860 - Flags: review?(dkl)
No longer depends on: 227611
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Target Milestone: Bugzilla 5.0 → ---
Attachment #795860 - Attachment is obsolete: true
Attachment #795860 - Flags: review?(dkl)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: