Temporary 404 while a large Pages site is deployed

Summary

During the deployment of a large Pages site, the site itself might not be available, resulting in 404.

This is how it currently works https://gitlab.com/gitlab-org/gitlab-ce/blob/e2e8c9ee98852b174a6389ecd3d3f731c2ff9df7/app/services/projects/update_pages_service.rb#L105-119.

  1. We move deployed public to previous public path (file removal is slow)
  2. We move temporary public to be deployed public
  3. We remove previous public path

Steps to reproduce

  1. Have a large Pages site deployed.
  2. Visit the page while pages:deploy is running.

Example Project

This happens quite often with https://docs.gitlab.com which includes all our documentation and is approximately 120MB.

What is the current bug behavior?

404 while Pages deployment

What is the expected correct behavior?

The deployment should be seamless

Edited Apr 03, 2019 by Achilleas Pipinellis
Assignee Loading
Time tracking Loading