[PR #25783] fix: duplicate data in datasets pagination list #31205

Closed
opened 2026-02-21 20:49:01 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/25783

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

fixes #25780
Reason:
The reason for the duplicate data appearing on different pages is that when users use the API to batch create datasets, multiple datasets may have the same created_at timestamp. During pagination queries, the list is sorted by created_at, leading to an unstable list of datasets. For example, a certain piece of data might appear on the first page during the first pagination query, and on the second page during the second query, resulting in duplicates between the first and second pages.
image

Fix:
Add sorting by dataset id, when created_at is duplicated, sort by id (unique primary key) to ensure sorting stability.

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/25783 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> fixes #25780 Reason: The reason for the duplicate data appearing on different pages is that when users use the API to batch create datasets, multiple datasets may have the same created_at timestamp. During pagination queries, the list is sorted by created_at, leading to an unstable list of datasets. For example, a certain piece of data might appear on the first page during the first pagination query, and on the second page during the second query, resulting in duplicates between the first and second pages. <img width="161" height="808" alt="image" src="https://github.com/user-attachments/assets/9d49a80b-2612-4216-bfdd-66164a1a1f09" /> Fix: Add sorting by dataset id, when created_at is duplicated, sort by id (unique primary key) to ensure sorting stability. ## Screenshots | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:49:01 -05:00
yindo closed this issue 2026-02-21 20:49:01 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#31205