From 4b72c5617f1b9a53daad5bb58bfc7faf05c8169a Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 30 Mar 2011 16:51:28 +0200 Subject: [PATCH 1/1] fix to configuration saving on first start --- src/cluster.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/cluster.c b/src/cluster.c index b3fcd1ea..1ffe0cdc 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -44,7 +44,7 @@ int clusterLoadConfig(char *filename) { return REDIS_OK; fmterr: - redisLog(REDIS_WARNING,"Unrecovarable error: corrupted cluster.conf file."); + redisLog(REDIS_WARNING,"Unrecovarable error: corrupted redis-cluster.conf file."); fclose(fp); exit(1); } @@ -69,6 +69,8 @@ err: } void clusterInit(void) { + int saveconf = 0; + server.cluster.myself = createClusterNode(NULL,REDIS_NODE_MYSELF); server.cluster.state = REDIS_CLUSTER_FAIL; server.cluster.nodes = dictCreate(&clusterNodesDictType,NULL); @@ -79,17 +81,20 @@ void clusterInit(void) { sizeof(server.cluster.importing_slots_from)); memset(server.cluster.slots,0, sizeof(server.cluster.slots)); - if (clusterLoadConfig("cluster.conf") == REDIS_ERR) { + if (clusterLoadConfig("redis-cluster.conf") == REDIS_ERR) { /* No configuration found. We will just use the random name provided * by the createClusterNode() function. */ redisLog(REDIS_NOTICE,"No cluster configuration found, I'm %.40s", server.cluster.myself->name); - if (clusterSaveConfig("cluster.conf") == -1) { + saveconf = 1; + } + clusterAddNode(server.cluster.myself); + if (saveconf) { + if (clusterSaveConfig("redis-cluster.conf") == -1) { redisLog(REDIS_WARNING,"Fatal: can't update cluster config file."); exit(1); } } - clusterAddNode(server.cluster.myself); /* We need a listening TCP port for our cluster messaging needs */ server.cfd = anetTcpServer(server.neterr, server.port+REDIS_CLUSTER_PORT_INCR, server.bindaddr); -- 2.47.2