<div dir="ltr">Thanks.. My understanding is that an object will not be listed within a container until it completes replication throughout the cluster. Thats what I meant by 'listing'<div><br></div><div>But you corrected that mis-understanding. Such that, with respect to my 3 write requirement, an object will be available in each region once I receive a 200 upon file ingest.</div><div><br></div><div><br><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 9, 2014 at 10:02 AM, John Dickinson <span dir="ltr"><<a href="mailto:me@not.mn" target="_blank">me@not.mn</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm not sure what the question is.<br>
<br>
If you are looking to have a successful response after it's written twice in a cluster with 4 replicas, no. Swift's quorum calculation is (replicas DIV 2 + 1). This means that for 4 replicas, you have a quorum size of 3. What I would suggest you look in to is the write_affinity setting so that you can do a full-quorum (at least) write to the local region and then asynchronously replicate to the other region. See <a href="http://docs.openstack.org/developer/swift/admin_guide.html#geographically-distributed-clusters" target="_blank">http://docs.openstack.org/developer/swift/admin_guide.html#geographically-distributed-clusters</a> and <a href="https://swiftstack.com/blog/2012/09/16/globally-distributed-openstack-swift-cluster/" target="_blank">https://swiftstack.com/blog/2012/09/16/globally-distributed-openstack-swift-cluster/</a>.<br>
<br>
If you are looking to ensure that there is at least one replica in each region, then yes. The quorum size of three (see above) will ensure that, without any write_affinity settings, you'll have at least one replica in each region and two in another before the client gets a 2xx success response code to the PUT request.<br>
<br>
--John<br>
<div><div class="h5"><br>
<br>
<br>
On Sep 9, 2014, at 6:59 AM, Brent Troge <<a href="mailto:brenttroge2016@gmail.com">brenttroge2016@gmail.com</a>> wrote:<br>
<br>
><br>
><br>
> If I configure Swift to use 4 replicas across two regions(two replicas per region), is it possible to only list a newly ingested object if it has written at least twice? The goal is to only list a new object only if it has a presence in each region.<br>
><br>
> west coast<br>
> region 1 - zone 1<br>
> region 1 - zone 2<br>
><br>
> east coast<br>
> region 2 - zone 1( 3?)<br>
> region 2 - zone 2( 4?)<br>
><br>
> Thanks!<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
> Post to : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
> Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
<br>
</blockquote></div><br></div>