Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/redis/redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
https://github.com/redis/redis

Makefile respect user's REDIS_CFLAGS and OPT (#13073)

This change to the Makefile makes it possible to opt out of
`-fno-omit-frame-pointer` added in ...

1d77a8e2c5e2322cc119af34a6685876af90effd authored 9 months ago by Viktor Söderqvist <[email protected]>
Add KVSTORE_FREE_EMPTY_DICTS to cluster mode keys / expires kvstore (#13072)

Currently (following #11695, and #12822), keys kvstore and expires
kvstore both flag with ON_DE...

3b3d16f7488063f0d2ee7d5cfaeba736169046de authored 9 months ago by Binbin <[email protected]>
Lua eval scripts first in first out LRU eviction (#13108)

In some cases, users will abuse lua eval. Each EVAL call generates
a new lua script, which is a...

ad28d222edcef9d4496fd7a94656013f07dd08e5 authored 9 months ago by Binbin <[email protected]>
Xread last entry in stream (#7388) (#13117)

Allow using `+` as a special ID for last item in stream on XREAD
command.

This would allow t...

a8e745117f3648cc813d18f5a8cf1218ec83cb5d authored 9 months ago by Ronen Kalish <[email protected]>
Add API RedisModule_ClusterKeySlot and RedisModule_ClusterCanonicalKeyNameInSlot (#13069)

Sometimes it's useful to compute a key's cluster slot in a module.

This API function is just ...

9efc6ad6a63198e6f6af3c5e9fabc3a7ffc6fe4b authored 9 months ago by Viktor Söderqvist <[email protected]>
Enable accept4() on *BSD (#13104)

Redis enabled `accept4` on Linux after #9177, reducing extra system
calls for sockets.

`acce...

9c065c417d5cd7a1b35310d8c7760eeb119be1c0 authored 9 months ago by Andy Pan <[email protected]>
Fix redis-check-aof incorrectly considering data in manifest format as MP-AOF (#12958)

The check in fileIsManifest misjudged the manifest file. For example,
if resp aof contains "fil...

da727ad445a640950baa097124070468a0316cc9 authored 9 months ago by Binbin <[email protected]>
Pick random slot for a node to distribute operation across slots in redis-benchmark (#12986)

Distribute operations via `redis-benchmark` on different slots owned by
node.

`current_slot_...

3c8d15f8c3e3aca887555e3509e9c6fe4205ae1e authored 9 months ago by Harkrishn Patro <[email protected]>
Fix conversion of numbers in lua args to redis args (#13115)

Since lua_Number is not explicitly an integer or a double, we need to
make an effort
to conver...

5fdaa53d20c82c99042e79b737fb9bc157a73d60 authored 10 months ago by Matthew Douglass <[email protected]>
Change crc16 slot table to be fixed size character array instead of pointer to strings (#13112)

Update the crc16 hash lookup table to use fixed size character arrays instead of pointers
to s...

4979cf02ff83e90ced80db5111452a4c3e082c3a authored 10 months ago by Madelyn Olson <[email protected]>
Check user's oom_score_adj write permission for oom-score-adj test (#13111)

`CONFIG SET oom-score-adj handles configuration failures` test failed in
some CI jobs today.
F...

9738ba9841e01ec3c7dde1618f295105b90f79c9 authored 10 months ago by debing.sun <[email protected]>
Fix PONG message processing for primary-ship tracking during failovers (#13055)

This commit updates the processing of PONG gossip messages in the
cluster. When a node (B) beco...

28976a9003c6dd5cdd7225c5bc90743b4fcde13c authored 10 months ago by Ping Xie <[email protected]>
Implement defragmentation for pubsub kvstore (#13058)

After #13013

### This PR make effort to defrag the pubsub kvstore in the following
ways:

...

ad127303338f21a29ba7f11b51f076edc29655d3 authored 10 months ago by debing.sun <[email protected]>
Call finalizerProc when free the aeTimeEvent in ae (#13101)

Supplement to #6189, we also need to call finalizerProc.
This is a minor cleanup, no one curren...

33ea432585fa3d7ca3da1de98b64e7267110ad4b authored 10 months ago by Binbin <[email protected]>
Fix reply schemas validator build issue due to new regular expression (#13103)

The new regular expression break the validator:
```
In file included from commands.c:10:
comm...

df75153d79a83e53d71c9cd08e5863b73fe97914 authored 10 months ago by Binbin <[email protected]>
redis-cli fixes around help hints version filtering (#13097)

- In removeUnsupportedArgs, trying to access the next item after the
last one and causing an ou...

a50bbcb6566f76da3da32c18afd66cb674bbbc83 authored 10 months ago by YaacovHazan <[email protected]>
Add overhead of all DBs and rehashing dict count to info. (#12913)

Sometimes we need to make fast judgement about why Redis is suddenly
taking more memory. One of...

4cae99e785ee3302adc37144f07f737b9b7bfc7d authored 10 months ago by Chen Tianjie <[email protected]>
Fix propagation of entries_read by calling streamPropagateGroupID unconditionally (#12898)

In XREADGROUP ACK, because streamPropagateXCLAIM does not propagate
entries-read, entries-read ...

f17381a38d78f75e228d00972115b31d9a1d0b2e authored 10 months ago by Binbin <[email protected]>
freeDictIfNeeded when kvstoreEmpty (#13098)

just like `kvstoreDictDelete`, we need check `freeDictIfNeeded` when
`kvstoreEmpty`.

cc9fbd270e6a845289aee475d84b2a2711e8d6aa authored 10 months ago by zhaozhao.zz <[email protected]>
SCRIPT FLUSH run truly async, close lua interpreter in bio (#13087)

Even if we have SCRIPT FLUSH ASYNC now, when there are a lot of
lua scripts, SCRIPT FLUSH ASYNC...

a7abc2f067f9ad124124b5a80cc106fc24c60a85 authored 10 months ago by Binbin <[email protected]>
Fix redis-cli --count (for --scan, --bigkeys, etc) was ignored unless --pattern was also used (#13092)

The --count option for redis-cli has been released in redis 7.2.
https://github.com/redis/redis...

763827c98144fa83b4fc50eb4cae7ec4d63e7925 authored 10 months ago by LiiNen <[email protected]>
Optimize DEL on expired keys (#13080)

If we call `DEL` on expired keys, keys may be deleted in
`expireIfNeeded` and we don't need to ...

0a12f380e8999dd01c2f30993c9522d4b8606f09 authored 10 months ago by Yanqi Lv <[email protected]>
Fix size stat in malloc(0) and cleanups around zmalloc file (#13068)

In #8554, we added a MALLOC_MIN_SIZE to use a minimum allocation
size when using malloc(0). How...

104b2076027fd5b0adb5742a9a2930afe180e412 authored 10 months ago by Binbin <[email protected]>
Fix minor memory leak in rewriteSetObject (#13086)

It seems to be a leak caused by code refactoring in #11290.
it's a small leak, that only happen...

bfcaa7db0a70f81c062e2ff6dee1b23baf1cbf53 authored 10 months ago by Binbin <[email protected]>
Expose lua os.clock() api (#12971)

Implement #12699

This PR exposing Lua os.clock() api for getting the elapsed time of Lua
cod...

4a265554aeed885bfba42d425024d34cbb779a8c authored 10 months ago by debing.sun <[email protected]>
Determine the large limit of the quicklist node based on fill (#12659)

Following #12568

In issue #9357, when inserting an element larger than 1GB, we currently
sto...

165afc5f2a2bc8ef18af85a6e5cb345c7af614ec authored 10 months ago by debing.sun <[email protected]>
Edit the history field of xinfo-consumers (#13078)

Now it matches the information in xinfo-stream.json

820a4e45f1c46d8acbd07043b8992d5f69a872ec authored 10 months ago by guybe7 <[email protected]>
Add new allocator.muzzy field to memory-stats reply schema (#13076)

This field was added in #12996 but forgot to add it in json file.
This also causes reply-schema...

5b9fc465239036b378a39cbebf3706a2db74dd32 authored 10 months ago by Binbin <[email protected]>
Defragger improvements around large bins (#12996)

Implement #12963

## Changes
1. large bins don't have external fragmentation or are at least
...

f6785df663928d6614030e93aaeafa4a3b24ae3f authored 10 months ago by debing.sun <[email protected]>
xinfo-stream add minimum to seen-time, skip logreqres in fuzzer (#13056)

Recently I saw in CI that reply-schemas-validator fails here:
```
Failed validating 'minimum' ...

ca5cac998e75e52b73ad2794042b9165f4833020 authored 10 months ago by Binbin <[email protected]>
Fix wathced client test timing issue caused by late close (#13062)

There is a timing issue in the test, close may arrive late, or in
freeClientAsync we will free ...

3c2ea1ea9516724a361f38ffd2fdfb13aa0b041a authored 10 months ago by Binbin <[email protected]>
Fix timing issue in blockedclient test (#13071)

We can see that the past time here happens to be busy_time_limit,
causing the test to fail:
``...

4e3be944fc9abd9b9638ad17589ff3c916394883 authored 10 months ago by Binbin <[email protected]>
add -fno-omit-frame-pointer to default complication flags (#12973)

Currently redis uses O3 level optimization would remove the frame pointer
in the target bin.

...

fc3a68d8fb6c8f87485dd670f7af81feadd66635 authored 10 months ago by judeng <[email protected]>
Adds a README to the command JSON files (#13066)

Add readme about the command json folder, what it does, and who should
(not) use it.
see discu...

6df42df2917622cfe791b0f563fa82053965820f authored 10 months ago by guybe7 <[email protected]>
Calculate the incremental rehash time more precisely (#13063)

In the `databasesCron()`, the time consumed by
`kvstoreIncrementallyRehash()` is used to calcul...

8876d264ac9ad132dbabf70e6d6ba8c88c583e87 authored 10 months ago by zhaozhao.zz <[email protected]>
AOF_FSYNC_EVERYSEC higher resolution, change aof_last_fsync and aof_flush_postponed_start to use mstime (#13041)

Currently aof_last_fsync is using a low resolution unixtime is really
bad,
it checks if the ab...

9103ccc39843e16c456e459f2e64008e1cc33c1f authored 10 months ago by Binbin <[email protected]>
redis-cli - fix sscanf incorrect return-value check warnings (#13059)

From CodeQL: The result of scanf is only checked against 0, but
it can also return EOF.

Repo...

dd92dd8fb5c2cc5c9815b720128b3015382b8da4 authored 10 months ago by Binbin <[email protected]>
Add metrics for WATCH (#12966)

Redis has some special commands that mark the client's state, such as
`subscribe` and `blpop`, ...

50d6fe8c4beba95ea5572e7da98a7d4e6518a05a authored 10 months ago by zhaozhao.zz <[email protected]>
Minor optimization in kvstoreDictAddRaw when dict exists (#13054)

Usually, the probability that a dict exists is much greater than the
probability that it does n...

c854873746e9515f322d805f863e839ebfcefd62 authored 10 months ago by Binbin <[email protected]>
zunionInterDiffGenericCommand use ztrycalloc to avoid OOM panic (#13052)

In low memory situations, sending a big number of arguments (sets)
may cause OOM panic. Use ztr...

063de675e0e20a0d060ffc6f7f5f7b074043344a authored 10 months ago by Binbin <[email protected]>
Increase tolerance range to block reprocess tests to avoid timing issues (#13053)

These tests have all failed in daily CI:
```
*** [err]: Blocking XREADGROUP for stream key tha...

32f44da5100607055d9f6362f42f0c22f1a26533 authored 10 months ago by Binbin <[email protected]>
Do not include gossip about receiver in cluster messages (#13046)

The receiver does not update any of its cluster state based on gossip
about itself. This commit...

c1d2ac2a733b87458697ff85d3ca396a28a0d56a authored 10 months ago by Sankar <[email protected]>
Fix loading rdb opcode RDB_OPCODE_RESIZEDB (#13050)

Following the changes introduced by 8cd62f82c, the dbExpandExpires used
the db_size instead of ...

e9c795e777591a96a5e7b0d28fbda64325b27a0c authored 10 months ago by YaacovHazan <[email protected]>
Fix loading rdb opcode RDB_OPCODE_SLOT_INFO (#13049)

Following the changes introduced by 8cd62f82c, the kvstoreDictExpand for
the expires kvstore us...

7ca0b84af6129aaa1be4d78cf83222cfbd47966b authored 10 months ago by YaacovHazan <[email protected]>
Fix CLIENAT KILL MAXAGE test timing issue (#13047)

This test fails occasionally:
```
*** [err]: CLIENT KILL maxAGE will kill old clients in tests...

8eeece4ab3e80d2c648978ecaa3d5b10e8119117 authored 10 months ago by Binbin <[email protected]>
Fix the failure of defrag test under 32-bit (#13013)

Fail CI:
https://github.com/redis/redis/actions/runs/7837608438/job/21387609715

## Why defra...

676f27acb0e2a61e96778bccfa1116e3f7eedaaf authored 10 months ago by debing.sun <[email protected]>
Add new DEBUG dict-resizing command to disable the dict resize (#13043)

The test fails here and there:
```
*** [err]: expire scan should skip dictionaries with lot's ...

493e31e3ad299c99cbb96b8581b7598b19b23892 authored 11 months ago by Binbin <[email protected]>
Fix SORT STORE quicklist with the right options (#13042)

We forgot to call quicklistSetOptions after createQuicklistObject,
in the sort store scenario, ...

813327b231d4abbe2f5f9394b005680b1712f04b authored 11 months ago by Binbin <[email protected]>
Fix crash due to merge of quicklist node introduced by #12955 (#13040)

Fix two crash introducted by #12955

When a quicklist node can't be inserted and split, we eve...

1e8dc1da0de0add40d56fcbab9b64a3c5e61b6dd authored 11 months ago by debing.sun <[email protected]>
Fix heap-use-after-free when pubsubshard_channels became NULL (#13038)

After fix for #13033, address sanitizer reports this heap-use-after-free
error. When the pubsub...

81666a651089938c9dbd5783481d22f064d22291 authored 11 months ago by Binbin <[email protected]>
Fix dict don't rehash when there is child test (#13035)

The reason is the same as #13016. The reason is that in #12819,
in cron, in addition to trying ...

886b117031031154ecfa496fc687c16e801169a2 authored 11 months ago by Binbin <[email protected]>
Prevent LSET command from causing quicklist plain node size to exceed 4GB (#12955)

Fix #12864

The main reason for this crash is that when replacing a element of a
quicklist pa...

1f00c951c27f0332fd8e703beaf9e28cb404a0b4 authored 11 months ago by debing.sun <[email protected]>
Improve error handling in connSocketBlockingConnect for various connction failures (#13008)

This commit addresses a problem in connSocketBlockingConnect where
different types of connectio...

0777dc7896365ff50ac402c8f65cbc826aa34c69 authored 11 months ago by Gann <[email protected]>
Fix invalid dictNext usage when pubsubshard_channels became empty (#13033)

After #12822, when pubsubshard_channels became empty, kvstoreDictDelete
will delete the dict (w...

80965154324a931a6664ad13fcc0f7aa49efc6cd authored 11 months ago by Binbin <[email protected]>
Re-compute active_defrag_running after adjusting defrag configurations (#13020)

Currently, once active defrag starts, we can not adjust
active_defrag_running
downwards. This ...

13bd3643c25c708599d49bd2a2081d0b38c467a0 authored 11 months ago by Binbin <[email protected]>
Minor optimization for expire dict in defragKey (#13027)

Since now a DB in cluster mode is divided into 16384 dicts, here
we directly check kvstoreDictS...

87eaf119cdcae9647556648a4b4260051ed39613 authored 11 months ago by Binbin <[email protected]>
Fix kvstore unable to push resize_cursor for resize when dict is NULL (#13031)

When the dict is NULL, we also need to push resize_cursor, otherwise it
will keep doing useless...

84fd745d65013bfdfc6d5482ebfbb1a1b7d66e05 authored 11 months ago by Binbin <[email protected]>
Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822)

# Description
Gather most of the scattered `redisDb`-related code from the per-slot
dict PR (#...

8cd62f82ca7a42755ea606e3bf8e28f244055152 authored 11 months ago by guybe7 <[email protected]>
Fix active expire timeout when db done the scanning (#13030)

When db->expires_cursor==0, it means the DB is done the scanning,
we should exit the loop to av...

f20774eced7eba5dfb9cf9b76ed5d6aa3950177c authored 11 months ago by Binbin <[email protected]>
Add missing structural API changes to JSON file (#12434)

The JSON file lacks the following structural API changes:

- GEORADIUSBYMEMBER: add the ANY op...

02a87885e64c4f911aaefc04b2099cfb780ef720 authored 11 months ago by Daz <[email protected]>
Make db->avg_ttl more precise (#12949)

Currently, We compute `db->avg_ttl` after each short `dbScan` sweep (a
few buckets without chec...

c1041c2c0d7b66e4d11104e64f6c81a34ca3a2f8 authored 11 months ago by Yanqi Lv <[email protected]>
Refine the purpose of rdb saving with accurate flags (#12925)

In Redis, rdb is produced in three scenarios mainly.

- backup, such as `bgsave` and `save` co...

62153b3b2fdd96086c0eaa1735793b2ef8bb311c authored 11 months ago by Yanqi Lv <[email protected]>
Fix dict resize allow test (#13016)

Ci report this failure:
```
*** [err]: Don't rehash if used memory exceeds maxmemory after reh...

9a7d3118551d505d7e86ed9d9f38f56429320f53 authored 11 months ago by Binbin <[email protected]>
Fix module assertion crash when timer and timeout are unlocked in the same event loop (#13015)

When we use a timer to unblock a client in module, if the timer
period and the block timeout ar...

6016973ac01b8b85a0361f885212b83443187304 authored 11 months ago by Binbin <[email protected]>
Fix module unblock crash due to no timeout_callback (#13017)

The block timeout is passed in the test case, but we do not pass
in the timeout_callback, and i...

74a6e48a3d2a86402cd653eb9e6626fdb78fedd8 authored 11 months ago by Binbin <[email protected]>
Add novalues option to command HSCAN. (#12765)

Add a way to HSCAN a hash key, and get only the filed names.
Command syntax is now:
```
HSCAN...

f469dd8ca6f8aa9831bbdf822a0f16f3870afb8d authored 11 months ago by Chen Tianjie <[email protected]>
Implement `CLIENT KILL MAXAGE <maxage>` (#12299)

Adds an ability to kill clients older than a specified age.

Also, fixed the age calculation i...

24f6d08b3f2d9de06fabdab980a06d62229a2b2f authored 11 months ago by Slava Koyfman <[email protected]>
fix dict rehash tests introduced by #12802 broken by #12819 (#13009)

tests consistently fail on timeout (sleep that's too short).
it now takes more time because in ...

7c9f41b52b3a664c07581c83f9256fbedb798dfe authored 11 months ago by Oran Agra <[email protected]>
Fix timeout not being set in module blockClient case (#13011)

This was introduced in #13004, missing this assignment.
It causes timeout to be a random value ...

45a35a79c761766d46b3d97169cf62969e2c9ff4 authored 11 months ago by Binbin <[email protected]>
Adds connection timeout option to redis-cli (#10609)

This allows specifying the timeout value for opening the TCP
connection to a server. The timeou...

76adbf6ff01c566c01d9c8530a19a83f0f2c059f authored 11 months ago by Binbin <[email protected]>
Fix blocking commands timeout is reset due to re-processing command (#13004)

In #11012, we will reprocess command when client is unblocked on keys,
in some blocking command...

492021db95288be2095ec7f1db2ee043fac3c2d9 authored 11 months ago by Binbin <[email protected]>
Optimize resizing hash table to resize not only non-empty dicts. (#12819)

The function `tryResizeHashTables` only attempts to shrink the dicts
that has keys (change from...

af7ceeb76587b79fe33d3d8660b4128a34b6093d authored 11 months ago by Chen Tianjie <[email protected]>
Add RM_TryCalloc() and RM_TryRealloc() (#12985)

Modules may want to handle allocation failures gracefully. Adding
RM_TryCalloc() and RM_TryReal...

c5273cae189f84197cea887419c67eeafce1fb58 authored 11 months ago by Ozan Tezcan <[email protected]>
Fix maxmemory-samples stack overflow crash in evictionPoolPopulate, limit its value to [1,64] (#13000)

We have not limited the value of maxmemory-samples in the past, it can
be set very large. If it...

acd960522315583844669f37dd059f21bd5faaae authored 11 months ago by Binbin <[email protected]>
Reduce performance impact of dict rehashing and make it shorter. (#12899)

#### Problem Statement:
For any read/update operation during rehashing, we're doing ~10+ random...

5358bd7cdd9655feabfea98032e6de72dbd5aeca authored 11 months ago by Roshan Khatri <[email protected]>
fix the wrong path in mkreleasehdr.sh (#12993)

The question is introduced in #12799 , the script cannot find the
correct src and deps director...

98881f755885271fe6a55b3479c5496674571b0e authored 11 months ago by judeng <[email protected]>
Fix unauthenticated client query buffer 1MB limit (#12989)

Code incorrectly set the limit value to 1024MB.
Introduced in #12961.

4cb5ad85a5e9669f878f4493e5a08eac4f0e0142 authored 11 months ago by Binbin <[email protected]>
Revert multi OOM limit and add multi buffer limit (#12961)

Fix #9926 , and introduce an alternative method to prevent abuse of
transactions:

1. revert ...

85a834bfa2a31cd7c5754fe1611cf059657c0fb4 authored 11 months ago by zhaozhao.zz <[email protected]>
Add sender NULL check in clusterProcessGossipSection invalid_ids case (#12980)

In the following case sender may be unknown, so we need to set up a
NULL check for sender:
```...

07b292af5e86459e435da5986f87bc4f7415d437 authored 11 months ago by Binbin <[email protected]>
Add INCR type command against wrong argument test cases. (#12836)

We have test cases for incr related commands with no key exist and
spaces in key and wrong type...

685409139b755e4ba8686b21a71ac11e060ddbaa authored 11 months ago by Wen Hui <[email protected]>
Allow running WAITAOF in scripts, remove NOSCRIPT flag (#12977)

In #11568 we removed the NOSCRIPT flag from commands, e.g. removing
NOSCRIPT flag from WAIT. Ai...

85c31e0cff5d670ef4de3ce52c64dc9074f603b4 authored 11 months ago by Binbin <[email protected]>
Some cleanups around function (#12940)

This PR did some cleanups around function:
- drop the comment about Libraries Ctx, since we do ...

628c0dea1b12ae28ce44a8cfa638dc784fe1bb2b authored 11 months ago by Binbin <[email protected]>
update redis-check-rdb types (#12969)

seems that we forgot to update the array in redis-check rdb.

f9a0eb60f7bde2c2ef561afa36c1004bf7f41b93 authored 11 months ago by Oran Agra <[email protected]>
Bump actions/cache from 3 to 4 (#12978)

Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
<details>
<summary>Releas...

12fd7524435885b99790e5d945bc9db7f2b2b6fd authored 11 months ago by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Exit early if slowlog/acllog max len set to zero (#12965)

Currently slowlog gets disabled if slowlog-log-slower-than is set to less than zero. I think we ...

2bce71b5ff98766a3dd64c36af8f3c1bdb54670b authored 11 months ago by Harkrishn Patro <[email protected]>
Prevent nodes with invalid IDs from being propagated through gossip (#12921)

There have been occasional instances of memory corruption (though code bugs or bit flips) leadin...

e12f2decc1cf7742878d516d89d38af178119b17 authored 11 months ago by Brennan <[email protected]>
Set the correct id for tempDb (#12947)

background: some modules need to know the `dbid` information, such as
the function used during ...

8d0156eb186e60a32be3f0210d79f7289fcc6e66 authored 11 months ago by zhaozhao.zz <[email protected]>
Change dictGetSafeIterator to dictGetIterator in pubsub (#12931)

In #12838, we misuse the safe iterator of the client dict, so we can't
catch the synchronous re...

85a239b363591a7f35f66eb8370cabead8545ffa authored 11 months ago by Yanqi Lv <[email protected]>
Change the threshold of dict expand, shrink and rehash (#12948)

Before this change (most recently modified in
https://github.com/redis/redis/pull/12850#discuss...

b07174afc2aa8519dae68ac89eb66b8104f918e5 authored 11 months ago by Yanqi Lv <[email protected]>
Fix race condition issues between the main thread and module threads (#12817)

Fix #12785 and other race condition issues.
See the following isolated comments.

The followi...

d0640029dcf8d9157b9ac78ca0b99fb48f97e380 authored 11 months ago by debing.sun <[email protected]>
Optimize dictTypeResizeAllowed to avoid mistaken OOM judgement. (#12950)

When doing dict resizing, dictTypeResizeAllowed is used to judge whether
the new allocated memo...

f81c3fd89ed998f211e60e76b8f55a2df27000fe authored 11 months ago by Chen Tianjie <[email protected]>
Fix minor memory leaks in dictTest (#12962)

Introduced in #12952, reported by valgrind.

1c7eb0ad373a21a0610ba484cc0d5054e1f1aab0 authored 11 months ago by Binbin <[email protected]>
Call emptyData when disk-based sync rdbLoad fails (#12510)

We doing this in diskless on-empty-db mode, when diskless
loading fails, we will call emptyData...

0e5a4a27ea49da6423513ff749093ccf1582171d authored 11 months ago by Binbin <[email protected]>
Fix unexpected resize causing test failure (#12960)

Before #12850, we will only try to shrink the dict in serverCron,
which we can control by using...

29e6245a05f414159932f71d971793df34566dfe authored 11 months ago by Binbin <[email protected]>
Fix dict resize ratio checks, avoid precision loss from integer division (#12952)

In the past we used integers to compare ratios, let us assume that
we have the following data i...

14b1edfd994991d22c2b766031f77c045b95c995 authored 11 months ago by Binbin <[email protected]>
Fix race in slot dict resize test (#12942)

The test have a race:
```
*** [err]: Redis can rewind and trigger smaller slot resizing in tes...

131d95f203351b19f307072e6582fda91e149580 authored 11 months ago by Binbin <[email protected]>
Updated comments on dictResizeEnable for new dict shrink (#12946)

The new shrink was added in #12850.
Also updated outdated comments, see #11692.

ecc31bc6973830c8aa9747471943f1bdd46f3257 authored 11 months ago by Binbin <[email protected]>
Shrink dict when deleting dictEntry (#12850)

When we insert entries into dict, it may autonomously expand if needed.
However, when we delete...

e2b7932b347d475dbbd7b6cc45008a8666015b6c authored 11 months ago by Yanqi Lv <[email protected]>
fix scripts access wrong slot if they disagree with pre-declared keys (#12906)

Regarding how to obtain the hash slot of a key, there is an optimization
in `getKeySlot()`, it ...

bb2b6e29273c3dd2bf5f09ff625b33df1d5536b2 authored 11 months ago by zhaozhao.zz <[email protected]>
Fix fd check in memtest_test_linux_anonymous_maps (#12943)

The open function returns a fd on success or -1 on failure,
here we should check fd != -1, othe...

284ef21ea000f18d1eaac374679e0d0561f7bef8 authored 11 months ago by Binbin <[email protected]>