- 12 Apr, 2021 2 commits
-
-
Patrick Steinhardt authored
When accepting pushes, we will check whether pushes contain any new LFS pointers and, if so, verify that we've got the corresponding LFS object for each of the poniters in order to ensure consistency. Determining new LFS pointers is expensive though: we need to perform a complete graph walk in order to determine which blobs are new and which aren't. The integrity check's runtime thus scales with repository size and is frequently seen to take multiple seconds or even time out after 30 seconds. Results are that the push seems to be hanging for quite some time doing nothing, or that the push is refused altogether in the case of a timeout. We can do better though: instead of doing a graph walk, we can just inspect all pushed objects directly by enumerating all pushed objects. This is quite trivial to do: when git-receive-pack(1) receives a push, all pushed objects will be put into a quarantine directory which is then made available to git hooks via the GIT_OBJECT_DIRECTORY variable, where the real repository is stored in GIT_ALTERNATIVE_OBJECT_DIRECTORIES. Instead of doing the graph walk, we can just use git-cat-file(1) with the `--batch-all-objects` flag and the alternate object directories unset. The result is a direct enumeration of all pushed objects, which scales linearly with push size and not with repository size. Doing some benchmarks for gitlab-org/gitlab showed that these computations are around 100-200x faster than doing the graph walk, reducing the time from around 200ms to 2-4ms. This functionality has recently been implemented in Gitaly via the new `ListAllLFSPointers()` RPC: given a repository, it will simply list all reachable or unreachable objects. We can now use above semantics when a pre-receive hook environment is active and strip the repository's alternative object directory, which will as a result only list newly pushed objects.
-
Patrick Steinhardt authored
Gitaly has recently introduced two new RPCs `ListLFSPointers` and `ListAllLFSPointers` which are slated to replace the current RPCs `GetLFSPointers`, `GetNewLFSPointers` and `GetAllLFSPointers`. As a preparatory step to make use of the replacements, this commit updates the Gitaly Gem to v13.11.0.pre.rc1.
-
- 09 Apr, 2021 20 commits
-
-
Michael Kozono authored
Add a chaos endpoint that signals QUIT See merge request gitlab-org/gitlab!58755
-
Matthias Käppler authored
-
Kushal Pandya authored
Move to btn-confirm from btn-success in geo directory See merge request gitlab-org/gitlab!58031
-
Yogi authored
-
Dylan Griffith authored
Bypass min/max queries in usage data queries See merge request gitlab-org/gitlab!58006
-
Michael Kozono authored
Update CiCdSettingsUpdate mutation to accept MR pipelines and merge trains See merge request gitlab-org/gitlab!58592
-
Michael Leopard authored
-
Luke Duncalfe authored
Fix EmptyLineAfterFinalLetItBe offenses in spec/mailers See merge request gitlab-org/gitlab!58319
-
Huzaifa Iftikhar authored
-
Douglas Barbosa Alexandre authored
Update ruby-magic to v0.4.0 See merge request gitlab-org/gitlab!58947
-
Russell Dickenson authored
Fix yaml syntax for DAST_PATHS: example See merge request gitlab-org/gitlab!58944
-
Russell Dickenson authored
Move feature flag note See merge request gitlab-org/gitlab!58721
-
Mike Greiling authored
Update dependency core-js to ^3.10.1 See merge request gitlab-org/gitlab!58954
-
Suzanne Selhorn authored
Replace link to closed issue See merge request gitlab-org/gitlab!58733
-
James Fargher authored
Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/banzai See merge request gitlab-org/gitlab!58242
-
Marcel Amirault authored
Add Free tier badge to Predefined variables page See merge request gitlab-org/gitlab!58938
-
Simon Knox authored
Iteration board list requires additional feature flag to work See merge request gitlab-org/gitlab!58864
-
Eulyeon Ko authored
-
Suzanne Selhorn authored
Add permission note to runners.md See merge request gitlab-org/gitlab!57859
-
Cleveland Bledsoe Jr authored
-
- 08 Apr, 2021 18 commits
-
-
Mike Greiling authored
Update dependency webpack-bundle-analyzer to v4 See merge request gitlab-org/gitlab!58849
-
Douglas Barbosa Alexandre authored
Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/alert_management See merge request gitlab-org/gitlab!58244
-
Stan Hu authored
This update embeds the libmagic .tar.gz inside the Gem itself, increasing the relability of builds and reducing network costs for the download mirror. Changes: https://my.diffend.io/gems/ruby-magic/0.3.2/0.4.0Signed-off-by: Stan Hu <stanhu@gmail.com>
-
GitLab Renovate Bot authored
-
Mike Greiling authored
Update dependency @gitlab/ui to v29.2.1 See merge request gitlab-org/gitlab!58679
-
Greg Myers authored
-
Peter Leitzen authored
Fix RSpec/EmptyLineAfterFinalLetItBe for ee/spec/graphql/resolvers See merge request gitlab-org/gitlab!58389
-
Peter Leitzen authored
Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/checks See merge request gitlab-org/gitlab!58248
-
Nick Thomas authored
doc: Emphasize on the need for thorough review of changes from forks See merge request gitlab-org/gitlab!57987
-
Rémy Coutable authored
-
Craig Norris authored
Add Free tier badge to variables page.
-
Scott Hampton authored
Externalize strings in viewers/_empty.html.haml See merge request gitlab-org/gitlab!58451
-
Marvin Karegyeya authored
Use i18n to externalize a string we missed previously.
-
Mike Greiling authored
UI text - Settings - Jira integration See merge request gitlab-org/gitlab!57793
-
Russell Dickenson authored
-
Phil Hughes authored
Pass a pseudo Diff File from the notes app to the noteable discussion component See merge request gitlab-org/gitlab!58136
-
Thomas Randolph authored
-
Jose Ivan Vargas authored
Pipeline Graph: Add ability to switch between views See merge request gitlab-org/gitlab!58646
-