Story #3801
Updated by daviddavis over 6 years ago
We currently use cursor based pagination where pages must be fetched sequentially as opposed to the default DRF pagination method of using page numbers. Cursors work great for large data sets as you don’t have to figure out things like the number of pages.
The first problem is that in Pulp we parallelize web requests for things like fetching metadata. See our Ansible plugin as an example[1]. If we want to support things like syncing content from one Pulp server to another, we probably have to use offset/page-based pagination for certain endpoints.
Another consideration is Katello. In Katello’s UI they show the number of pages and allow users to jump to arbitrary pages or the last page. If we want Katello to stop indexing Pulp data and instead query Pulp directly, we’ll need to allow them to use page numbers somehow.
To change from cursor-based pagination to page number pagination, we simply need to extend PageNumberPagination in our base pagination models.