Thanks John - increasing the partition coverage is a great idea (I hadn't considered doing that).

Now with respect to the lack of durability implication - I should have said we are using a 2 region topology with (region) affinity set, so altho the initial object placement will be generally durable, in the case where someone was (perhaps overly) concerned about it living in both regions we were looking at how to 'encourage' that to happen (ahead of the steady process that the replicator is making).


regards


Mark


On 06/12/16 05:41, John Dickinson wrote:
I'd suggest monitoring overall replications status with a combination of log 
monitoring and swift-dispersion-report. If you find something that is 
under-replicated, you can run the replicator process and give it a list of 
partitions to prioritize. 
http://docs.openstack.org/developer/swift/admin_guide.html#dispersion-report 
I'd recommend running dispersion report with 100% coverage.

However, your question implies that when an object is created it is not durable 
in the system. That's not the case. Swift will not return with a success unless 
the data has been durably persisted in the cluster (a quorum of writes). Quorum 
is determined per storage policy; in a replicated policy, quorum is half + 1 
for odd numbers of replicas and half for even numbers of replicas. This means 
that when a client gets a 201 response to an object PUT request, that object 
has been stored at least 2 times in a 3-replica storage policy (and it's 
extraordinarily likely it was stored a full 3 times).

Let me know if you want more details about this.

--John




On 4 Dec 2016, at 14:56, Mark Kirkwood wrote:

Suppose you have a newly created object, and want to ensure it has replicated 
(i.e this object is 'special' in some way). If the replication process is 
taking a while, is it sensible to 'encourage' Swift replication via direct HTTP 
calls using the 'replicate' method (or is this dangerous)?


E.g:

markir@obj4:/srv/node/vdb/objects/5$ ls 55e
ls: cannot access '55e': No such file or directory

markir@obj1:~$ curl -v -X REPLICATE "http://obj4:6000/vdb/5/55e";

markir@obj4:/srv/node/vdb/objects/5$ sleep 30;ls 55e
5c38bfdd63f01a8e56260105fc68555e


regards


Mark



_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to