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

cleanup: ziplist prev entry large length use sizeof(uint32_t) instead 4 (#8241)

This is just a cleanup, no bugs in the real world.

Co-authored-by: Oran Agra <oran@redislabs....

c4b52fc7c9e77fb1f2719d2cb5b9977b90698721 authored about 4 years ago
syncWithMaster: use pipeline for AUTH+REPLCONF*3

The commit deals with the syncWithMaster and the ugly state machine in it.
It attempts to clean ...

e87c31de66482e83ac36857e500847bfe8c13574 authored about 4 years ago
syncWithMaster: sendSynchronousCommand split to send, and receive

This is just a refactoring commit.

This function was never actually used as a synchronous (do b...

9bd212cf241154d22849ef2addd0d5a7551b3a55 authored about 4 years ago
fix the test

Signed-off-by: xhe <[email protected]>

ef14c18c8e83f3f11f5436e3dbeee9dfd5665de1 authored about 4 years ago
simplify

Co-authored-by: Oran Agra <[email protected]>

98f39a37fb14f2b1c1965de143011402728dafbc authored about 4 years ago
simplify

Co-authored-by: Oran Agra <[email protected]>

723b4a15a34ce25490882f40ef51b24a5b61304c authored about 4 years ago
simplify

Co-authored-by: Oran Agra <[email protected]>

c07d3bd8dd8ba108f743c09b059f157e9799d5c5 authored about 4 years ago
simplify

Co-authored-by: Oran Agra <[email protected]>

456c347d4520bce417e48d0d01a87035483755a5 authored about 4 years ago
try to fix the test

Signed-off-by: xhe <[email protected]>

60f13e7a865f7c0d4908b25803f42058c7a19201 authored about 4 years ago
Typo: timout -> timeout (#8228)

35fc7fda7aac1699cf6f7ba902cf414d07c1cd3b authored about 4 years ago
prefer !

Signed-off-by: xhe <[email protected]>

50d750733e52dd9fff26fbcf8274d8d6c81ebfca authored about 4 years ago
add a test

Signed-off-by: xhe <[email protected]>

7a7c60459e0853b1880bd1692fb15c4b67e00fa9 authored about 4 years ago
HELLO without protover

Signed-off-by: xhe <[email protected]>

2e8f8c9b0c08d8c7c8b4dc72d65285d2761c5183 authored about 4 years ago
add a read-only variant for HELLO

As discussed in https://github.com/antirez/redis/issues/7364, it is good
to have a HELLO command ...

b3dc23c5a8365a5e61b9ef8113970c1c36de6a13 authored about 4 years ago
Cleanup key tracking documentation and table management (#8039)

Cleanup key tracking documentation, always cleanup the tracking table, and free the tracking tab...

59ff42c42156dcf4a5d9b637d8cb20c37ddc5c65 authored about 4 years ago
Flow through the error handling path for most errors (#8226)

Properly throw errors for invalid replication stream and support https://github.com/redis/redis/...

efaf09ee4b6437c69c467acdb0c62a510207e993 authored about 4 years ago
Add semicolon to calls of test_cond() (#8238)

55abd1c6d078e0d30ee01a819f069fa7737c3dc2 authored about 4 years ago
Fix redundancy incrRefCount in lmoveGenericCommand (#8218)

58e9c261152819bfa5fe8d37ea943340c3575421 authored about 4 years ago
Tests: fix the problem that Darwin memory leak detection may fail (#8213)

Apparently the "leaks" took reports a different error string about process
that's not found in ...

ee59dc1b5cdcc631438aba3904d6d3b520354c80 authored about 4 years ago
Fix random element selection for large hash tables. (#8133)

When a database on a 64 bit build grows past 2^31 keys, the underlying hash table expands to 2^3...

266949c7fcfab9d10f81314fd7480a00638ced80 authored about 4 years ago
fix valgrind warning created by recent pidfile fix (#8235)

This isn't a leak, just an warning due to unreachable
allocation on the fork child.
Problem cr...

2426aaa099e5dfee29cce17af39298d0ce14cc2a authored about 4 years ago
Fix TLS build on macOS arm64 systems (#8197)

Homebrew for darwin-arm64 uses /opt/homebrew instead of /usr/local as
the prefix, so that it ca...

b51f5da31446a56f6e83e021f4f44fb472999c7c authored about 4 years ago
Sentinel: add missing calls for sentinelflushconfig when config master at runtime (#8229)

781d7b0d9b51d1d80097c1f6ddec6270c1532ede authored about 4 years ago
Fix issue where fork process deletes the parent pidfile (#8231)

Turns out that when the fork child crashes, the crash log was deleting
the pidfile from the dis...

92a483bca2df734aff5caada6c23409ed6256773 authored about 4 years ago
Fix crashes with io-threads-do-reads enabled. (#8230)

Normally IO threads should simply read data from the socket into the
buffer and attempt to pars...

e7047ec2fcc20e150c0c8cf29addf582638d7e80 authored about 4 years ago
Remove read-only flag from non-keyspace cmds, different approach for EXEC to propagate MULTI (#8216)

In the distant history there was only the read flag for commands, and whatever
command that did...

411c18bbce26dacf39e4dd792e4a091a48270349 authored about 4 years ago
Fix some redundancy use of semicolon in do-while macros (#8221)

* Fix some redundancy use of semicolon in do-while macros

4bc14da2b3330c7ce8b9366ea3880eba65ba2ff9 authored about 4 years ago
Fix PFDEBUG commands flag (#8222)

- Mark it as a @hyperloglog command (ACL)
- Should not be allowed in OOM
- Add firstkey, lastk...

4c13945c370b98b69886c6bcd1e71d4934344cae authored about 4 years ago
Fix command reset's arity (#8212)

51eb0da824d2dae45bf5966e83f2089fba8d9c24 authored about 4 years ago
Not over-allocate client query buffer when reading large objects. (#5954)

In response to large client query buffer optimization introduced in 1898e6c. The calculation of ...

11b3325e9999721d35ec64afac7b917664f6291b authored about 4 years ago
Handle binary safe string for REQUIREPASS and MASTERAUTH directives (#8200)

* Handle binary safe string for REQUIREPASS and MASTERAUTH directives.

f48afb4710e6e102b043add55a0649b22ef4a4ab authored about 4 years ago
install redis-check-rdb and redis-check-aof as symlinks to redis-server (#5745)

0f3e0cb4adf6bdbb7dbd70679d129ad5a528df9d authored about 4 years ago
More fixes to printf format specifier. (#7909)

mostly signed / unsigned mismatches.

Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gma...

a56cbd30366ac7776bcd71e2ac8d9c421ca54cc8 authored about 4 years ago
Fix comment of georadiusGeneric function (#8202)

407da77ea4f6de622d6f242ad16580aa6f4e7b85 authored about 4 years ago
[Redis-benchmark] Use IP from CLUSTER NODE reply for first node too (#8154)

If we only has one node in cluster or before 8fdc857, we don't know myself ip, so we should use ...

6413e5f81a8b6296f4bb57cae11f5b2534f5f663 authored about 4 years ago
fix wrong comment in cluster.h (#8191)

4f67d0b647caba9fa301a1a604214c0ecc40940a authored about 4 years ago
Included in redis.conf explicit explanation of tls-protocol defaults (#8193)

1f42bd70572c8e85fa431a66952c7b79eb182a87 authored about 4 years ago
Fix some wrong server.dirty increments (#8140)

Fix wrong server dirty increment in
* spopWithCountCommand
* hsetCommand
* ltrimCommand
* pf...

7993780dda22df01cebba42d16f805213d66e194 authored about 4 years ago
GEOSEARCH: change 'FROMLOC' to 'FROMLONLAT' (#8190)

And formats style a tiniee-winiee bit

9acd40d97b00aefeae1ae8f523cd9b0adde80d81 authored about 4 years ago
Sanitize dump payload: excessive free on dup zset fields (#8189)

cfb449cc8066a0b1f0225b6278241d0d9d20a779 authored about 4 years ago
Tests: fix new defrag test to be skipped when not supported (#8185)

Additionally the older defrag tests are using an obsolete way to check
if the defragger is suup...

7d9b09adaaa92b07a11cb1b40aea6958fab049a6 authored about 4 years ago
Fix redis-cli crash on nil invalidate messages. (#8183)

This is a backport of redis/hiredis@b9b9f44.

Co-authored-by: michael-grunder <michael.grunder...

1e301ff83e2f0d8e63646a6689aacc021729e181 authored about 4 years ago
Expose Redis main thread cpu time, and scrape system time via INFO command. (#8132)

Exposes the main thread CPU info via info modules ( linux specific only )
(used_cpu_sys_main_th...

19d46f8f2f4239bea738a9578e083a64c1467012 authored about 4 years ago
Several (mostly Solaris-related) cleanups (#8171)

* Allow runtest-moduleapi use a different 'make', for systems where GNU Make is 'gmake'.
* Fix ...

86e3395c117d9450d52ee3ebbc62c386d11f1b79 authored about 4 years ago
redis-cli prompt: show transaction state, and fix db number on aborted EXEC (#6728)

f74c32cad27fcd078f7bb8517c87be178e7339eb authored about 4 years ago
Add module event for repl-diskless-load swapdb (#8153)

When a replica uses the diskless-load swapdb approach, it backs up the old database,
then attem...

ab60dcf56488052d5760ec2ed24a29ebb0630d12 authored about 4 years ago
add missing raxStop calls in aof stream rewrite (#8162)

8a23ca0b28f4b6cfe7db5a77457b635cee1a855a authored about 4 years ago
Removed usage of bool from tls.c (#8175)

5abdf9a556e22b7528af3fcc3dcc7964d1ad6d66 authored about 4 years ago
redis-cli -e option to exit with error code immediately when command fails (#8136)

without this option, redis-cli returns 0 even if command fails. kept this for backwards compatib...

bde33501c41e3cb49174fb282164e5ccb532a4f8 authored about 4 years ago
Add total_forks to INFO STATS (#8155)

e3ff414513895eff6ebf6564a9864c479ec36d25 authored about 4 years ago
Modules: add defrag API support. (#8149)

Add a new set of defrag functions that take a defrag context and allow
defragmenting memory blo...

63c1303cfb60140dec6531ea2965fd709d316094 authored about 4 years ago
Randomize the random number generator's seed used in redis-benchmark (#8174)

The pid of the benchmark process is used to randomize the random number generator's
seed. This ...

ddd43b6bc3ea8560bae1b0eead730235ffe7eafd authored about 4 years ago
Adds 'use-memory' to GEORADIUS[BYMEMBER] (#8107)

Partial resolution for #6860, item 7

feba7cbf4d75f7822f34bd67a56b2ef4a755eff9 authored about 4 years ago
Add GEOSEARCH / GEOSEARCHSTORE commands (#8094)

Add commands to query geospatial data with bounding box.

Two new commands that replace the ex...

4d06d99bf8fc91289c79ae07110c92525ab1c1f8 authored about 4 years ago
TLS: Add different client cert support. (#8076)

This adds a new `tls-client-cert-file` and `tls-client-key-file`
configuration directives which...

8c291b97b95f2e011977b522acf77ead23e26f55 authored about 4 years ago
Add module data-type support for COPY. (#8112)

This adds a copy callback for module data types, in order to make
modules compatible with the n...

4e064fbab4d310b508593b46ed6ce539aea7aa25 authored about 4 years ago
Fix double close on IPv6 setup error. (#8168)

Fixes #8165.

cf3d79d4c10c5ca4e485ce29c288825d582ca067 authored about 4 years ago
zset full dump sanitization bug (dup score instead of field) (#8167)

6a3c4ac50a6666feb09de1561b1c483dc2a1891e authored about 4 years ago
Handle output buffer limits for Module blocked clients (#8141)

Module blocked clients cache the response in a temporary client,
the reply list in this client ...

48efc25f749c3620f9245786582ac76cb40e9bf4 authored about 4 years ago
Improve stability of new CSC eviction test (#8160)

c4fdf09c0 added a test that now fails with valgrind
it fails for two resons:
1) the test sampl...

a102b21d178453247078b355a47762bfc121ac20 authored about 4 years ago
Minor improvements for list-2 test (#8156)

had some unused variables.
now some are used to assert that they match, others were useless.

1acc315cea882ed7b3c257179bb96eccf6eb676d authored about 4 years ago
Fix failing macOS tests due to wc differences. (#8161)

00db1b5579d1b633a6f6ee9e99e4ee2a03fcb6dc authored about 4 years ago
Adds exclusive range query intervals to XPENDING (#8130)

37f45d9e5677e75bc396af5e3d8864125f026969 authored about 4 years ago
Fix setproctitle related crashes. (#8150)

Makes spt_init more careful with assumptions about what memory regions
may be overwritten. It w...

ec02c761aa16175eb599b2fc9d0b2792ffe8a66c authored about 4 years ago
use getPositiveLongFromObjectOrReply for positive check in spop (#8146)

This is a cleanup commit that doesn't fix any bug, however it does change the error response tex...

09b7f6c2a10d5c50bad64953f9a31e04f81c0444 authored about 4 years ago
More efficient self-XCLAIM (#8098)

when the same consumer re-claim an entry that it already has, there's
no need to remove-and-ins...

6bb5503524fbc15c4d6a5ac5eb08aedee18d3189 authored about 4 years ago
Enable configuring OpenSSL using the standard openssl.cnf (#8143)

b5e99bd0645557b204703ec0e54aa2051fc122ee authored about 4 years ago
Add CLIENT INFO and CLIENT LIST [id]. (#8113)

* Add CLIENT INFO subcommand.

The output is identical to CLIENT LIST but provides a single li...

bccbc5509a1fe3ebee48904bd2418d9e665d2a5a authored about 4 years ago
Solaris based system rss size report. (#8138)

ec951cdc1555f544abe3c5468509e2148bdd4c3c authored about 4 years ago
Sanitize dump payload: validate no duplicate records in hash/zset/intset

If RESTORE passes successfully with full sanitization, we can't affort
to crash later on asserti...

3716950cfc389c0f7ed13fac5bd205173c2d8189 authored about 4 years ago
Sanitize dump payload: ziplist, listpack, zipmap, intset, stream

When loading an encoded payload we will at least do a shallow validation to
check that the size ...

ca1c182567add4092e9cb6ea829e9c5193e8fd55 authored about 4 years ago
Sanitize dump payload: fail RESTORE if memory allocation fails

When RDB input attempts to make a huge memory allocation that fails,
RESTORE should fail gracefu...

7ca00d694d44be13a3ff9ff1c96b49222ac9463b authored about 4 years ago
Sanitize dump payload: performance optimizations and tuning

First, if the ziplist header is surely inside the ziplist, do fast path
decoding rather than the...

e288430c05359706bcb0f78730af2997ab0db07f authored about 4 years ago
testsuite: fix fd leak, prevent port clashing when using --baseport

when using --baseport to run two tests suite in parallel (different
folders), we need to also ma...

5b44631397787a65327fcab77f7df37862286ed9 authored about 4 years ago
Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed

The test creates keys with various encodings, DUMP them, corrupt the payload
and RESTORES it.
It...

c31055db617a7fedb20c28c245ddad8ed2b11931 authored about 4 years ago
Sanitize dump payload: improve tests of ziplist and stream encodings

- improve stream rdb encoding test to include more types of stream metadata
- add test to cover ...

01c13bddea6c09e0a60678fa48becd42b0913515 authored about 4 years ago
prevent client tracking from causing feedback loop in performEvictions (#8100)

When client tracking is enabled signalModifiedKey can increase memory usage,
this can cause the...

c4fdf09c0584a3cee32b92f01b7958c72776aedc authored about 4 years ago
Make sure we do not propagate nested MULTI/EXEC (#8097)

One way this was happening is when a module issued an RM_Call which would inject MULTI.
If the ...

1df5bb5687738aae390ee4f6573d975adc3afc96 authored about 4 years ago
Limit the main db and expires dictionaries to expand (#7954)

As we know, redis may reject user's requests or evict some keys if
used memory is over maxmemor...

75f9dec64455ed500277922baf7f371a7eb294a4 authored about 4 years ago
Modules: Fix an integer sign bug in moduleTimerHandler (#8131)

bug was introduced in 1a91a2700b

2f41a3856845265ffc6cc3a35524883a8690cff7 authored about 4 years ago
Adds exclusive ranges to X[REV]RANGE (#8072)

Adds the ability to use exclusive (open) start and end query intervals in XRANGE and XREVRANGE q...

441c49002461f14d1aeed5571112d57793df6bb0 authored about 4 years ago
Iterate backwards on zdiff/zinter/zunion to optimize for zslInsert (#8105)

In the iterator for these functions, we'll traverse the sorted sets
in a reversed way so that l...

4cd1fb1f40b30e08f37425e626420c580424bbf0 authored about 4 years ago
Fix ACL Pub/Sub test timings (#8122)

7459652e3e4dbc7d8330ddc860a2585effaead0e authored about 4 years ago
Backup keys to slots map and restore when fail to sync if diskless-load type is swapdb in cluster mode (#8108)

When replica diskless-load type is swapdb in cluster mode, we didn't backup
keys to slots map, ...

b55a827ea2e19bd6cd48f216e8e6caa34299f9b9 authored about 4 years ago
Remove end-of-life CentOS 6 workflows. (#8121)

84e0489562a0f61b95755dc863bfca79c23b6ef0 authored about 4 years ago
Modify help msg PING_BULK to PING_MBULK in benchmark (#8109)

As described in redis-benchamrk help message 'The test names are the same as the ones produced a...

7885faf18b776eaed4a7ddcf8fb8bce699820eea authored about 4 years ago
Getset fix (#8118)

* Fixed SET GET executing on wrong type

Co-authored-by: Madelyn Olson <[email protected]>

69b7113bb52360f330d184b5b270625d35902ad6 authored about 4 years ago
Improve dbid range check for SELECT, MOVE, COPY (#8085)

SELECT used to read the index into a `long` variable, and then pass it to a function
that takes...

3ba2281f96098691d9d672ce8b484207379b09ee authored about 4 years ago
Adds pub/sub channel patterns to ACL (#7993)

Fixes #7923.

This PR appropriates the special `&` symbol (because `@` and `*` are taken),
fo...

c1b1e8c329567e90ec0edcb8c176e9f58a7d7435 authored about 4 years ago
Reset average ttl when empty databases (#8106)

On FLUSHDB or full sync, reset old average TTL stat.
This Stat is incrementally collected by th...

c85bf2352d2a3dd04872124d33066403b114a7e7 authored about 4 years ago
BITOP speedup when or/and output is 0/255, stop processing further keys (#8110)

when performing the and operation, if the output is 0, we can jump out of the loop.
when perfor...

04056b767fbcdc1df6fc536467234c04d88bee9d authored about 4 years ago
Adds support for nested args in cli's help (#8074)

See https://github.com/redis/redis-doc/pull/1443

Also allows nameless commands.

d322e7baba3065eb3ff03ca90e4a9a4484aaa3a7 authored about 4 years ago
XPENDING with IDLE (#7972)

Used to filter stream pending entries by their idle-time,
useful for XCLAIMing entries that hav...

ada2ac9ae2c04422f693c8d989768b97c29b8996 authored about 4 years ago
bitops limited to proto_max_bulk_len rather than 512MB (#8096)

we recently did that for SETRANGE and APPEND

cb5eadb33b2ff38e8c1bf31ccf4c864339a96bf4 authored about 4 years ago
INFO client_recent_max_input_buffer includes argv array (#8065)

this metric already includes the argv bytes, like what clientsCronTrackClientsMemUsage does, but...

bbc2c44541fbb50c5d1fc001afe2d2fca3a42eda authored about 4 years ago
Merge two aeDeleteFileEvent refs into one (#7521)

Merge two aeDeleteFileEvent refs into one

cf88779527c769906f66eb39e9d58e9ee63fcba0 authored about 4 years ago
Fix typo in ae.c file (#7895)

79a7c17176f109b81af171ce564b0354febbfd3f authored about 4 years ago
raspberry build fix. (#8095)

__ILP32__ is 32 bits ABI and does not imply x86, this patch resolves this.

0719388cfb1a79160204314beb1de1f9c29a3684 authored about 4 years ago
Avoid excessive malloc and free in copyCommand robj creation (#8067)

Avoid multiple conditional judgments
Avoid allocating robj->ptr when we're gonna replace it rig...

25f457c7f69e7f0254cc5d585eadd784dd30d91c authored about 4 years ago
Fix use-after-free issue in spt_copyenv. (#8088)

Seems to have gone unnoticed for a long time, because at least with
glibc it will only be trigg...

7e5a6313f0add995c723351532d994118e3e8a6d authored about 4 years ago