-
Hi @empinator,
I am unable to reproduce this issue by loading more than 150 issues. Can you please reproduce this with an example database and attach the backup?
-
I'm still trying to put together a sandbox for you
-
Thanks!
-
I'm still having issues creating a sandbox without sensitive data, sorry!
however, I did a little debugging myself and found out that indeed the sql query is returning certain issues again on the next offset
select issue0_.o_id as o_id1_28_, issue0_.o_number as o_numbe10_28_, issue0_.o_title as o_title18_28_, issue0_.o_boardPosition as o_boardp2_28_, issue0_.o_commentCount as o_commen3_28_, issue0_.o_confidential as o_confid4_28_, issue0_.o_description as o_descri5_28_, issue0_.o_LAST_ACTIVITY_DATE as o_last_a6_28_, issue0_.o_LAST_ACTIVITY_DESCRIPTION as o_last_a7_28_, issue0_.o_LAST_ACTIVITY_USER as o_last_23_28_, issue0_.o_messageId as o_messag8_28_, issue0_.o_noSpaceTitle as o_nospac9_28_, issue0_.o_numberScope_id as o_numbe24_28_, issue0_.o_ownEstimatedTime as o_ownes11_28_, issue0_.o_ownSpentTime as o_ownsp12_28_, issue0_.o_pinDate as o_pinda13_28_, issue0_.o_progress as o_progr14_28_, issue0_.o_project_id as o_proje25_28_, issue0_.o_state as o_state15_28_, issue0_.o_stateOrdinal as o_state16_28_, issue0_.o_submitDate as o_submi17_28_, issue0_.o_submitter_id as o_submi26_28_, issue0_.o_totalEstimatedTime as o_total19_28_, issue0_.o_totalSpentTime as o_total20_28_, issue0_.o_uuid as o_uuid21_28_, issue0_.o_voteCount as o_votec22_28_ from o_Issue issue0_ where ( issue0_.o_project_id in ( 18 ) or ( issue0_.o_project_id in ( 18 ) ) and ( exists ( select issueautho1_.o_id from o_IssueAuthorization issueautho1_ where issueautho1_.o_issue_id=issue0_.o_id and issueautho1_.o_user_id=1 ) ) ) and ( exists ( select issuesched2_.o_id from o_IssueSchedule issuesched2_ inner join o_Iteration iteration3_ on issuesched2_.o_iteration_id=iteration3_.o_id where issuesched2_.o_issue_id=issue0_.o_id and ( lower(iteration3_.o_name) like '4.13.0' ) ) ) and issue0_.o_state='Closed' order by issue0_.o_boardPosition asc limit 25 OFFSET :offset;offset 0 returns the same Issue at the last position as offset = 25 on the first position
It seems like the reason is that ordering by boardPosition alone is not deterministic and it requires another "order by" field to make them unique within the same board position
adding a sort by issueId fixed the query
... ) and issue0_.o_state='Closed' order by issue0_.o_boardPosition asc, issue0_.o_id asc limit 25 OFFSET 25; ...I think the according code positions would be
to be exended with
... sort.setDirection(EntitySort.Direction.ASCENDING); sort.setField(NAME_BOARD_POSITION); query.getSorts().add(sort); EntitySort sort2 = new EntitySort(); // Sorting by ID to make result deterministic sort2.setDirection(EntitySort.Direction.ASCENDING); sort2.setField(NAME_ID); query.getSorts().add(sort2); ...Do you think that's sufficient to resolve the issue?
-
Thanks for your investigation. Will get this fixed in next patch release.
-
OneDev
changed state to 'Closed' 1 year ago
Previous Value Current Value Open
Closed
-
State changed as code fixing the issue is committed (9ec7fc7d)
-
OneDev
changed state to 'Released' 1 year ago
Previous Value Current Value Closed
Released
-
State changed as build OD-5529 is successful
| Type |
Bug
|
| Priority |
Normal
|
| Assignee | |
| Affected Versions |
11.0.8
|
| Labels |
No labels
|
Hi Robin,
if I have a board where the amount of issues in a column exceeds the number of directly loaded issues and then try to scroll down it will try to execute a lazy load to fetch further issues. With a certain amount it leads to an Exception being thrown. In my tests this doesn't occur with 80 Issues but it does happen with 150 Issues in one column. See Stacktrace below.
Thanks, e