Skip to content
Snippets Groups Projects
  1. Sep 27, 2019
  2. Sep 23, 2019
  3. Sep 19, 2019
  4. Sep 18, 2019
  5. Sep 13, 2019
  6. 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
  7. Sep 03, 2019
  8. Aug 31, 2019
  9. Aug 29, 2019
  10. 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
  11. Aug 13, 2019
  12. 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
  13. Jul 23, 2019
  14. Jul 10, 2019
  15. 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
  16. Jul 05, 2019
  17. 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
  18. Jun 28, 2019
  19. Jun 03, 2019
  20. May 27, 2019
  21. May 16, 2019
  22. 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
  23. May 09, 2019
  24. May 02, 2019
    • Luke Duncalfe's avatar
      Add support for two-step Gitaly Rebase RPC · 49cb4b3d
      Luke Duncalfe authored and Douwe Maan's avatar Douwe Maan committed
      The new two-step Gitaly `Rebase` RPC yields the rebase commit SHA to the
      client before proceeding with the rebase.
      
      This avoids an issue where the rebase commit SHA was returned when the
      RPC had fully completed, and in some cases this would be after the Rails
      `post_receive` worker services had already run. In these situations,
      the merge request did not yet have its rebase_commit_sha attribute set
      introducing the possibility for bugs (such as previous approvals being
      reset).
      
      https://gitlab.com/gitlab-org/gitlab-ee/issues/5966
      49cb4b3d
  25. May 01, 2019
    • Sarah Yasonik's avatar
      Update metrics dashboard API to load yml from repo · 552a3d2f
      Sarah Yasonik authored
      Updates the EnvironmentController#metrics_dashboard endpoint
      to support a "dashboard" param, which can be used to specify
      the filepath of a dashboard configuration from a project
      repository. Dashboard configurations are expected to be
      stored in .gitlab/dashboards/.
      
      Updates dashboard post-processing steps to exclude custom
      metrics, which should only display on the system dashboard.
      552a3d2f
  26. Apr 29, 2019
  27. Apr 16, 2019
  28. Apr 11, 2019
  29. Apr 02, 2019
    • Patrick Bajao's avatar
      Download a folder from repository · 6766a0a1
      Patrick Bajao authored
      Add `GetArchiveRequest` to git-archive params.
      
      Modifies `Git::Repository#archive_metadata` to append `path`
      to `ArchivePrefix` so it'll not hit the cache of repository archive
      when it already exists.
      6766a0a1
  30. Mar 26, 2019
    • Bob Van Landuyt's avatar
      Allow multiple repositories per project · d36415b7
      Bob Van Landuyt authored
      This changes the repository type from a binary `wiki?` to a type. So
      we can have more than 2 repository types.
      
      Now everywhere we called `.wiki?` and expected a boolean, we check
      that type.
      d36415b7
  31. Mar 19, 2019
  32. Mar 18, 2019
  33. Mar 13, 2019
  34. Mar 12, 2019
  35. Mar 06, 2019
  36. Feb 25, 2019
    • Oswaldo Ferreir's avatar
      Support merge to ref for merge-commit and squash · 1ad69967
      Oswaldo Ferreir authored
      Adds the ground work for writing into
      the merge ref refs/merge-requests/:iid/merge the
      merge result between source and target branches of
      a MR, without further side-effects such as
      mailing, MR updates and target branch changes.
      1ad69967
  37. Feb 07, 2019
  38. Feb 06, 2019
Loading