Skip to content

[POC] to do oversized blob check in background

What does this MR do and why?

This MR is a POC to run the global file size check in the background.

If the check for the initial push times out we allow the push and create a worker to reattempt the file-size check in the background. If oversized blobs are found a new protected branch is created for the target branch, stopping further pushes to that branch. We store which blobs are over the file-size limit and the associated protected branch in new tables.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Pull the linux project from https://github.com/torvalds/linux.
  2. Create a new project on the GDK.
  3. Set the linux project remote to your new project.
  4. Add a large file to the project, over 100mb.
  5. Push to the GDK.
  6. Notice that the push is successful.
  7. After the background file size check runs, it should create a protected branch for the target branch.
  8. Notice the file which is over the filesize limit is stored in the OversizedBranchBlobs table.
  9. The protected branch is stored in the OversizedBranches table.

Related to #438245

Edited by Gavin Hinfey

Merge request reports

Loading