Cluster: better logging for clusterUpdateSlotsConfigWith().

This commit is contained in:
antirez 2014-03-26 12:09:38 +01:00
parent eb746ec408
commit 80d4c52cdf

View File

@ -1110,6 +1110,11 @@ void clusterUpdateSlotsConfigWith(clusterNode *sender, uint64_t senderConfigEpoc
* interested to check if slots are taken away from curmaster. */ * interested to check if slots are taken away from curmaster. */
curmaster = nodeIsMaster(myself) ? myself : myself->slaveof; curmaster = nodeIsMaster(myself) ? myself : myself->slaveof;
if (sender == myself) {
redisLog(REDIS_WARNING,"Discarding UPDATE message about myself.");
return;
}
for (j = 0; j < REDIS_CLUSTER_SLOTS; j++) { for (j = 0; j < REDIS_CLUSTER_SLOTS; j++) {
if (bitmapTestBit(slots,j)) { if (bitmapTestBit(slots,j)) {
/* The slot is already bound to the sender of this message. */ /* The slot is already bound to the sender of this message. */
@ -1137,9 +1142,14 @@ void clusterUpdateSlotsConfigWith(clusterNode *sender, uint64_t senderConfigEpoc
sender != myself) sender != myself)
{ {
redisLog(REDIS_WARNING, redisLog(REDIS_WARNING,
"I received a slot update for a slot I've still " "I received an update for slot %d. "
"keys into. Putting the slot in IMPORTING state. " "%.40s claims it with config %llu, "
"Please run the 'redis-trib fix' command."); "I've it assigned to myself with config %llu. "
"I've still keys about this slot! "
"Putting the slot in IMPORTING state. "
"Please run the 'redis-trib fix' command.",
j, sender->name, senderConfigEpoch,
myself->configEpoch);
server.cluster->importing_slots_from[j] = sender; server.cluster->importing_slots_from[j] = sender;
} }