Skip to content
Snippets Groups Projects
  1. Feb 04, 2020
  2. Feb 03, 2020
  3. Feb 02, 2020
  4. Jan 28, 2020
  5. Jan 27, 2020
  6. Jan 20, 2020
  7. Jan 16, 2020
  8. Jan 07, 2020
  9. Dec 27, 2019
  10. Nov 29, 2019
  11. Nov 26, 2019
  12. Oct 06, 2019
  13. Sep 27, 2019
  14. Sep 23, 2019
  15. Sep 19, 2019
  16. Sep 18, 2019
  17. Sep 13, 2019
  18. 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
  19. Sep 03, 2019
  20. Aug 31, 2019
  21. Aug 29, 2019
  22. 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
  23. Aug 13, 2019
  24. 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
  25. Jul 23, 2019
  26. Jul 10, 2019
  27. 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
  28. Jul 05, 2019
  29. Jul 03, 2019
    • John Cai's avatar
      Deprecate diverging commit count with max parameter · 2ceffce1
      John Cai authored
      In 12.0, we turned the feature flag on that effectively turned off the
      --max-count flag for the count diverging commits call. Since we have
      commit graphs turned on, this did not affect preformance negatively.
      Thus, we want to deprecate the call that passes --max-count
      2ceffce1
  30. Jun 28, 2019
  31. Jun 03, 2019
  32. May 27, 2019
  33. May 16, 2019
  34. May 14, 2019
    • John Cai's avatar
      Omit max-count for diverging_commit_counts behind feature flag · f86797b5
      John Cai authored
      We want to optimize the query for the CountDivergingCommits rpc by
      removing the --max-count argument now that we have commit graphs
      enabled for all repositories during housekeeping. However, we want to
      test this first behind a feature flag.
      f86797b5
Loading