Closed Bug 1089465 Opened 11 years ago Closed 10 years ago

[meta] Repository mirroring should only use `hg pull`

Categories

(Developer Services :: Mercurial: hg.mozilla.org, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: gps, Unassigned)

References

Details

(Keywords: meta, Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1328] )

Right now, the mirroring of Mercurial repositories has organically grown into something a bit complex and it has its share of cracks. For example, operations aren't atomic and protected by Mercurial's transaction semantics. We also have a problem of never-ending one-offs of data to transfer between server and client (e.g. repository description updates not propagating when local disk mirrors rolled out). The way things should work is that `hg pull` should do everything. It should pull down pushlog data, hgrc configs, etc. It should all be atomic and inside a Mercurial transaction. Somewhat related is that we shouldn't use rsync to seed mirrors. Instead, `hg clone` (which is effectively `hg init` + `hg pull`) should be the only thing that mirrors need to run to seed data. This bug will track that work.
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/594]
Depends on: 1089775
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/594] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1317] [kanban:engops:https://kanbanize.com/ctrl_board/6/594]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1317] [kanban:engops:https://kanbanize.com/ctrl_board/6/594] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1322] [kanban:engops:https://kanbanize.com/ctrl_board/6/594]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1322] [kanban:engops:https://kanbanize.com/ctrl_board/6/594] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1323] [kanban:engops:https://kanbanize.com/ctrl_board/6/594]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1323] [kanban:engops:https://kanbanize.com/ctrl_board/6/594] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1328] [kanban:engops:https://kanbanize.com/ctrl_board/6/594]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1328] [kanban:engops:https://kanbanize.com/ctrl_board/6/594] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1328]
As of yesterday, we now use `hg pull` for synchronizing pushlog data. This shaved up to a few seconds off pushes to repositories with large pushlog history.
Blocks: 1126153
Depends on: 1126165
This is addressed by the new replication system.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.