Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
41d64a75
Commit
41d64a75
authored
Jan 31, 2013
by
antirez
Browse files
After SLAVEOF <newslave> don't allow chained slaves to PSYNC.
parent
07888202
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/replication.c
View file @
41d64a75
...
@@ -87,7 +87,7 @@ void resizeReplicationBacklog(long long newsize) {
...
@@ -87,7 +87,7 @@ void resizeReplicationBacklog(long long newsize) {
}
}
void
freeReplicationBacklog
(
void
)
{
void
freeReplicationBacklog
(
void
)
{
redisAssert
(
server
.
repl_backlog
!=
NULL
);
redisAssert
(
listLength
(
server
.
slaves
)
==
0
);
zfree
(
server
.
repl_backlog
);
zfree
(
server
.
repl_backlog
);
server
.
repl_backlog
=
NULL
;
server
.
repl_backlog
=
NULL
;
}
}
...
@@ -1217,6 +1217,7 @@ void slaveofCommand(redisClient *c) {
...
@@ -1217,6 +1217,7 @@ void slaveofCommand(redisClient *c) {
if
(
server
.
master
)
freeClient
(
server
.
master
);
if
(
server
.
master
)
freeClient
(
server
.
master
);
disconnectSlaves
();
/* Force our slaves to resync with us as well. */
disconnectSlaves
();
/* Force our slaves to resync with us as well. */
replicationDiscardCachedMaster
();
/* Don't try a PSYNC. */
replicationDiscardCachedMaster
();
/* Don't try a PSYNC. */
freeReplicationBacklog
();
/* Don't allow our chained slaves to PSYNC. */
cancelReplicationHandshake
();
cancelReplicationHandshake
();
server
.
repl_state
=
REDIS_REPL_CONNECT
;
server
.
repl_state
=
REDIS_REPL_CONNECT
;
redisLog
(
REDIS_NOTICE
,
"SLAVE OF %s:%d enabled (user request)"
,
redisLog
(
REDIS_NOTICE
,
"SLAVE OF %s:%d enabled (user request)"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment