]> git.ipfire.org Git - thirdparty/patchwork.git/commit
api: do not fetch every patch in a patch detail view 404
authorDaniel Axtens <dja@axtens.net>
Tue, 14 Apr 2020 04:26:58 +0000 (14:26 +1000)
committerDaniel Axtens <dja@axtens.net>
Tue, 14 Apr 2020 13:28:15 +0000 (23:28 +1000)
commit40f1fa9e9316115b6ec71ef84737b1df6480e6f0
treeee483c0753eeef6a5bc88a9f88a2640e1298d304
parent9c7bc7f8506dccc4bdc2692ae55401dd898aad97
api: do not fetch every patch in a patch detail view 404

mpe and jk and sfr found that the OzLabs server was melting due
to some queries downloading every patch.

Turns out if you 404 the patch detail view in the API, d-r-f attempts
to render a listbox with every single patch to fill in the 'related'
field. The bundle API also has a similar field.

Replace the multiple selection box with a text field. You can still
(AIUI) populate the relevant patch IDs manually.

This is the recommended approach per
https://www.django-rest-framework.org/topics/browsable-api/#handling-choicefield-with-large-numbers-of-items

Reported-by: Jeremy Kerr <jk@ozlabs.org>
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Jeremy Kerr <jk@ozlabs.org>
Server-no-longer-on-fire-by: Jeremy Kerr <jk@ozlabs.org>
Reviewed-by: Stephen Finucane <stephen@that.guru>
Signed-off-by: Daniel Axtens <dja@axtens.net>
(cherry picked from commit 08c5856444bc2e100c4acbbea0a244cd46083c4b)
patchwork/api/bundle.py
patchwork/api/embedded.py