From afec45b596568817d8921e9c0eb355db95bf10a7 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Wed, 6 Oct 2021 23:01:48 +0200 Subject: Decrease page size for user list endpoint. From some debugging via python-discord/kubernetes#96, we have determined that this endpoint results in high latencies to the site and eventually Kubernetes killing off site pods randomly. --- pydis_site/apps/api/viewsets/bot/user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pydis_site/apps/api/viewsets/bot/user.py b/pydis_site/apps/api/viewsets/bot/user.py index 0356e193..22d13dc4 100644 --- a/pydis_site/apps/api/viewsets/bot/user.py +++ b/pydis_site/apps/api/viewsets/bot/user.py @@ -19,7 +19,7 @@ from pydis_site.apps.api.serializers import UserSerializer class UserListPagination(PageNumberPagination): """Custom pagination class for the User Model.""" - page_size = 10000 + page_size = 2500 page_size_query_param = "page_size" def get_next_page_number(self) -> typing.Optional[int]: -- cgit v1.2.3 From 4c527e702a90bd108844ed59f93f41cbc3631df6 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Sat, 9 Oct 2021 18:17:53 +0200 Subject: Automatically adjust test to `page_size`. --- pydis_site/apps/api/tests/test_users.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pydis_site/apps/api/tests/test_users.py b/pydis_site/apps/api/tests/test_users.py index 77876d6f..295bcf64 100644 --- a/pydis_site/apps/api/tests/test_users.py +++ b/pydis_site/apps/api/tests/test_users.py @@ -6,6 +6,7 @@ from django.urls import reverse from .base import AuthenticatedAPITestCase from ..models import Role, User from ..models.bot.metricity import NotFoundError +from ..viewsets.bot.user import UserListPagination class UnauthedUserAPITests(AuthenticatedAPITestCase): @@ -357,7 +358,7 @@ class UserPaginatorTests(AuthenticatedAPITestCase): @classmethod def setUpTestData(cls): users = [] - for i in range(1, 10_001): + for i in range(1, UserListPagination.page_size + 1): users.append(User( id=i, name=f"user{i}", @@ -373,9 +374,10 @@ class UserPaginatorTests(AuthenticatedAPITestCase): self.assertIsNone(response["previous_page_no"]) def test_returns_next_page_number(self): + user_id = UserListPagination.page_size + 1 User.objects.create( - id=10_001, - name="user10001", + id=user_id, + name=f"user{user_id}", discriminator=1111, in_guild=True ) @@ -384,9 +386,10 @@ class UserPaginatorTests(AuthenticatedAPITestCase): self.assertEqual(2, response["next_page_no"]) def test_returns_previous_page_number(self): + user_id = UserListPagination.page_size + 1 User.objects.create( - id=10_001, - name="user10001", + id=user_id, + name=f"user{user_id}", discriminator=1111, in_guild=True ) -- cgit v1.2.3