Skip to content
Snippets Groups Projects
  1. Feb 13, 2020
  2. Feb 12, 2020
  3. Feb 11, 2020
  4. Feb 06, 2020
  5. Feb 05, 2020
  6. Feb 04, 2020
  7. Feb 03, 2020
  8. Feb 02, 2020
  9. Jan 28, 2020
  10. Jan 27, 2020
  11. Jan 20, 2020
  12. Jan 16, 2020
  13. Jan 07, 2020
  14. Dec 27, 2019
  15. Nov 29, 2019
  16. Nov 26, 2019
  17. Oct 06, 2019
  18. Sep 27, 2019
  19. Sep 23, 2019
  20. Sep 19, 2019
  21. Sep 18, 2019
  22. Sep 13, 2019
  23. Sep 10, 2019
    • Nick Thomas's avatar
      Don't use the redis set cache yet · 034f0340
      Nick Thomas authored
      For zero-downtime deployed in a mixed code environment between 12.2 and
      12.3, the branch and tag name cache is incorrectly invalidated - a push
      to an old machine will not clear the redis set version of the cache on
      the new machine.
      
      This commit ensures that, in 12.3, both set and non-set versions of the
      cache are invalidated, but does not write or consult the set version of
      the cache. . In 12.4, it will be safe to switch branch and tag names to
      the redis set cache both it and the legacy cache will be invalidated
      appropriately in such a mixed code environment.
      
      This delays the full implementation of the feature by one release, but
      in the absence of a credible feature-flagging strategy, and amidst an
      abundance of caution about the effects of too-eager cache expiration, I
      believe this is the best approach available to us.
      Verified
      034f0340
    • Nick Thomas's avatar
      Revert "Revert "Cache branch and tag names as Redis sets"" · 07323f44
      Nick Thomas authored
      This reverts commit c6ccc07f.
      Verified
      07323f44
  24. Sep 03, 2019
  25. Aug 31, 2019
  26. Aug 29, 2019
  27. Aug 16, 2019
    • Stan Hu's avatar
      Expire project caches once per push instead of once per ref · f14647fd
      Stan Hu authored and Douwe Maan's avatar Douwe Maan committed
      Previously `ProjectCacheWorker` would be scheduled once per ref, which
      would generate unnecessary I/O and load on Sidekiq, especially if many
      tags or branches were pushed at once. `ProjectCacheWorker` would expire
      three items:
      
      1. Repository size: This only needs to be updated once per push.
      2. Commit count: This only needs to be updated if the default branch
         is updated.
      3. Project method caches: This only needs to be updated if the default
         branch changes, but only if certain files change (e.g. README,
         CHANGELOG, etc.).
      
      Because the third item requires looking at the actual changes in the
      commit deltas, we schedule one `ProjectCacheWorker` to handle the first
      two cases, and schedule a separate `ProjectCacheWorker` for the third
      case if it is needed. As a result, this brings down the number of
      `ProjectCacheWorker` jobs from N to 2.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52046
      f14647fd
    • Nick Thomas's avatar
      Cache branch and tag names as Redis sets · 0eff75fa
      Nick Thomas authored
      This allows us to check inclusion for the *_exists? methods without
      downloading the full list of branch names, which is over 100KiB in size
      for gitlab-ce at the moment.
      Verified
      0eff75fa
  28. Aug 13, 2019
  29. Aug 09, 2019
    • Patrick Bajao's avatar
      Invalidate branches cache on PostReceive · d96c24d8
      Patrick Bajao authored
      Whenever `PostReceive` is enqueued, `UpdateMergeRequestsWorker`
      is enqueued and `MergeRequests::RefreshService` is called, it'll
      check if the source branch of each MR asssociated to the push exists
      or not via `MergeRequest#source_branch_exists?`. The said method will
      call `Repository#branch_exists?` which is cached in `Rails.cache`.
      
      When the cache contains outdated data and the source branch actually
      exists, the `MergeRequests#RefreshService` job will close associated
      MRs which is not correct.
      
      The fix is to expire the branches cache of the project so we have
      updated data during the post receive hook which will help in the
      accuracy of the check if we need to close associated MRs or not.
      d96c24d8
  30. Jul 23, 2019
  31. Jul 10, 2019
  32. Jul 08, 2019
    • Shinya Maeda's avatar
      Fix race condition on merge train ref generation · f8d6f732
      Shinya Maeda authored
      Today, Pipelines for merge train run on `refs/merge`,
      however, this causes a race condition that it can be
      overwritten by CheckMergeabilityService.
      
      This patch fixes the problem by generating `refs/train`
      for those pipelines.
      f8d6f732
  33. Jul 05, 2019
Loading