redict/tests
guybe7 dba33a943d
Missing EXEC on modules propagation after failed EVAL execution (#8654)
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
2021-03-15 21:19:57 +02:00
..
assets Sanitize dump payload: ziplist, listpack, zipmap, intset, stream 2020-12-06 14:54:34 +02:00
cluster Optimize CLUSTER SLOTS reply by reducing unneeded loops (#8541) 2021-03-11 22:40:35 -08:00
helpers revert an accidental test code change done as part of the tls project 2019-12-01 16:10:09 +02:00
integration Improve redis-cli non-binary safe string handling. (#8566) 2021-03-04 15:03:49 +02:00
modules Fix some memory leaks in propagagte.c (#8636) 2021-03-11 13:50:13 +02:00
sentinel Fix errors with sentinel leaked fds test. (#8482) 2021-02-11 15:25:01 +02:00
support Allow stopped redis processes to be killed in tests (#8552) 2021-02-24 14:26:16 -08:00
tmp minor fixes to the new test suite, html doc updated 2010-05-14 18:48:33 +02:00
unit Missing EXEC on modules propagation after failed EVAL execution (#8654) 2021-03-15 21:19:57 +02:00
instances.tcl Allow stopped redis processes to be killed in tests (#8552) 2021-02-24 14:26:16 -08:00
test_helper.tcl Make port, tls-port and bind configurations modifiable (#8510) 2021-03-01 16:04:44 +02:00