- 07 Sep, 2017 40 commits
-
-
Yorick Peterse authored
Whenever you push to a branch GitLab will show a button to create a merge request (should one not exist already). The underlying code to display this data was quite inefficient. For example, it involved multiple slow queries just to figure out what the most recent push event was. This commit changes the way this data is retrieved so it's much faster. This is achieved by caching the ID of the last push event on every push, which is then retrieved when loading certain pages. Database queries are only executed if necessary and the cached data is removed automatically once a merge request has been created, or 2 hours after being stored. A trade-off of this approach is that we _only_ track the last event. Previously if you were to push to branch A and B then create a merge request for branch B we'd still show the widget for branch A. As of this commit this is no longer the case, instead we will only show the widget for the branch you pushed to most recently. Once a merge request exists the widget is no longer displayed. Alternative solutions are either too complex and/or too slow, hence the decision was made to settle for this trade-off. Performance Impact ------------------ In the best case scenario (= a user didn't push anything for more than 2 hours) we perform a single Redis GET per page. Should there be cached data we will run a single (and lightweight) SQL query to get the event data from the database. If a merge request already exists we will run an additional DEL to remove the cache key. The difference in response timings can vary a bit per project. On GitLab.com the 99th percentile of time spent in User#recent_push hovers between 100 milliseconds and 1 second, while the mean hovers around 50 milliseconds. With the changes in this MR the expected time spent in User#recent_push is expected to be reduced down to just a few milliseconds. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/35990
-
Douwe Maan authored
Merge branch '30473-allow-creation-of-subgroups-with-gitlab_default_can_create_group-set-to-false' into 'master' Make Members with Owner and Master roles always able to create subgroups Closes #30473 See merge request !14046
-
Kamil Trzciński authored
Add Auto DevOps docs Closes #37051 See merge request !14031
-
Achilleas Pipinellis authored
-
Kamil Trzciński authored
Update rails template to include postgres Closes #37156 See merge request !14120
-
Douwe Maan authored
Merge branch '35558-only-one-garbage-collection-should-be-running-per-project-at-once' into 'master' Adds exclusive lease to Git garbage collect worker. Closes #35558 See merge request !14036
-
Ruben Davila authored
-
Rémy Coutable authored
Resolve RuboCop violations in scripts/trigger-build-docs See merge request !14118
-
Clement Ho authored
Restore droplab item style for keyboard navigation Closes #37218 See merge request !13921
-
Douwe Maan authored
Improve "Share with group lock" feature for subgroups Closes #30550 See merge request !13944
-
Phil Hughes authored
Resolve "Make project and features visibility settings less confusing" Closes #32665 See merge request !14062
-
Mike Greiling authored
-
Kamil Trzciński authored
Resolve "Banner to enable Auto DevOps at project level" Closes #37158 See merge request !13991
-
Achilleas Pipinellis authored
Update docs for confidential issues Closes #36352 See merge request !14117
-
Clement Ho authored
-
Zeger-Jan van de Weg authored
-
Tiago Botelho authored
-
Sean McGivern authored
Add JSON logger in `log/api_json.log` for Grape API endpoints Closes #36189 See merge request !14102
-
Rémy Coutable authored
Gitaly feature toggles are on by default in development environments Closes gitaly#485 See merge request !13802
-
Andrew Newdigate authored
-
Douwe Maan authored
Fix a wrong `X-Gitlab-Event` header when testing webhooks Closes #37288 See merge request !14108
-
Kamil Trzciński authored
Implement the implied CI/CD config for AutoDevOps Closes #34777 See merge request !13923
-
Robert Speicher authored
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Michael Kozono authored
-
Rémy Coutable authored
Decrease Cyclomatic Complexity threshold to 14 See merge request !13972
-
Douwe Maan authored
Removes default scope from sortable Closes #23079 See merge request !13558
-
Tim Zallmann authored
Change strings for projects dropdown placeholder and error state Closes #37513 See merge request !14079
-
Kamil Trzcinski authored
-
Annabel Dunstone Gray authored
Make blob viewer wider for mobile Closes #37368 See merge request !14011
-
Sean McGivern authored
Add option to change navigation color palette Closes #35012 See merge request !13619
-
Annabel Dunstone Gray authored
Make dropdown menus on navigation to use full viewport width See merge request !14086
-
Kushal Pandya authored
-
Rémy Coutable authored
Add script and job to trigger a docs build See merge request !13954
-
Achilleas Pipinellis authored
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Sean McGivern authored
Finish migration to the new events setup Closes #37241 See merge request !13932
-
Tim Zallmann authored
Fix alignment for Skip to content action Closes #37530 See merge request !14101
-
Yorick Peterse authored
Update schema.rb from db:migrate and fix invalid index check See merge request !14107
-