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