fix zslGetRank bug#4032
Closed
berg223 wants to merge 1 commit intoredis:unstablefrom
berg223:fix_zslGetElementByRank
Closed
fix zslGetRank bug#4032berg223 wants to merge 1 commit intoredis:unstablefrom berg223:fix_zslGetElementByRank
berg223 wants to merge 1 commit intoredis:unstablefrom
berg223:fix_zslGetElementByRank
Conversation
Contributor
|
Hello, the code assumes that repeating elements are impossible. |
x stops at a point when x->level[i].forward->score=4 > 3 and x -> score=2 < 3. |
Member
|
@xiaocairush i don't see any reason not to fix this (despite not currently being reachable in redis). |
Contributor
Author
|
@oranagra I'm glad to hear that u want re-opening the PR! And I will continue to pay attention to this issue if need! |
Contributor
|
I also agree to fix this (skiplist itself should remain independent and complete, that is, to allow the existence of repeated elements) |
Member
|
i couldn't reopen this, so created another PR. |
oranagra
added a commit
that referenced
this pull request
Jul 22, 2021
This fixes an issue with zslGetRank which will happen only if the skiplist data stracture is added two entries with the same element name, this can't happen in redis zsets (we use dict), but in theory this is a bug in the underlaying skiplist code. Fixes #3081 and #4032 Co-authored-by: minjian.cai <[email protected]>
JackieXie168
pushed a commit
to JackieXie168/redis
that referenced
this pull request
Sep 8, 2021
This fixes an issue with zslGetRank which will happen only if the skiplist data stracture is added two entries with the same element name, this can't happen in redis zsets (we use dict), but in theory this is a bug in the underlaying skiplist code. Fixes redis#3081 and redis#4032 Co-authored-by: minjian.cai <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue:
This PR is a fix for #3081
Reproduce Step:
The following code has printed 1 instead of 0.
To compile and run this piece of code. You can: