| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
than necessary
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving the check out of the general requests, makes sure we don't have
any slowdown in the regular requests.
To keep the process performing this checks small, the check is still
performed inside a unicorn. But that is called from a process running
on the same server.
Because the checks are now done outside normal request, we can have a
simpler failure strategy:
The check is now performed in the background every
`circuitbreaker_check_interval`. Failures are logged in redis. The
failures are reset when the check succeeds. Per check we will try
`circuitbreaker_access_retries` times within
`circuitbreaker_storage_timeout` seconds.
When the number of failures exceeds
`circuitbreaker_failure_count_threshold`, we will block access to the
storage.
After `failure_reset_time` of no checks, we will clear the stored
failures. This could happen when the process that performs the checks
is not running.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Rename GKE as Kubernetes Engine
Closes #40537
See merge request gitlab-org/gitlab-ce!15608
|
| | |
|
|\ \
| |/
|/|
| |
| | |
Add old files to uploads table
See merge request gitlab-org/gitlab-ce!15270
|
| |
| |
| |
| |
| |
| |
| |
| | |
Later migrations added fields to the EE DB which were used by factories which were used in these specs.
And in CE on MySQL, a single appearance row is enforced.
The migration and migration specs should not depend on the codebase staying the same.
|
| |
| |
| |
| |
| | |
* Hopefully fixes spec failures in which the table doesn’t exist
* Decouples the background migration from the post-deploy migration, e.g. we could easily run it again even though the table is dropped when finished.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This throttles the number of UPDATE queries that can be triggered by
calling "touch" on a Note, Issue, or MergeRequest. For Note objects we
also take care of updating the associated "noteable" relation in a
smarter way than Rails does by default.
|
|\ \
| | |
| | |
| | |
| | | |
Multiple artifacts
See merge request gitlab-org/gitlab-ce!14367
|
| |/ |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Extract class responsible for building a pipeline
Closes #38460
See merge request gitlab-org/gitlab-ce!14762
|
| |\
| | |
| | |
| | | |
* master: (1794 commits)
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Clean up Capybara configuration
Closes #40599
See merge request gitlab-org/gitlab-ce!15644
|
| | | |
|
| | |
| | |
| | |
| | | |
Platform::Kubernetes"
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Fix ProtectedBranch access level validations
See merge request gitlab-org/gitlab-ce!15586
|
| | |
| | |
| | |
| | |
| | |
| | | |
Previously these were duplicated so they could be different for push/merge,
but this was no longer necessary after
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11232
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix reply quote keyboard shortcut on MRs
Closes #40295
See merge request gitlab-org/gitlab-ce!15523
|
| | | |
| | | |
| | | |
| | | | |
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/40295
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
Improve output for extra queries in specs
See merge request gitlab-org/gitlab-ce!15537
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, this used `Array#-`, which would remove all queries that matches the
query text in the original set.
However, sometimes we have a problem with parameterised queries, where the query
text is identical both times, so we'd run a query N times instead of once, and
it would be hidden from the output.
Replace the logic to only remove a given query N times from the actual log,
where N is the number of times it appears in the expected log.
|
|/ / / |
|
|/ /
| |
| |
| | |
Adds a rubocop rule (with autocorrect) to ensure line break after guard clauses.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
into '10-1-stable'
Include X-Content-Type-Options (XCTO) header into API responses
See merge request gitlab/gitlabhq!2211
(cherry picked from commit 6c818e77f2abeef2dd7b17a269611b018701fa79)
e087e075 Include X-Content-Type-Options (XCTO) header into API responses
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Rewrite the GitHub importer to perform work in parallel and greatly improve performance
Closes #33135, #38621, and #39361
See merge request gitlab-org/gitlab-ce!14731
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prior to this MR there were two GitHub related importers:
* Github::Import: the main importer used for GitHub projects
* Gitlab::GithubImport: importer that's somewhat confusingly used for
importing Gitea projects (apparently they have a compatible API)
This MR renames the Gitea importer to Gitlab::LegacyGithubImport and
introduces a new GitHub importer in the Gitlab::GithubImport namespace.
This new GitHub importer uses Sidekiq for importing multiple resources
in parallel, though it also has the ability to import data sequentially
should this be necessary.
The new code is spread across the following directories:
* lib/gitlab/github_import: this directory contains most of the importer
code such as the classes used for importing resources.
* app/workers/gitlab/github_import: this directory contains the Sidekiq
workers, most of which simply use the code from the directory above.
* app/workers/concerns/gitlab/github_import: this directory provides a
few modules that are included in every GitHub importer worker.
== Stages
The import work is divided into separate stages, with each stage
importing a specific set of data. Stages will schedule the work that
needs to be performed, followed by scheduling a job for the
"AdvanceStageWorker" worker. This worker will periodically check if all
work is completed and schedule the next stage if this is the case. If
work is not yet completed this worker will reschedule itself.
Using this approach we don't have to block threads by calling `sleep()`,
as doing so for large projects could block the thread from doing any
work for many hours.
== Retrying Work
Workers will reschedule themselves whenever necessary. For example,
hitting the GitHub API's rate limit will result in jobs rescheduling
themselves. These jobs are not processed until the rate limit has been
reset.
== User Lookups
Part of the importing process involves looking up user details in the
GitHub API so we can map them to GitLab users. The old importer used
an in-memory cache, but this obviously doesn't work when the work is
spread across different threads.
The new importer uses a Redis cache and makes sure we only perform
API/database calls if absolutely necessary. Frequently used keys are
refreshed, and lookup misses are also cached; removing the need for
performing API/database calls if we know we don't have the data we're
looking for.
== Performance & Models
The new importer in various places uses raw INSERT statements (as
generated by `Gitlab::Database.bulk_insert`) instead of using Rails
models. This allows us to bypass any validations and callbacks,
drastically reducing the number of SQL queries and Gitaly RPC calls
necessary to import projects.
To ensure the code produces valid data the corresponding tests check if
the produced rows are valid according to the model validation rules.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Fix merge_request_spec
See merge request gitlab-org/gitlab-ce!15250
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that every job has a stage assigned
Closes #37979
See merge request gitlab-org/gitlab-ce!14724
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Support custom attributes on groups and projects
See merge request gitlab-org/gitlab-ce!14593
|
| | |/ / |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
name. Use ArgumentError
|
| |\ \ \
| | |/ / |
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* master: (33 commits)
Ignore SQL CACHE hits in Sherlock
Fix SQL timings for the performance bar
Find the LFS-objects for a fork within a the fork network
Remove bottom-border from last responsive table row
Add system hooks user_rename and group_rename
Unlink a project from a fork network when it's source was deleted.
Make sure the settings page renders when root of a fork is deleted
Remove Peek's original keyboard shortcut (numpad 0, keycode 96)
Add application setting to Auto DevOps docs
Enable MergeableSelector in scss-lint (for !14567)
Enable MergeableSelector in scss-lint (for !14055)
Enable MergeableSelector in scss-lint (for !14062)
Enable MergeableSelector in scss-lint (for !14398)
Enable MergeableSelector in scss-lint (for !13480)
Enable MergeableSelector in scss-lint (for !13473)
Enable MergeableSelector in scss-lint (for !13600)
Enable MergeableSelector in scss-lint
Resolve ""To do" should be "Todos" on Todos list page"
Avoid regenerating the ref path for the environment
Remove white space at bottom of issue boards
...
|