From 7895835df6aeb2a2d499bc499ae6cb340228908f Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 5 Sep 2018 19:33:56 +0200 Subject: [PATCH] Use commands (effects) replication by default in scripts. See issue #5250 and issue #5292 for more info. --- src/config.c | 2 ++ src/scripting.c | 1 - src/server.c | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index 1a64d25e..b4c5b404 100644 --- a/src/config.c +++ b/src/config.c @@ -677,6 +677,8 @@ void loadServerConfigFromString(char *config) { } } else if (!strcasecmp(argv[0],"lua-time-limit") && argc == 2) { server.lua_time_limit = strtoll(argv[1],NULL,10); + } else if (!strcasecmp(argv[0],"lua-replicate-commands") && argc == 2) { + server.lua_always_replicate_commands = yesnotoi(argv[1]); } else if (!strcasecmp(argv[0],"slowlog-log-slower-than") && argc == 2) { diff --git a/src/scripting.c b/src/scripting.c index 43f8d09a..acea551e 100644 --- a/src/scripting.c +++ b/src/scripting.c @@ -917,7 +917,6 @@ void scriptingInit(int setup) { server.lua_client = NULL; server.lua_caller = NULL; server.lua_timedout = 0; - server.lua_always_replicate_commands = 0; /* Only DEBUG can change it.*/ ldbInit(); } diff --git a/src/server.c b/src/server.c index fd8472f6..af5bef7f 100644 --- a/src/server.c +++ b/src/server.c @@ -1715,6 +1715,12 @@ void initServerConfig(void) { server.assert_line = 0; server.bug_report_start = 0; server.watchdog_period = 0; + + /* By default we want scripts to be always replicated by effects + * (single commands executed by the script), and not by sending the + * script to the slave / AOF. This is the new way starting from + * Redis 5. However it is possible to revert it via redis.conf. */ + server.lua_always_replicate_commands = 1; } extern char **environ;