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;