Salvatore Sanfilippo
4ff2041c94
Merge pull request #6654 from oranagra/fix_module_info_warning
...
fix possible warning on incomplete struct init
2020-04-02 16:32:20 +02:00
Salvatore Sanfilippo
ee34e741f0
Merge pull request #6546 from guybe7/fix_neg_zero
...
Make sure Redis does not reply with negative zero
2020-04-02 16:26:57 +02:00
Salvatore Sanfilippo
9588b79207
Merge pull request #6813 from guybe7/debug_object_pass_keyname
...
DEBUG OBJECT should pass keyname to module when loading
2020-04-02 16:20:48 +02:00
antirez
424facd7a1
LCS: output LCS len as well in IDX mode.
2020-04-02 16:15:17 +02:00
antirez
a9954197aa
LCS: MINMATCHLEN and WITHMATCHLEN options.
2020-04-02 13:37:35 +02:00
Salvatore Sanfilippo
b6298bd112
Merge pull request #6960 from devnexen/debug_arm_linux
...
debug, dump registers on arm too.
2020-04-02 11:26:08 +02:00
Salvatore Sanfilippo
590954ae02
Merge pull request #7006 from hwware/fixspelling
...
fix spelling in cluster.c clusterDelNode
2020-04-02 11:23:53 +02:00
Salvatore Sanfilippo
079cf0ece4
Merge pull request #7029 from valentinogeron/fix-xack
...
XACK should be executed in a "all or nothing" fashion.
2020-04-02 11:23:23 +02:00
Salvatore Sanfilippo
9f067d286b
Merge pull request #7041 from hwware/trackingfix
...
CLIENT TRACKING Command Fix: Add More Checking for OPTIN/OPTOUT mode
2020-04-02 11:22:30 +02:00
Salvatore Sanfilippo
a8602f31cb
Merge pull request #7039 from guybe7/persist_ksn
...
PERSIST should notify a keyspace event
2020-04-02 11:21:20 +02:00
Salvatore Sanfilippo
a3643414a4
Merge pull request #7042 from guybe7/stream_cg_last_id_fix
...
streamReplyWithRange: Redundant XSETIDs to replica
2020-04-02 11:20:54 +02:00
antirez
fba7d2be4d
Simplify comment in moduleTryServeClientBlockedOnKey().
2020-04-02 11:20:09 +02:00
antirez
499c7138ce
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2020-04-02 11:18:33 +02:00
antirez
8699d75e29
LCS: 7x speedup by accessing the array with better locality.
2020-04-01 23:45:07 +02:00
antirez
f882f5bcc4
LCS: implement KEYS option.
2020-04-01 22:11:59 +02:00
antirez
e8d4fd71f8
LCS: other fixes to range emission.
2020-04-01 17:36:32 +02:00
antirez
223c9cb649
LCS: fix emission of last range starting at index 0.
2020-04-01 17:14:40 +02:00
antirez
b5ae25332f
LCS: implement range indexes option.
2020-04-01 17:11:31 +02:00
antirez
d77fd23ae2
LCS: initial functionality implemented.
2020-04-01 16:13:18 +02:00
Guy Benoish
bc8c56a71a
Fix memory corruption in moduleHandleBlockedClients
...
By using a "circular BRPOPLPUSH"-like scenario it was
possible the get the same client on db->blocking_keys
twice (See comment in moduleTryServeClientBlockedOnKey)
The fix was actually already implememnted in
moduleTryServeClientBlockedOnKey but it had a bug:
the funxction should return 0 or 1 (not OK or ERR)
Other changes:
1. Added two commands to blockonkeys.c test module (To
reproduce the case described above)
2. Simplify blockonkeys.c in order to make testing easier
3. cast raxSize() to avoid warning with format spec
2020-04-01 12:53:26 +03:00
antirez
a3decf12af
cast raxSize() to avoid warning with format spec.
2020-03-31 17:41:46 +02:00
antirez
f93573cb6b
Minor changes to #7037 .
2020-03-31 17:10:09 +02:00
Salvatore Sanfilippo
2399ed885b
Merge pull request #7037 from guybe7/fix_module_replicate_multi
...
Modules: Test MULTI/EXEC replication of RM_Replicate
2020-03-31 17:00:57 +02:00
Salvatore Sanfilippo
af2bab8131
Merge pull request #7048 from guybe7/rename_unblock_stream
...
RENAME can unblock XREADGROUP
2020-03-31 16:55:29 +02:00
Guy Benoish
e5309fea93
RENAME can unblock XREADGROUP
...
Other changes:
Support stream in serverLogObjectDebugInfo
2020-03-31 17:41:10 +03:00
Guy Benoish
fd914fdd52
Modules: Test MULTI/EXEC replication of RM_Replicate
...
Makse sure call() doesn't wrap replicated commands with
a redundant MULTI/EXEC
Other, unrelated changes:
1. Formatting compiler warning in INFO CLIENTS
2. Use CLIENT_ID_AOF instead of UINT64_MAX
2020-03-31 13:55:51 +03:00
antirez
84dc7c0f65
Merge branch 'pubsub_patterns_boost' of https://github.com/leeyiw/redis into leeyiw-pubsub_patterns_boost
2020-03-31 12:40:08 +02:00
antirez
ab89ab5173
Fix module commands propagation double MULTI bug.
...
b512cb40 introduced automatic wrapping of MULTI/EXEC for the
alsoPropagate API. However this collides with the built-in mechanism
already present in module.c. To avoid complex changes near Redis 6 GA
this commit introduces the ability to exclude call() MUTLI/EXEC wrapping
for also propagate in order to continue to use the old code paths in
module.c.
2020-03-31 11:00:45 +02:00
antirez
80bb739ca5
Fix RM_Call() stale comment due to cut&paste.
2020-03-31 10:27:47 +02:00
antirez
5f94b3007f
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2020-03-30 17:29:04 +02:00
antirez
6dceb0140e
Precise timeouts: reference client pointer directly.
2020-03-30 15:22:59 +02:00
Guy Benoish
5dba96dc7f
streamReplyWithRange: Redundant XSETIDs to replica
...
propagate_last_id is declared outside of the loop but used
only from within the loop. Once it's '1' it will never go
back to '0' and will replicate XSETID even for IDs that
don't actually change the last_id.
While not a serious bug (XSETID always used group->last_id
so there's no risk), it does causes redundant traffic
between master and its replicas
2020-03-30 10:53:03 +03:00
hwware
2d1a2896f8
add check for not switching between optin optout mode directly
2020-03-29 23:20:54 -04:00
hwware
a5533e0ad8
add check for not providing both optin optout flag
2020-03-29 23:06:50 -04:00
Guy Benoish
5751ba1f2c
PERSIST should notify a keyspace event
2020-03-29 17:50:42 +03:00
Salvatore Sanfilippo
2fb4ea5473
Merge pull request #7033 from OMG-By/unstable
...
fix: dict.c->dictResize()->minimal type
2020-03-29 16:17:52 +02:00
OMG-By
5120922a86
fix: dict.c->dictResize()->minimal type
2020-03-29 00:04:59 +08:00
zhaozhao.zz
9a1be653ad
PSYNC2: reset backlog_idx and master_repl_offset correctly
2020-03-28 20:59:01 +08:00
antirez
aa3efaa1d2
timeout.c created: move client timeouts code there.
2020-03-27 16:35:03 +01:00
antirez
ab10e0f2fb
Precise timeouts: cleaup the table on unblock.
...
Now that this mechanism is the sole one used for blocked clients
timeouts, it is more wise to cleanup the table when the client unblocks
for any reason. We use a flag: CLIENT_IN_TO_TABLE, in order to avoid a
radix tree lookup when the client was already removed from the table
because we processed it by scanning the radix tree.
2020-03-27 16:35:03 +01:00
antirez
2ee65aff6b
Precise timeouts: fix comments after functional change.
2020-03-27 16:35:03 +01:00
antirez
0264a78063
Precise timeouts: use only radix tree for timeouts.
2020-03-27 16:35:03 +01:00
antirez
c54576c631
Precise timeouts: fast exit for clientsHandleShortTimeout().
2020-03-27 16:35:03 +01:00
antirez
36cba9bb8e
Precise timeouts: fix bugs in initial implementation.
2020-03-27 16:35:03 +01:00
antirez
f232cb6670
Precise timeouts: working initial implementation.
2020-03-27 16:35:03 +01:00
antirez
86bd36d93a
Precise timeouts: refactor unblocking on timeout.
2020-03-27 16:35:02 +01:00
antirez
94901f61b8
PSYNC2: fix backlog_idx when adjusting for meaningful offset
...
See #7002 .
2020-03-27 16:20:02 +01:00
Valentino Geron
53a7041535
XREAD and XREADGROUP should not be allowed from scripts when BLOCK option is being used
2020-03-26 15:46:31 +02:00
Valentino Geron
81c1e22b8d
XACK should be executed in a "all or nothing" fashion.
...
First, we must parse the IDs, so that we abort ASAP.
The return value of this command cannot be an error if
the client successfully acknowledged some messages,
so it should be executed in a "all or nothing" fashion.
2020-03-26 15:40:23 +02:00
Salvatore Sanfilippo
307ff72522
Merge pull request #6644 from oranagra/stream_aofrw
...
AOFRW on an empty stream created with MKSTREAM loads badkly
2020-03-26 11:12:44 +01:00