object-replicator using rsync needs a post-rsync command that is cheaper

Bug #1820894 reported by clayg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Undecided
Unassigned

Bug Description

To summarize ongoing work on rebalance improvements [1] REPLICATE requests have a very course API, they are ostensibly designed to speed up replication, but are known to cause a significant amount of IO contention and can be slow UNDER SOME CIRCUMSTANCES.

One such circumstance is when using rsync replication under heavy IO contention

If we implement lp bug #1820893 we're going to have a problem if lots of post-rsync REPLICATE requests get rejected for concurrency [1]. But as described in lp bug #1818709 we need to fire the post-rsync REPLICATE request to invalidate suffixes at a MINIMUM.

Luckily suffix invalidation is cheap (just append to .invalid file) so we should be able to make sure that request is made.

1. It would be nice if we could move forward with https://review.openstack.org/#/c/578213/ to reduce contention from primary REPLICATE calls with tuning.

Revision history for this message
Tim Burke (1-tim-z) wrote :

Done in https://github.com/openstack/swift/commit/5eaf1548 -- now, we just invalidate suffixes after rsync and delay rehashing until it's actually needed.

Changed in swift:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.