- 17 May, 2018 18 commits
-
-
Rémy Coutable authored
Fix: Use case in-sensitive ordering by name for groups See merge request gitlab-org/gitlab-ce!18553
-
Harish Ved authored
-
Robert Speicher authored
[CE] Resolve "Extract EE specific files/lines for some controllers" See merge request gitlab-org/gitlab-ce!18994
-
Grzegorz Bizon authored
Improve performance of Projects::PipelinesController#index See merge request gitlab-org/gitlab-ce!18427
-
Grzegorz Bizon authored
Resolve "NoMethodError: undefined method `present' for #<GenericCommitStatus:0x00007f6eacf34a40>" Closes #46177 See merge request gitlab-org/gitlab-ce!18979
-
Achilleas Pipinellis authored
Merge branch 'docs/46042-document-that-project-templates-can-be-used-with-auto-devops' into 'master' Resolve "Document that Project Templates can be used with Auto DevOps" Closes #46042 See merge request gitlab-org/gitlab-ce!19009
-
Mayra Cabrera authored
-
Fabio Busatto authored
-
Yorick Peterse authored
-
Yorick Peterse authored
When displaying a project's pipelines (Projects::PipelinesController#index) we now exclude the coverage data. This data was not used by the frontend, yet getting it would require one SQL query per pipeline. These queries in turn could be quite expensive on GitLab.com.
-
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.
-
Yorick Peterse authored
When displaying the project pipelines dashboard we display a few tabs for different pipeline states. For every such tab we count the number of pipelines that belong to it. For large projects such as GitLab CE this means having to count over 80 000 rows, which can easily take between 70 and 100 milliseconds per query. To improve this we apply a technique we already use for search results: we limit the number of rows to count. The current limit is 1000, which means that if more than 1000 rows are present for a state we will show "1000+" instead of the exact number. The SQL queries used for this perform much better than a regular COUNT, even when a project has a lot of pipelines. Prior to these changes we would end up running a query like this: SELECT COUNT(*) FROM ci_pipelines WHERE project_id = 13083 AND status IN ('success', 'failed', 'canceled') This would produce a plan along the lines of the following: Aggregate (cost=3147.55..3147.56 rows=1 width=8) (actual time=501.413..501.413 rows=1 loops=1) Buffers: shared hit=17116 read=861 dirtied=2 -> Index Only Scan using index_ci_pipelines_on_project_id_and_ref_and_status_and_id on ci_pipelines (cost=0.56..2984.14 rows=65364 width=0) (actual time=0.095..490.263 rows=80388 loops=1) Index Cond: (project_id = 13083) Filter: ((status)::text = ANY ('{success,failed,canceled}'::text[])) Rows Removed by Filter: 2894 Heap Fetches: 353 Buffers: shared hit=17116 read=861 dirtied=2 Planning time: 1.409 ms Execution time: 501.519 ms Using the LIMIT count technique we instead run the following query: SELECT COUNT(*) FROM ( SELECT 1 FROM ci_pipelines WHERE project_id = 13083 AND status IN ('success', 'failed', 'canceled') LIMIT 1001 ) for_count This query produces the following plan: Aggregate (cost=58.77..58.78 rows=1 width=8) (actual time=1.726..1.727 rows=1 loops=1) Buffers: shared hit=169 read=15 -> Limit (cost=0.56..46.25 rows=1001 width=4) (actual time=0.164..1.570 rows=1001 loops=1) Buffers: shared hit=169 read=15 -> Index Only Scan using index_ci_pipelines_on_project_id_and_ref_and_status_and_id on ci_pipelines (cost=0.56..2984.14 rows=65364 width=4) (actual time=0.162..1.426 rows=1001 loops=1) Index Cond: (project_id = 13083) Filter: ((status)::text = ANY ('{success,failed,canceled}'::text[])) Rows Removed by Filter: 9 Heap Fetches: 10 Buffers: shared hit=169 read=15 Planning time: 1.832 ms Execution time: 1.821 ms While this query still uses a Filter for the "status" field the number of rows that it may end up filtering (at most 1001) is small enough that an additional index does not appear to be necessary at this time. See https://gitlab.com/gitlab-org/gitlab-ce/issues/43132#note_68659234 for more information.
-
Douwe Maan authored
Resolve "Opening Project with invite but without accepting leads to 404 error page" Closes #42531 See merge request gitlab-org/gitlab-ce!17634
-
🙈 jacopo beschi 🙉 authored
-
Douwe Maan authored
CE: Add jobs to verify that migrating from CE to EE works See merge request gitlab-org/gitlab-ce!18909
-
Grzegorz Bizon authored
Workhorse to send raw diff and patch for commits Closes gitaly#1196 See merge request gitlab-org/gitlab-ce!18974
-
Phil Hughes authored
Remove unneccessary imports See merge request gitlab-org/gitlab-ce!18993
-
Phil Hughes authored
Add dot to separate system notes content Closes #45676 See merge request gitlab-org/gitlab-ce!18864
-
- 16 May, 2018 22 commits
-
-
Mayra Cabrera authored
Also moves the assertions were they belong
-
Kamil Trzciński authored
Delete remote uploads Closes #45425 See merge request gitlab-org/gitlab-ce!18698
-
Kamil Trzciński authored
API support + Improved policies for group runners Closes #45894 and #38979 See merge request gitlab-org/gitlab-ce!18851
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Annabel Dunstone Gray authored
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Mike Greiling authored
Fix contributors graph width Closes #22647 See merge request gitlab-org/gitlab-ce!18639
-
Yorick Peterse authored
Fix Error 500 viewing admin page due to statement timeouts Closes #46255 See merge request gitlab-org/gitlab-ce!18982
-
Clement Ho authored
fixed copy to cliboard button in embedded snippets Closes #46303 See merge request gitlab-org/gitlab-ce!18923
-
haseeb authored
-
Robert Speicher authored
Adjust board lists header text color Closes #36983 See merge request gitlab-org/gitlab-ce!18955
-
Stan Hu authored
Uses PostgreSQL tuple estimates to provide a much faster yet approximate count. See https://wiki.postgresql.org/wiki/Slow_Counting for more details. We only use this fast method if the table has been analyzed or vacuumed within the last hour. Closes #46255
-
Annabel Gray authored
Remove table-section from div holding cluster error messages See merge request gitlab-org/gitlab-ce!18971
-
Rémy Coutable authored
edit GitLab license info in regards to CC licensing See merge request gitlab-org/gitlab-ce!18981
-
Lin Jen-Shin authored
Never drop the database when granting privileges
-
Lin Jen-Shin authored
-
Tim Zallmann authored
Move discussion and notes actions to the right Closes #33645 See merge request gitlab-org/gitlab-ce!18476
-
Nick Thomas authored
Fix GitLab Performance Monitoring content types for Doorkeeper Closes #46412 See merge request gitlab-org/gitlab-ce!18984
-
Filipa Lacerda authored
Project Sidebar: Split CI/CD into CI/CD and Operations Closes #43673 See merge request gitlab-org/gitlab-ce!18941
-
Lukas Eipert authored
-
Douwe Maan authored
Move Gitlab::Git::Repository#add_branch to mandatory Closes gitaly#540 See merge request gitlab-org/gitlab-ce!18939
-