MOD-12212: Fix high temporary memory consumption when loading search data from RDB.#7336
MOD-12212: Fix high temporary memory consumption when loading search data from RDB.#7336Itzikvaknin merged 7 commits intomasterfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #7336 +/- ##
==========================================
+ Coverage 85.18% 85.20% +0.01%
==========================================
Files 344 346 +2
Lines 53001 52978 -23
Branches 13708 13731 +23
==========================================
- Hits 45150 45139 -11
+ Misses 7656 7645 -11
+ Partials 195 194 -1
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:
|
pack/ramp-enterprise.yml
Outdated
| license: Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1) or the GNU Affero General Public License version 3 (AGPLv3) | ||
| command_line_args: "" | ||
| compatible_redis_version: "99.99" | ||
| compatible_redis_version: "8.2" |
There was a problem hiding this comment.
can we put this into another PR to isolate changes?
There was a problem hiding this comment.
this would clarify the context and socpe, and make backporting easier
There was a problem hiding this comment.
This is a temporary fix, so i could upload it and test it on master cluster
This reverts commit 0d1e0bd.
|
/backport |
|
Only merged pull requests can be backported. |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 8.2
git worktree add -d .worktree/backport-7336-to-8.2 origin/8.2
cd .worktree/backport-7336-to-8.2
git switch --create backport-7336-to-8.2
git cherry-pick -x 0408cdeb1045059e7982becd4e0b5153b553c783 |
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad
|
/backport |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 8.2
git worktree add -d .worktree/backport-7336-to-8.2 origin/8.2
cd .worktree/backport-7336-to-8.2
git switch --create backport-7336-to-8.2
git cherry-pick -x 0408cdeb1045059e7982becd4e0b5153b553c783 |
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad (cherry picked from commit 0408cde)
|
Successfully created backport PR for |
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad
…data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad
…earch data from RDB. (#7385) MOD-12212: Fix high temporary memory consumption when loading search data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad (cherry picked from commit 0408cde) Co-authored-by: Itzikvaknin <[email protected]>
…7384) * MOD-12212: Fix high temporary memory consumption when loading search data from RDB. (#7336) * Condition IndexSpec_StartGC and Cursors_initSpec calls on sp->isDuplicate == false * change compatible_redis_version: "8.2" * Revert "change compatible_redis_version: "8.2"" This reverts commit 0d1e0bd. * Add testDuplicateIndexRdbLoad to test the duplicate spec case * Minor * Remove index spec validation since the env is not isolated * Improve testDuplicateIndexRdbLoad * cleanup * Minor fix
Manually backported to 2.10, 2.8:
Note
Defers GC startup and registration to non-duplicate indexes when loading from RDB, and adds a test verifying only one index is stored when duplicates are present.
IndexSpec_StartGCto run only in the non-duplicate path inIndexSpec_StoreAfterRdbLoad, preventing GC startup for duplicate indexes.testDuplicateIndexRdbLoadto write the same index 30 times to RDB and verify only one is loaded/stored.Written by Cursor Bugbot for commit c9b15e1. This will update automatically on new commits. Configure here.