Skip to content

Conversation

@sundb
Copy link
Collaborator

@sundb sundb commented Aug 13, 2025

Fix #13612
This bug was introduced by #11465

This PR added the incremental defragmentation for db->expires.
If the time for the defragmentation cycle has not arrived, it will exit unless both cursor and expires_cursor are 0, meaning both keys and expires have been fragmented.
However, the expires_cursor check has now been overlooked, which leads to we will exit immediately even if the defragmentation doesn't reach the end time, which will cause the efficiency of defragmentation to become very low.

Note that this bug was already fixed in version 7.4(#13058)

@snyk-io
Copy link

snyk-io bot commented Aug 13, 2025

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

license/snyk check is complete. No issues have been found. (View Details)

@sundb
Copy link
Collaborator Author

sundb commented Aug 13, 2025

@oranagra Please take a look. It seems that we need to backport this fix, as it will cause the defragmentation efficiency of version 7.2 to be very low.

@sundb
Copy link
Collaborator Author

sundb commented Aug 14, 2025

these failed tests in the fully CI don't relate to this PR, they were already fixed in #14231 and #14217.

@sundb sundb merged commit 0c5a8cc into redis:7.2 Aug 14, 2025
44 of 50 checks passed
@sundb sundb added the release-notes indication that this issue needs to be mentioned in the release notes label Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes indication that this issue needs to be mentioned in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants