<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On Apr 11, 2007, at 11:33 , Steven Grimm wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Monaco" size="2" style="font: 10.0px Monaco">That approach won't work if servers are typically added and removed in batches, which is certainly the case for us -- we hardly ever add just one server at a time, and when we administratively remove servers it's often due to a network change that forces us to remove a bunch of them at once. On the other hand, I think I can count on one hand the number of times we've needed to do that, so maybe we're not the best test case for this particular failure mode. More often we replace broken servers, but it looks like Ketama will handle that just fine without relocating any keys as long as we put the replacement machine in the same position in the list as the one it's replacing.</FONT></P> </BLOCKQUOTE></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>The cost of telling all other nodes to delete a value after a mutation operation to a given node should be negligible.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>It might be appropriate to have that as a mode of operation when dealing with such a configuration.  It does sound like cache consistency isn't that hard to achieve where it's important.</DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>-- </DIV><DIV>Dustin Sallings</DIV><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></BODY></HTML>