Skip to content

Draft: Write-ahead log repository creations

Sami Hiltunen requested to merge smh-log-repo-creation into master

This commits implements write-ahead logging for repository creations. Repository creations need to be write-ahead logged as well. This is necessary for a few reasons:

  1. The repository creations need to be serialized with other writes to avoid bad interactions from concurrency. Gitaly is already serializing them by using lock files on the disk. However, as the TransactionManager is already serializing writes, it makes sense to converge on one approach. This way reads also don't go through before the repository is fully created, thus making creations atomic.
  2. The creations need to be logged so they can be backed up. This allows for the repository to be immediately backed up with WAL archival directly from creation.
  3. Logging the creations ensures they'll be replicated eventually as part of the log when Raft comes around.

Closes #5050 (closed)

Edited by Sami Hiltunen

Merge request reports