<div dir="ltr">Hi Mark,<div><br><div class="gmail_extra"><div class="gmail_quote">On Tue, May 21, 2013 at 6:46 PM, Mark Brown <span dir="ltr"><<a href="mailto:ntdeveloper2002@yahoo.com" target="_blank">ntdeveloper2002@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_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;font-family:'times new roman','new york',times,serif">
<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;font-family:'times new roman','new york',times,serif">
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="gmail_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;font-family:'times new roman','new york',times,serif">
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">
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="gmail_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;font-family:'times new roman','new york',times,serif">
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">
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>