typos and minor stuff fixed in the new non blocking replication code
This commit is contained in:
parent
f4aa600b99
commit
62ec599c36
@ -635,7 +635,7 @@ int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientData) {
|
||||
|
||||
/* Replication cron function -- used to reconnect to master and
|
||||
* to detect transfer failures. */
|
||||
if (!(loops % 10)) replicationCron(void);
|
||||
if (!(loops % 10)) replicationCron();
|
||||
|
||||
return 100;
|
||||
}
|
||||
|
@ -152,7 +152,7 @@
|
||||
/* Slave replication state - slave side */
|
||||
#define REDIS_REPL_NONE 0 /* No active replication */
|
||||
#define REDIS_REPL_CONNECT 1 /* Must connect to master */
|
||||
#define REDIS_REPL_TRANFER 2 /* Receiving .rdb from master */
|
||||
#define REDIS_REPL_TRANSFER 2 /* Receiving .rdb from master */
|
||||
#define REDIS_REPL_CONNECTED 3 /* Connected to master */
|
||||
|
||||
/* Slave replication state - from the point of view of master
|
||||
@ -408,7 +408,7 @@ struct redisServer {
|
||||
int masterport;
|
||||
redisClient *master; /* client that is master for this slave */
|
||||
int replstate; /* replication status if the instance is a slave */
|
||||
off_t repl_transfer_left; /* bytes left reading .rdb if this is a slave */
|
||||
off_t repl_transfer_left; /* bytes left reading .rdb */
|
||||
int repl_transfer_s; /* slave -> master SYNC socket */
|
||||
int repl_transfer_fd; /* slave -> master SYNC temp file descriptor */
|
||||
char *repl_transfer_tmpfile; /* slave-> master SYNC temp file name */
|
||||
|
@ -306,11 +306,14 @@ void replicationAbortSyncTransfer(void) {
|
||||
|
||||
/* Asynchronously read the SYNC payload we receive from a master */
|
||||
void readSyncBulkPayload(aeEventLoop *el, int fd, void *privdata, int mask) {
|
||||
unsigned char buf[4096]
|
||||
size_t nread, readlen;
|
||||
unsigned char buf[4096];
|
||||
ssize_t nread, readlen;
|
||||
REDIS_NOTUSED(el);
|
||||
REDIS_NOTUSED(privdata);
|
||||
REDIS_NOTUSED(mask);
|
||||
|
||||
readlen = (server.repl_transfer_left < sizeof(buf)) ?
|
||||
server.repl_transfer_left : sizeof(buf);
|
||||
readlen = (server.repl_transfer_left < (signed)sizeof(buf)) ?
|
||||
server.repl_transfer_left : (signed)sizeof(buf);
|
||||
nread = read(fd,buf,readlen);
|
||||
if (nread <= 0) {
|
||||
redisLog(REDIS_WARNING,"I/O error trying to sync with MASTER: %s",
|
||||
@ -425,8 +428,8 @@ int syncWithMaster(void) {
|
||||
}
|
||||
|
||||
/* Setup the non blocking download of the bulk file. */
|
||||
if (aeCreateFileEvent(server.el, fd, AE_READABLE,readSyncBulkPayload) ==
|
||||
AE_ERR)
|
||||
if (aeCreateFileEvent(server.el, fd, AE_READABLE, readSyncBulkPayload, NULL)
|
||||
== AE_ERR)
|
||||
{
|
||||
close(fd);
|
||||
redisLog(REDIS_WARNING,"Can't create readable event for SYNC");
|
||||
@ -481,7 +484,7 @@ void replicationCron(void) {
|
||||
}
|
||||
|
||||
/* Check if we should connect to a MASTER */
|
||||
if (server.replstate == REDIS_REPL_CONNECT && !(loops % 10)) {
|
||||
if (server.replstate == REDIS_REPL_CONNECT) {
|
||||
redisLog(REDIS_NOTICE,"Connecting to MASTER...");
|
||||
if (syncWithMaster() == REDIS_OK) {
|
||||
redisLog(REDIS_NOTICE,"MASTER <-> SLAVE sync succeeded");
|
||||
|
Loading…
x
Reference in New Issue
Block a user