summaryrefslogtreecommitdiff
path: root/src/scripting.c
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2013-06-21 12:07:53 +0200
committerantirez <antirez@gmail.com>2013-06-21 12:07:53 +0200
commit515a26bbc157ca76d6e2441dd21fbac32e37bbd6 (patch)
tree4b1aff7a8362f1f9151d19b463506a04e68d790a /src/scripting.c
parentb0c2cdd6a788e736ef7b24d2a7e96e174f76365b (diff)
downloadredis-515a26bbc157ca76d6e2441dd21fbac32e37bbd6.tar.gz
New API to force propagation.
The old REDIS_CMD_FORCE_REPLICATION flag was removed from the implementation of Redis, now there is a new API to force specific executions of a command to be propagated to AOF / Replication link: void forceCommandPropagation(int flags); The new API is also compatible with Lua scripting, so a script that will execute commands that are forced to be propagated, will also be propagated itself accordingly even if no change to data is operated. As a side effect, this new design fixes the issue with scripts not able to propagate PUBLISH to slaves (issue #873).
Diffstat (limited to 'src/scripting.c')
-rw-r--r--src/scripting.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/scripting.c b/src/scripting.c
index b94627c7f..104bd3dde 100644
--- a/src/scripting.c
+++ b/src/scripting.c
@@ -1042,6 +1042,7 @@ void scriptCommand(redisClient *c) {
}
addReplyBulkCBuffer(c,funcname+2,40);
sdsfree(sha);
+ forceCommandPropagation(c,REDIS_PROPAGATE_REPL);
} else if (c->argc == 2 && !strcasecmp(c->argv[1]->ptr,"kill")) {
if (server.lua_caller == NULL) {
addReplySds(c,sdsnew("-NOTBUSY No scripts in execution right now.\r\n"));