Skip to content
Snippets Groups Projects
  1. Mar 12, 2020
  2. Mar 05, 2020
  3. Feb 27, 2020
  4. Feb 26, 2020
  5. Feb 16, 2020
  6. Feb 13, 2020
  7. Feb 12, 2020
  8. Feb 11, 2020
  9. Feb 06, 2020
  10. Feb 05, 2020
  11. Feb 04, 2020
  12. Feb 03, 2020
  13. Feb 02, 2020
  14. Jan 28, 2020
  15. Jan 27, 2020
  16. Jan 20, 2020
  17. Jan 16, 2020
  18. Jan 07, 2020
  19. Dec 27, 2019
  20. Nov 29, 2019
  21. Nov 26, 2019
  22. Oct 06, 2019
  23. Sep 27, 2019
  24. Sep 23, 2019
  25. Sep 19, 2019
  26. Sep 18, 2019
  27. Sep 13, 2019
  28. 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
  29. Sep 03, 2019
  30. Aug 31, 2019
  31. Aug 29, 2019
  32. 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
  33. Aug 13, 2019
Loading