<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Thank you for the responses Chuck.</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">As part of a rebalance, the replicator, I would assume, copies the object from the old partition to the new partition, and then deletes it from the old partition. Is that a fair assumption?</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">Also, is there anything that explains in more detail how the handoff node is picked? What if the
ring changes and the data still lives on the handoff node? </div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">-- Mark</div><div><br></div> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1"> <font size="2" face="Arial"> <b><span style="font-weight:bold;">From:</span></b> Chuck Thier <cthier@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Mark Brown <ntdeveloper2002@yahoo.com> <br><b><span style="font-weight: bold;">Cc:</span></b> Openstack <openstack@lists.launchpad.net> <br>
<b><span style="font-weight: bold;">Sent:</span></b> Tuesday, May 21, 2013 6:53 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Openstack] Swift questions<br> </font> </div> <div class="y_msg_container"><br><div id="yiv3052039461"><div dir="ltr">Hi Mark,<div><br><div class="yiv3052039461gmail_extra"><div class="yiv3052039461gmail_quote">On Tue, May 21, 2013 at 6:46 PM, Mark Brown <span dir="ltr"><<a rel="nofollow" ymailto="mailto:ntdeveloper2002@yahoo.com" target="_blank" href="mailto:ntdeveloper2002@yahoo.com">ntdeveloper2002@yahoo.com</a>></span> wrote:<br>
<blockquote class="yiv3052039461gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;"><div><div style="font-size:12pt;">
<div>Hello,</div><div>I had a few more basic Swift questions..</div><div><br></div><div style="font-style:normal;font-size:16px;background-color:transparent;">
1. In Swift, when a rebalance is happening, does the client have write access to the object? Does Swift have a mechanism to lock down one copy which it is moving, and allow updates to the remaining two copies and do a final sync somehow? What is the mechanism?</div>
</div></div></blockquote><div> </div><div style="">When the ring rebalances, it is allowed to only move one replica of a partition. This guarantees that you still have 2 available while replication is moving the partitions around.</div>
<div><br></div><div> </div><blockquote class="yiv3052039461gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;"><div><div style="font-size:12pt;">
<div style="font-style:normal;font-size:16px;background-color:transparent;"></div><div style="font-style:normal;font-size:16px;background-color:transparent;">
2.
I did see that Swift has a configurable number of replicas. Can it be set to 1? If it is set to 1, how does it work for the question above w.r.t rebalance? I do understand a single replica does not make sense, I did want to understand what it does in that case though.</div>
</div></div></blockquote><div><br></div><div style="">It can be set to 1, and I think the default devstack install may do exactly that. Pretty much any guarantees of swift go out the window with 1 replica. I would expect that the partitions that are being moved would not be available until replication has moved them.</div>
<div> </div><blockquote class="yiv3052039461gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;"><div><div style="font-size:12pt;">
<div style="font-style:normal;font-size:16px;background-color:transparent;"></div><div style="font-style:normal;font-size:16px;background-color:transparent;">
3. If one of the nodes returns an error during a PUT(say, disk full), the request is sent to the handoff node, but how is the handoff node configured in the ring? Is it a special entry, or is it picked based on some algorithm or something else? </div>
</div></div></blockquote><div><br></div><div style="">There is an algorithm in the ring code that deterministically determines the handoff nodes.</div><div style=""><br></div><div style="">--</div><div style="">Chuck</div><div><br></div>
</div></div></div></div></div><br><br></div> </div> </div> </div></body></html>