Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
code :ParentConsistentHash.cc,begin at line 141
do { // search until we've selected a different parent.
prtmp = (pRecord *)fhash->lookup(NULL, &result->chashIter[last_lookup], &wrap_around[last_lookup], &hash);
if (prtmp)
} while (prtmp && strcmp(prtmp->hostname, result->hostname) == 0);
fix it like this:
if (prtmp)
pRec = (parents[last_lookup] + prtmp->idx);
else //begin of added xdchen, line:143
pRec = NULL; //endof of added by xdchen
if (prtmp)
{ pRec = (parents[last_lookup] + prtmp->idx); Debug("parent_select", "Selected a new parent: %s.", pRec->hostname); } else //begin of added xdchen, line:188
pRec = NULL; ////end of added xdchen
}