| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/40825
|
|\
| |
| |
| |
| | |
CE backport of "ProtectedBranches API handles per user/group granularity"
See merge request gitlab-org/gitlab-ce!15747
|
| |
| |
| |
| |
| | |
In EE we now allow individual users/groups to be set on POST, which required some refactoring.
See https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3516
|
| | |
|
|\ \
| |/
|/|
| |
| | |
Multiple artifacts
See merge request gitlab-org/gitlab-ce!14367
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Two things at ones, as there was no clean way to seperate the commit and
give me feedback from the tests.
But the model Artifact is now JobArtifact, and the table does not have a
type anymore, but the metadata is now its own model:
Ci::JobArtifactMetadata.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To allow jobs/builds to have multiple artifacts, and to start seperating
concerns from Ci::Build a new model is created: Ci::Artifact.
Changes include the updating of the ArtifactUploader to adapt to a
slightly different interface. The uploader expects to be initialized
with a `Ci::Build`.
Futher a migration with the minimal fields, the needed foreign keys and
an index.
Last, the way this works is by prepending a module to Ci::Build so we
can basically override behaviour but if needed use `super` to get the
original behaviour.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Optimize API /groups/:id/projects by preloading assocations
Closes #40308
See merge request gitlab-org/gitlab-ce!15475
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
ForkedProjectLinks to ForkNetworkMember
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
| |
| |
| | |
Closes #40308
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
SSHUploadPack over Gitaly is now OptOut
Closes gitaly#730
See merge request gitlab-org/gitlab-ce!15623
|
| |
| |
| |
| | |
- Better gitaly-handling in /api/internal/allowed specs
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Add new API endpoint - list jobs of a specified runner
Closes #39699
See merge request gitlab-org/gitlab-ce!15432
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Add new API endpoint - get a namespace by ID
Closes #40254
See merge request gitlab-org/gitlab-ce!15442
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | |
| | |
| | | |
Fix ProtectedBranch access level validations
See merge request gitlab-org/gitlab-ce!15586
|
| | |
| | |
| | |
| | |
| | | |
Before an access_level was required in EE even when an
it had been set for a user/group.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Renamed ProtectedBranches::ApiUpdateService to LegacyApiUpdateService
See merge request gitlab-org/gitlab-ce!15575
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move identical merged branch check to merged_branch_names
Closes #39887
See merge request gitlab-org/gitlab-ce!15464
|
| |/ / |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Use foreign key to get latest MR diff
Closes #37631
See merge request gitlab-org/gitlab-ce!15126
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Compared to the merge_request_diff association:
1. It's simpler to query. The query uses a foreign key to the
merge_request_diffs table, so no ordering is necessary.
2. It's faster for preloading. The merge_request_diff association has to load
every diff for the MRs in the set, then discard all but the most recent for
each. This association means that Rails can just query for N diffs from N
MRs.
3. It's more complicated to update. This is a bidirectional foreign key, so we
need to update two tables when adding a diff record. This also means we need
to handle this as a special case when importing a GitLab project.
There is some juggling with this association in the merge request model:
* `MergeRequest#latest_merge_request_diff` is _always_ the latest diff.
* `MergeRequest#merge_request_diff` reuses
`MergeRequest#latest_merge_request_diff` unless:
* Arguments are passed. These are typically to force-reload the association.
* It doesn't exist. That means we might be trying to implicitly create a
diff. This only seems to happen in specs.
* The association is already loaded. This is important for the reasons
explained in the comment, which I'll reiterate here: if we a) load a
non-latest diff, then b) get its `merge_request`, then c) get that MR's
`merge_request_diff`, we should get the diff we loaded in c), even though
that's not the latest diff.
Basically, `MergeRequest#merge_request_diff` is the latest diff in most cases,
but not quite all.
|