forked from valkey-io/valkey
-
Notifications
You must be signed in to change notification settings - Fork 0
Add ACTIVE-EXPIRY and ACTIVE-DEFRAG for hash objects with volatile items #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
xbasel
wants to merge
179
commits into
ranshid:introduce-volatile-set
from
xbasel:field_activeexpiry
Closed
Changes from 10 commits
Commits
Show all changes
179 commits
Select commit
Hold shift + click to select a range
acc2398
active-expire: add field-level TTL expiry with alternating cycle prio…
xbasel 85567b0
fix defrag
xbasel 94829b2
format
xbasel ea4a25b
fix defrag bug + optimize
xbasel 8e4bfcc
Batch propagation
xbasel e722f5a
formatting
xbasel 95f597a
Defrag keys_with_volatile_items
xbasel 82d8efa
use unused debugging function
xbasel 2bf7a60
fix bug
xbasel 22261cb
rename expired_fields to expired_subkeys to match redis info
xbasel 536db24
notification
xbasel fc9701d
del main key notification
xbasel 2f8ecc9
fix subkeys info
xbasel 27f8825
unfinished
xbasel f8801a9
working
xbasel 45b7e7c
handle pause
xbasel 283b027
Revert "handle pause"
xbasel 331eefa
pause
xbasel 7ce2b04
Remove serverDb* params from hash functions
xbasel e26b94f
optmize
xbasel 6a7f09f
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel 09ea89f
fix an asser
xbasel 4491819
change assertion logic and few other issues to prevent crashes
xbasel 9af1239
fixes
xbasel 9d41e39
format
xbasel cd04998
change design to not continue processing same hash object over multiple
xbasel 4988b82
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel 7a72bea
Added active expire tests in hashexpire.tcl
bee03bf
remove redundant declaration
xbasel e880cab
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel 9ef4adb
Added HSETEX Active Expiry Test
9c6d99e
fix todos
xbasel ac1acc8
fixes
xbasel 63aa12f
Merge remote-tracking branch 'xbasel/field_active_expiry' into field_…
xbasel 8e9d64c
Merge branch 'field_activeexpiry_def' into field_activeexpiry
xbasel b1d1e2d
fix defrag
xbasel 3e25aeb
fix
xbasel c23a3b9
comments
xbasel da48f3c
fixes
xbasel 02e2157
format
xbasel 2e3db4c
fixes
xbasel 0beceeb
Stabilize flaky test
aff56ee
more fixes
xbasel 5ce8785
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 930d5a9
fix
xbasel f3d5aca
format
xbasel 5919e64
fix
xbasel 2eef1a9
reduce logging
xbasel 8ffdbdf
Fixed tests
67db439
fix iteration -> speed up
xbasel cea7a69
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 730df60
Removed print from test
36ac4c9
Adjust test timeout to accommodate longer expiry delays
24e7b45
Added 2 test scenarios that previously caused a crash
ac25557
fix no epxiry on vector
xbasel 609cb4d
fix bug
xbasel 7920b44
fix defgrag issues
xbasel d340ebe
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel f102c92
fix bug in vset leading to hashtable corruption
xbasel 4031067
Revert "fix bug in vset leading to hashtable corruption"
xbasel b0bc2ad
Reapply "fix bug in vset leading to hashtable corruption"
xbasel dac3a02
fix bug
xbasel 016a4a8
propagate db
xbasel db29fac
Update src/db.c
xbasel c2ec2ac
Update src/server.c
xbasel 3a53195
code review
xbasel 4ad9896
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 6f04c70
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel 123fafb
formatting
xbasel d91bde6
fix comment
xbasel f800b1a
Make the itertaor static and moe the cursor to the serverDb struct
xbasel 1734780
format
xbasel 2f57736
release keys_with_vola_items
xbasel a7b6b02
fix bugs
xbasel 6d3adf7
don't run cluster mode tests in hash field tests on external engines
xbasel cf005ac
comments
xbasel d855272
disable flaky tests
xbasel 59e8ed4
tidy up
xbasel f9d462b
Update src/defrag.c
xbasel 0fa2b8b
Update src/defrag.c
xbasel 283f6e0
Update src/defrag.c
xbasel e01d3fb
tidy up
xbasel 01970bb
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel d465f01
Update src/t_hash.c
xbasel 3c50fe8
tidy up
xbasel e21b91e
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel f198640
Update src/t_hash.c
xbasel 6330c07
tidy up
xbasel ae783ca
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 86b7068
remove redundant instruction
xbasel fc3de10
optimize
xbasel 1e44a43
Added Changes from ttl-poc-new branch
019e9e7
Deflake monitor test
925c1c7
Added keys_with_volatile_items checks
fa95f92
code review
xbasel 44ab3c6
use hashtableReplaceReallocatedEntry
xbasel eec6ed4
fixes
xbasel f2da2f2
fixes
xbasel c466290
remove return value
xbasel 34cd30e
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 276327a
fix uninitialized variable
xbasel b46a465
add missing new line
xbasel f4f403b
Update src/db.c
xbasel 89017c7
tidy up
xbasel eda8866
remove redundant code
xbasel 80e2f27
refactor key notification
xbasel af74624
disable test step (we'll fix it later, its not essential)
xbasel be86a2c
remove redundant code
xbasel 7ad0462
format
xbasel ccfcd44
code review fixes
xbasel db66b29
remove inline
xbasel 5568d48
move db1->keys_with_volatile_items_cursor to activeExpireFieldIterator
xbasel 6b48925
flat loop
xbasel 50d9e54
tidy up
xbasel cf9bda8
fix slow epxiry bug, don't jump DBs if there's likely more entries to
xbasel a1e239a
Simplify expire.c loop
xbasel 3ef99ab
defrag -> defrag volatile sets when itertaing on db->keys
xbasel 5a4e887
remove redudant code
xbasel b8f2704
remove unused code
xbasel a5a7810
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel e2e5e79
dbAddInternal is called only when the hash object doesn't exist, so its
xbasel 1e2b9b8
Remove redundant code
xbasel e8bb2c8
clean up
xbasel be5e704
don't case delta to unasigned
xbasel 8e5fbc4
clean up
xbasel 31082a9
code review
xbasel a8ad390
Remove db dependency from hash functions
xbasel 43a0784
formatting
xbasel b340319
Refactor hash defrag and put outside defrag.c
xbasel 6b040a8
More changes
xbasel 07d0329
code review 2
xbasel 8dd7493
relocate hashTypeReclaimExpiredFields to expire.c
xbasel 4b1419d
refactor
xbasel 8ad8175
code review
xbasel 5dcbfec
Remove dbTrackKeyWithVolatileItemsIfNeeded
xbasel b7ec7b5
tidy up
xbasel 2ce8777
review with Ran
xbasel d72d639
fixes
xbasel 67a5eb1
format
xbasel 68afa3f
format
xbasel 2ab4785
format
xbasel 6ebda3a
fix vset unit tests (shouldn't test defrag if defrag isn't enable)
xbasel 9487798
Update src/expire.c
xbasel 14fac35
code review
xbasel abceb06
Update src/expire.c
xbasel 163c486
changes with Ran
xbasel 9f7e18f
Merge remote-tracking branch 'xbasel/field_activeexpiry' into field_a…
xbasel 07b3ca5
more changes
xbasel ba582ff
format
xbasel bfcf811
fix comments
xbasel dacefdb
fix bug in defrag
xbasel 58aba79
code review
xbasel 3561a47
more changes
xbasel bdc0b98
remove ifdef from unit test
xbasel b80e8e2
Merge remote-tracking branch 'ranshid/introduce-volatile-set' into fi…
xbasel 7857eca
Apply suggestions from code review
ranshid 3a1d65b
Update src/server.c
xbasel 63337d2
Use getMonotonicUs in activeExpireCycle for faster timing (RDTSC vs g…
xbasel 848ed75
find ./tests -type f -exec sed -i 's/\bexpired_subkeys\b/expired_fiel…
xbasel 19efe45
small refactor following PR comments
ranshid 1a6ff14
document getExpirationPolicyWithFlags
ranshid 475a8e1
fix bug when deleting hash table entry at pos 6
xbasel 0577eb5
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid 4a2d5b7
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid 651de13
address more PR comments
ranshid 66f7fa9
fix format check
ranshid 9f7cac1
fix yet another format issue
ranshid 9fef365
2 fixes:
ranshid b813588
keep the original statistic name.
ranshid eb1d14e
place fast cycle back to back prevention in activeExpireCycle
ranshid df684f3
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid 9054990
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid c938dbd
refactor active expiry:
ranshid cbb225f
small followup refactor
ranshid 59223fc
fix comment
ranshid b712220
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid 7b0ea56
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid 77c0dca
fix active expiration after last merge
ranshid da5998b
Merge remote-tracking branch 'valkey-fork/introduce-volatile-set' int…
ranshid File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.