mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
dba33a943d
1. moduleReplicateMultiIfNeeded should use server.in_eval like moduleHandlePropagationAfterCommandCallback 2. server.in_eval could have been set to 1 and not reset back to 0 (a lot of missed early-exits after in_eval is already 1) Note: The new assertions in processCommand cover (2) and I added two module tests to cover (1) Implications: If an EVAL that failed (and thus left server.in_eval=1) runs before a module command that replicates, the replication stream will contain MULTI (because moduleReplicateMultiIfNeeded used to check server.lua_caller which is NULL at this point) but not EXEC (because server.in_eval==1) This only affects modules as module.c the only user of server.in_eval. Affects versions 6.2.0, 6.2.1 |
||
---|---|---|
.. | ||
auth.tcl | ||
blockedclient.tcl | ||
blockonbackground.tcl | ||
blockonkeys.tcl | ||
commandfilter.tcl | ||
datatype.tcl | ||
defrag.tcl | ||
fork.tcl | ||
getkeys.tcl | ||
hash.tcl | ||
hooks.tcl | ||
infotest.tcl | ||
keyspace_events.tcl | ||
misc.tcl | ||
propagate.tcl | ||
scan.tcl | ||
stream.tcl | ||
test_lazyfree.tcl | ||
testrdb.tcl | ||
timer.tcl | ||
zset.tcl |