- 08 Oct, 2021 40 commits
-
-
Yorick Peterse authored
This adds support for using the database load balancer with multiple databases. Load balancing is applied to two classes: - ActiveRecord::Base - Ci::CiDatabaseRecord Each class has its own load balancer, configuration, service discovery, etc. Load balancing for the CI class is only enabled when a CI configuration exists, as it can reuse the main load balancer when there's no dedicated CI database. Sticking technically supports multiple databases, but in practise we apply the same sticking rules to all databases. This is due to how LoadBalancing::Session is used: there is only one instance per request/Sidekiq job, and it's not aware of what database connections did what. This means that a write to database A will result in GitLab sticking to the primaries of _all_ databases. The choice for this is simple: it requires fewer code changes, and allows us to introduce multiple database support in smaller increments. One change we made to sticking is to turn the Sticking module into a class, and attach an instance to every base module that has its own load balancer. This makes it easier to apply sticking on a per-database level in the future, without having to type `Gitlab::Database::LoadBalancing::Sticking...` every time. Sticking also supports reading and writing of data using the old Redis key names. This ensures sticking continues to work during a deployment, as during this window we'll run two different versions in production. Once the code has been deployed to GitLab.com and has been confirmed to work, we'll remove support for reading/writing the old keys. Sidekiq also supports load balancing multiple databases. If a load balancer/database doesn't have any WAL data in the Sidekiq job, we treat the database as being in sync. This way we can support Sidekiq jobs using both the old and new load balancing data. See https://gitlab.com/gitlab-org/gitlab/-/issues/331776 for more details. Changelog: added
-
Peter Leitzen authored
Fix misplaced secure product metrics definitions See merge request gitlab-org/gitlab!71799
-
Fiona Neill authored
Fix incorrect cycle time metric definition See merge request gitlab-org/gitlab!71733
-
Nick Post authored
-
Igor Drozdov authored
Upgrade to test-prof 1.0.7 See merge request gitlab-org/gitlab!71893
-
Kamil Trzciński authored
Remove feature flag disable_joins_upstream_downstream_projects See merge request gitlab-org/gitlab!71968
-
Vitali Tatarintev authored
Gracefully track errors raised by sending CI minutes notifications See merge request gitlab-org/gitlab!71815
-
Vitali Tatarintev authored
Use pessimistic locking when accessing Terraform state See merge request gitlab-org/gitlab!71873
-
Brandon Labuschagne authored
[VSA] Update cycle time UI text See merge request gitlab-org/gitlab!71823
-
Phil Hughes authored
Refactor browser per widget to extension See merge request gitlab-org/gitlab!71330
-
Jose Ivan Vargas authored
-
Arturo Herrero authored
Use prefix js- to class names See merge request gitlab-org/gitlab!71546
-
Fiona Neill authored
Split Snowplow docs' headers to make important content more accessible See merge request gitlab-org/gitlab!71608
-
Piotr Skorupa authored
-
Kushal Pandya authored
Fixes tooltip label for load performance in widget extension See merge request gitlab-org/gitlab!71942
-
Kushal Pandya authored
Merge branch '299509-improve-the-location-of-where-the-runner-registration-information-lives' into 'master' Remove redundant help text from runners See merge request gitlab-org/gitlab!71915
-
Max Woolf authored
Remove sync_namespace_name_with_cdot flag See merge request gitlab-org/gitlab!71763
-
Marcel Amirault authored
Doc Consistency: ci/variables See merge request gitlab-org/gitlab!69785
-
Niklas authored
-
Marcel Amirault authored
Doc Consistency: ci See merge request gitlab-org/gitlab!69787
-
Niklas authored
-
Marcel Amirault authored
Doc Consistency: ci/pipelines See merge request gitlab-org/gitlab!69779
-
Niklas authored
-
Andrejs Cunskis authored
Remove redundant includes in end to end tests See merge request gitlab-org/gitlab!69117
-
Nicolò Maria Mezzopera authored
Migrate milestone filter Bootstrap tabs to GlTabs See merge request gitlab-org/gitlab!71710
-
Nicolò Maria Mezzopera authored
Use account id as part of the namespace to init Zuora iframe See merge request gitlab-org/gitlab!71735
-
Angelo Gulina authored
-
Kushal Pandya authored
Rename utils/worker to tree_worker_utils See merge request gitlab-org/gitlab!63561
-
Kushal Pandya authored
Vue Shared - Dropdown Keyboard Navigation See merge request gitlab-org/gitlab!71206
-
Zack Cuddy authored
-
Ezekiel Kigbo authored
Add local time to user popover See merge request gitlab-org/gitlab!70806
-
Peter Hegman authored
-
Vitaly Slobodin authored
Fix mark snippet as spam button See merge request gitlab-org/gitlab!71070
-
David O'Regan authored
-
Albert Salim authored
Don't try to run database helpers as specs See merge request gitlab-org/gitlab!71929
-
Ezekiel Kigbo authored
Refactor: moving and renaming timeSummaryForPathNavigation See merge request gitlab-org/gitlab!71895
-
Rishabh Gupta authored
-
Dylan Griffith authored
Disable `Vulnerabilities::Finding` joins in `Ci::Pipeline` See merge request gitlab-org/gitlab!70216
-
David Kim authored
Return the correct project in job/allowed_agents API response See merge request gitlab-org/gitlab!71876
-
Stan Hu authored
Admin page to list user's credit card matches See merge request gitlab-org/gitlab!71533
-