Board grouped by epic does not show all issues
Summary
- I am using our organization wide issue board that is grouped by epic. Although no filters are applied, some issues issues do not appear on the board although they are part of an epic.
- Counts of issues/weight in the list header does not match the number of issues displayed in a given list.
Steps to reproduce
- Visit this Board - https://gitlab.com/gitlab-gold/briecarranza/issues/204407-issue-board-grouped-by-epic/-/boards?group_by=epic
- Cute cats displays as having 15 issues when in fact there are 20.
- The
Open
list displays an issue count of 45 (which is correct) but the Board only has 20 issues that are visible.
I was able to reproduce by:
- Going to this Board -- https://gitlab.com/groups/tech-marketing/demos/gitlab-agile-demo/large-co/-/boards/2204506?group_by=epic
- Clicking on
App A Feature Addition: User Dashboard
and adding several new "cute cat" issues to the epic. - Tabbing back to the Board and refreshing the page.
- None of the new issues I created under the epic are visible in the
Open
column under the epic.
Example Project
- Board grouped by epic: https://gitlab.com/gitlab-gold/briecarranza/issues/204407-issue-board-grouped-by-epic/-/boards?group_by=epic
- Epic that has more issues than displayed in the board above: https://gitlab.com/groups/gitlab-gold/briecarranza/issues/-/epics/6
Please contact me if you cannot access the board.
What is the current bug behavior?
Some issues are not displayed in a board when it is grouped by epic. I could not find any reason why some issues are shown and others are not.
What is the expected correct behavior?
All issues matching the set filters are shown in the board
Relevant logs and/or screenshots
Output of checks
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
Possible fixes
- We make a call to get epics.
- Next we make a call to get lists.
- In this example board -- https://gitlab.com/gitlab-gold/briecarranza/issues/204407-issue-board-grouped-by-epic/-/boards?group_by=epic -- this response returned 20 results. 15 issues for Cute Cats and 5 issues for Fluffy Cats.
- The next page most likely contains the missing 5 issues for the Cute Cats epic.
pageInfo
specifieshasNextPage=true
, but we never load the next page of issues for the column. - More or less, how to load swimlanes and properly handle pagination logic so we don't have a single swimlanes issues spread out across multiple pages of issues (or ensure we load all of these so there isn't a perceived data loss).
Evolving Our Pagination Strategy
Currently we paginate by lists when swimlanes are active. Should we consider paginating the swimlanes first then fetching all issues within each swimlane? It appears that this may solve the problem.