Skip to content
Snippets Groups Projects
  1. Jul 26, 2018
  2. May 17, 2018
    • Yorick Peterse's avatar
      Preload pipeline data for project pipelines · 19428e80
      Yorick Peterse authored
      When displaying the pipelines of a project we now preload the following
      data:
      
      1. Authors of the commits that belong to these pipelines
      2. The number of warnings per pipeline, which is used by
         Ci::Pipeline#has_warnings?
      
      == Commit Authors
      
      Previously this data was queried for every Commit separately, leading to
      20 SQL queries being executed in the worst case. With an average of 3 to
      5 milliseconds per SQL query this could result in 100 milliseconds being
      spent in _just_ getting Commit authors.
      
      To preload this data Commit#author now uses BatchLoader (through
      Commit#lazy_author), and a separate module
      Gitlab::Ci::Pipeline::Preloader is used to ensure all authors are loaded
      before they are used.
      
      == Number of warnings
      
      This changes Ci::Pipeline#has_warnings? so it supports preloading of the
      number of warnings per pipeline. This removes the need for executing a
      COUNT(*) query for every pipeline just to see if it has any warnings or
      not.
      Unverified
      19428e80
  3. May 01, 2018
  4. Apr 29, 2018
    • blackst0ne's avatar
      [Rails5] Add `touch_later` to `Commit` model · 68c75bc0
      blackst0ne authored
      This commit fixes errors like:
      
      ```
      1) API::Todos GET /todos when unauthenticated returns authentication error
          Failure/Error: @raw.__send__(method, *args, &block) # rubocop:disable GitlabSecurity/PublicSend
      
          NoMethodError:
            undefined method `touch_later' for #<Gitlab::Git::Commit:0x00005573f5196270>
          # ./app/models/commit.rb:259:in `method_missing'
          # ./spec/requests/api/todos_spec.rb:12:in `block (2 levels) in <top (required)>'
      ```
      68c75bc0
  5. Apr 19, 2018
    • Stan Hu's avatar
      Fix N+1 queries when loading participants for a commit note · 775211bc
      Stan Hu authored
      We saw about 10,000 SQL queries for some commits in the NewNoteWorker,
      which stalled the Sidekiq queue for other new notes. The notification
      service took up to 8 minutes to process the commits. Avoiding this
      N+1 query brings the time down significantly.
      
      Closes #45526
      775211bc
  6. Apr 06, 2018
  7. Apr 04, 2018
  8. Mar 26, 2018
  9. Mar 06, 2018
  10. Mar 01, 2018
  11. Feb 16, 2018
    • Micael Bergeron's avatar
      stop ProcessCommitWorker from processing MR merge commit · eef63813
      Micael Bergeron authored
      When a merge request is merged, it creates a commit with the
      description of the MR, which may contain references and issue
      closing references. As this will be handled in the PostMergeService
      anyways, let's ignore merge commit generated from a MR.
      eef63813
  12. Feb 14, 2018
  13. Jan 15, 2018
  14. Jan 12, 2018
  15. Jan 04, 2018
  16. Dec 19, 2017
    • Zeger-Jan van de Weg's avatar
      Load commit in batches for pipelines#index · c6edae38
      Zeger-Jan van de Weg authored
      Uses `list_commits_by_oid` on the CommitService, to request the needed
      commits for pipelines. These commits are needed to display the user that
      created the commit and the commit title.
      
      This includes fixes for tests failing that depended on the commit
      being `nil`. However, now these are batch loaded, this doesn't happen
      anymore and the commits are an instance of BatchLoader.
      Unverified
      c6edae38
  17. Dec 13, 2017
    • Jacopo's avatar
      Adds ordering to projects contributors in API · 55f32208
      Jacopo authored
      Allows ordering in GET api/v4/projects/:project_id/repository/contributors
      through `order_by` and `sort` params.
      The available `order_by` options are: name|email|commits.
      The available `sort` options are: asc|desc.
      55f32208
  18. Dec 07, 2017
  19. Nov 23, 2017
  20. Nov 21, 2017
  21. Nov 16, 2017
  22. Nov 15, 2017
  23. Sep 25, 2017
  24. Sep 06, 2017
  25. Sep 05, 2017
  26. Aug 21, 2017
  27. Aug 17, 2017
  28. Aug 16, 2017
  29. Aug 15, 2017
  30. Aug 14, 2017
  31. Aug 10, 2017
  32. Aug 08, 2017
Loading