Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pagination #66

Open
afandian opened this issue Mar 4, 2019 · 3 comments
Open

Pagination #66

afandian opened this issue Mar 4, 2019 · 3 comments
Assignees
Labels
in progress sprint-1 Sprint 1, 2019-03-04 sprint-2 2019-03-18 sprint-3 2019-04-01

Comments

@afandian
Copy link
Member

afandian commented Mar 4, 2019

Make sure pagination works to our satisfaction.

Definition of done:

  • All resources that include pagination listed and documented, and the different sort orders available.
  • Implementation should allow that in all cases pagination allows paging through a whole, large result set (e.g. 1 million items), with any search ordering.
  • Integration tests include deep paging.
  • Pagination documented in user docs.
@afandian afandian added the sprint-1 Sprint 1, 2019-03-04 label Mar 4, 2019
@afandian afandian added this to the elastic-search-migration milestone Mar 4, 2019
@afandian afandian removed the sprint-1 Sprint 1, 2019-03-04 label Mar 4, 2019
@afandian afandian added the sprint-1 Sprint 1, 2019-03-04 label Mar 4, 2019
@afandian afandian self-assigned this Mar 4, 2019
@afandian
Copy link
Member Author

afandian commented Mar 5, 2019

Tasks:

  1. List resources available in the ES branch. For each:
  • URL
  • Current pagination facility (offset+rows, cursor) and standard / max page size
  • Approx number of items available - do we need to scroll?
  • Sorting options available.
  1. Make sure swagger and API error responses docs are correct / update to desired behaviour.
  2. Close reading of the Elastic Search docs for cursors.
  3. Decide on suitability of each method for each resource.
  • Maybe some hard questions, like limiting pagination for query-ordered results?

@afandian
Copy link
Member Author

afandian commented Mar 6, 2019

Idea for spec after some investigation:

  • TBC routes have scroll available.
  • Not allowed to specify order and cursor at the same time (currently can but it does nothing).
  • Allowed to do page + offset when ordering is applied, but we limit the depth for performance reasons.
  • With cursors the return order can't be specified.
  • Time-outs on cursors are explicit.
  • Can't cross from one pool to another mid-page.

@ppolischuk ppolischuk added the sprint-2 2019-03-18 label Mar 18, 2019
@afandian
Copy link
Member Author

Resources up for discussion:

  • works
  • journals
  • types
  • cores
  • funders

afandian added a commit that referenced this issue Mar 20, 2019
 - Test to iterate through a set of works through both methods, ensure that
   both return all results.
 - Add user/delete-works to clean up between tests.
 - Add elastic.index/index-items for indexing multiple items speeding up tests.
 - JVM options to help some murky stack traces.
 - Clarify / add some docstrings along the way.
 - Add query params to api-fixture/api-get to allow pagination in tests.
@ppolischuk ppolischuk added the sprint-3 2019-04-01 label Mar 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in progress sprint-1 Sprint 1, 2019-03-04 sprint-2 2019-03-18 sprint-3 2019-04-01
Projects
No open projects
Development

No branches or pull requests

2 participants