Page MenuHomePhabricator

Implement a replication strategy for Swift
Closed, ResolvedPublic

Description

Do we use affinity features with a global cluster or stick with swiftrepl? The later is too slow to be real-time...I guess SyncFileBackend could be used to (with a --locking flag added).

Current solution planned is:
a) Use multiwrite backend to both DCs (eqiad sync, codfw post-send and async)
b) Use local read affinity
c) Run swift-repl to repair any lost writes in the background (due to failures)

Event Timeline

aaron created this task.Mar 7 2015, 11:14 AM
aaron claimed this task.
aaron raised the priority of this task from to Normal.
aaron updated the task description. (Show Details)
aaron added subscribers: Krenair, PleaseStand, gerritbot and 3 others.
Krenair set Security to None.
bd808 removed a project: Epic.Mar 8 2015, 11:18 PM
mark added a subscriber: fgiunchedi.
mark added a subscriber: mark.

no affinity features at the moment, we run swiftrepl in an ad-hoc fashion, I looked into container replication and setup an initial trial but got stuck with some containers not replicating and never had a chance to look into why

Gilles added a subscriber: Gilles.Apr 2 2015, 12:24 PM

on the context of swift and multi region and what that entails, see also https://bugs.launchpad.net/swift/+bug/1462527

Restricted Application added a subscriber: Matanya. · View Herald TranscriptSep 21 2015, 12:30 AM
aaron renamed this task from Figure out a replication strategy for Swift to Implement a replication strategy for Swift.Jan 20 2016, 11:59 PM
aaron updated the task description. (Show Details)

Change 266609 had a related patch set uploaded (by Aaron Schulz):
Enable deferred writes to codfw swift cluster

https://gerrit.wikimedia.org/r/266609

Change 266609 merged by jenkins-bot:
Enable deferred writes to codfw swift cluster

https://gerrit.wikimedia.org/r/266609

Change 272611 had a related patch set uploaded (by Filippo Giunchedi):
Enable async secondary swift writes for non-"big" wikis

https://gerrit.wikimedia.org/r/272611

Change 272611 merged by jenkins-bot:
Enable async secondary swift writes for non-"big" wikis

https://gerrit.wikimedia.org/r/272611

Change 273561 had a related patch set uploaded (by Aaron Schulz):
Allow FSFile objects for src in FileBackend::do*Operations

https://gerrit.wikimedia.org/r/273561

tentative schedule to enable async replication on the remaining wikis (modulo resolution/writeup of https://phabricator.wikimedia.org/T128096)

Change 268080 had a related patch set uploaded (by Filippo Giunchedi):
swift: switch to codfw imagescalers

https://gerrit.wikimedia.org/r/268080

Change 273561 merged by jenkins-bot:
Allow FSFile objects for src in FileBackend::do*Operations

https://gerrit.wikimedia.org/r/273561

Change 274796 had a related patch set uploaded (by Aaron Schulz):
[WIP] Make UploadBase use TempFSFile to wrap the temporary file

https://gerrit.wikimedia.org/r/274796

Change 274796 merged by jenkins-bot:
Make UploadBase use TempFSFile to wrap the temporary file

https://gerrit.wikimedia.org/r/274796

aaron raised the priority of this task from Normal to High.Mar 17 2016, 10:57 PM

Change 268080 merged by Filippo Giunchedi:
swift: switch to codfw imagescalers

https://gerrit.wikimedia.org/r/268080

Restricted Application added a subscriber: TerraCodes. · View Herald TranscriptApr 19 2016, 2:26 PM