MOD-14479: Solve Infinite Loop When FT.CURSOR With Specific ACL Permission Is Used#8888
MOD-14479: Solve Infinite Loop When FT.CURSOR With Specific ACL Permission Is Used#8888
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 8.2 #8888 +/- ##
==========================================
- Coverage 88.99% 88.97% -0.03%
==========================================
Files 260 260
Lines 42059 42055 -4
Branches 3851 3851
==========================================
- Hits 37432 37418 -14
- Misses 4578 4588 +10
Partials 49 49
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@kei-nan Can you describe the infinite loop scenario? E.g., via a reproduction script.
|
|
Hey @raz-mon, |
|
Relates to: |
|
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.8
git worktree add -d .worktree/backport-8888-to-2.8 origin/2.8
cd .worktree/backport-8888-to-2.8
git switch --create backport-8888-to-2.8
git cherry-pick -x 4be7ec06dcb58391745ab844f255f675e6b7f993 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.6
git worktree add -d .worktree/backport-8888-to-2.6 origin/2.6
cd .worktree/backport-8888-to-2.6
git switch --create backport-8888-to-2.6
git cherry-pick -x 4be7ec06dcb58391745ab844f255f675e6b7f993 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.10
git worktree add -d .worktree/backport-8888-to-2.10 origin/2.10
cd .worktree/backport-8888-to-2.10
git switch --create backport-8888-to-2.10
git cherry-pick -x 4be7ec06dcb58391745ab844f255f675e6b7f993 |




Release note suggestion: "Fixed an infinite loop that could occur when FT.CURSOR was used with ACL users configured with specific key permissions."
In certain scenarios the command key step would be used by redis and could lead to an infinite loop when parsing the command.
Avoid using negative key step values when registering search commands.
Related PR #7971
Main objects this PR modified
Mark if applicable
Release Notes
If a release note is required (bug fix / new feature / enhancement), describe the user impact of this PR in the title.
Note
Medium Risk
Changes Redis module command registration key metadata and shifts Enterprise routing policy to
pack/ramp-enterprise.yml, which could affect command routing/validation if misconfigured. Scope is limited to RediSearch command metadata and a small set of commands.Overview
Fixes a Redis Enterprise hang/infinite loop that could occur when running
FT.CURSORunder certain ACL key-permission configurations.The module no longer registers RediSearch commands with negative
keystep/key-spec values (which could be interpreted by Redis during ACL/key parsing); instead, Enterprise-specific routing/key metadata forFT.SEARCH/FT.AGGREGATE/FT.CURSORis defined inpack/ramp-enterprise.ymlviaoveride_command.Reviewed by Cursor Bugbot for commit 9a56e2d. Bugbot is set up for automated code reviews on this repo. Configure here.