| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This optimises searching for users when using queries consisting out of
one or two characters such as "ab". We optimise such cases by searching
for `LOWER(name)` and `LOWER(username)` instead of using `ILIKE`. Using
`LOWER` produces a _much_ better performing query.
For example, when searching for all users matching the term "a" we'd
produce the following plan:
Limit (cost=637.69..637.74 rows=20 width=805) (actual time=41.983..41.995 rows=20 loops=1)
Buffers: shared hit=8330
-> Sort (cost=637.69..638.61 rows=368 width=805) (actual time=41.982..41.990 rows=20 loops=1)
Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name
Sort Method: top-N heapsort Memory: 35kB
Buffers: shared hit=8330
-> Bitmap Heap Scan on users (cost=75.47..627.89 rows=368 width=805) (actual time=9.452..41.305 rows=277 loops=1)
Recheck Cond: (((name)::text ~~* 'a'::text) OR ((username)::text ~~* 'a'::text) OR ((email)::text = 'a'::text))
Rows Removed by Index Recheck: 7601
Heap Blocks: exact=7636
Buffers: shared hit=8327
-> BitmapOr (cost=75.47..75.47 rows=368 width=0) (actual time=8.290..8.290 rows=0 loops=1)
Buffers: shared hit=691
-> Bitmap Index Scan on index_users_on_name_trigram (cost=0.00..38.85 rows=180 width=0) (actual time=4.369..4.369 rows=4071 loops=1)
Index Cond: ((name)::text ~~* 'a'::text)
Buffers: shared hit=360
-> Bitmap Index Scan on index_users_on_username_trigram (cost=0.00..34.41 rows=188 width=0) (actual time=3.896..3.896 rows=4140 loops=1)
Index Cond: ((username)::text ~~* 'a'::text)
Buffers: shared hit=328
-> Bitmap Index Scan on users_email_key (cost=0.00..1.94 rows=1 width=0) (actual time=0.022..0.022 rows=0 loops=1)
Index Cond: ((email)::text = 'a'::text)
Buffers: shared hit=3
Planning time: 3.912 ms
Execution time: 42.171 ms
With the changes in this commit we now produce the following plan
instead:
Limit (cost=13257.48..13257.53 rows=20 width=805) (actual time=1.567..1.579 rows=20 loops=1)
Buffers: shared hit=287
-> Sort (cost=13257.48..13280.93 rows=9379 width=805) (actual time=1.567..1.572 rows=20 loops=1)
Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name
Sort Method: top-N heapsort Memory: 35kB
Buffers: shared hit=287
-> Bitmap Heap Scan on users (cost=135.66..13007.91 rows=9379 width=805) (actual time=0.194..1.107 rows=277 loops=1)
Recheck Cond: ((lower((name)::text) = 'a'::text) OR (lower((username)::text) = 'a'::text) OR ((email)::text = 'a'::text))
Heap Blocks: exact=277
Buffers: shared hit=287
-> BitmapOr (cost=135.66..135.66 rows=9379 width=0) (actual time=0.152..0.152 rows=0 loops=1)
Buffers: shared hit=10
-> Bitmap Index Scan on yorick_test_users (cost=0.00..124.75 rows=9377 width=0) (actual time=0.101..0.101 rows=277 loops=1)
Index Cond: (lower((name)::text) = 'a'::text)
Buffers: shared hit=4
-> Bitmap Index Scan on index_on_users_lower_username (cost=0.00..1.94 rows=1 width=0) (actual time=0.035..0.035 rows=1 loops=1)
Index Cond: (lower((username)::text) = 'a'::text)
Buffers: shared hit=3
-> Bitmap Index Scan on users_email_key (cost=0.00..1.94 rows=1 width=0) (actual time=0.014..0.014 rows=0 loops=1)
Index Cond: ((email)::text = 'a'::text)
Buffers: shared hit=3
Planning time: 0.303 ms
Execution time: 1.687 ms
Here we can see the new query is 25 times faster compared to the old
query.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
'master'
Resolve "ActionView::Template::Error: 366..524 out of range"
Closes #42332
See merge request gitlab-org/gitlab-ce!17262
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rugged sometimes chops a context line in between bytes, resulting in the context
line having an invalid encoding: https://github.com/libgit2/rugged/issues/716
When that happens, we will try to detect the encoding for the diff, and
sometimes we'll get it wrong. If that difference in encoding results in a
difference in string lengths between the diff and the underlying blobs, we'd
fail to highlight any inline diffs, and return a 500 status to the user.
As we're using the underlying blobs, the encoding is 'correct' anyway, so if the
string range is invalid, we can just discard the inline diff highlighting. We
still report to Sentry to ensure that we can investigate further in future.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Fix squash with renamed files
Closes gitlab-ee#4975
See merge request gitlab-org/gitlab-ce!17216
|
| | |
| | |
| | |
| | |
| | | |
We need to ignore the names for renamed files when configuring with sparse
checkout.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Allow branchnames to be named the same as the commit it points to
See merge request gitlab-org/gitlab-ce!17231
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds a test where a branch name is also a valid commit id. Git, the
binary should create an error message which is difficult to parse and
leading to errors later, as seen in: gitlab-org/gitlab-ce#43222
To catch these cases in the future,
gitlab-test@1942eed5cc108b19c7405106e81fa96125d0be22 was created. Which
a branch name matching the commit
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
[CE] Incorporate Gitaly's RepositoryService.IsSquashInProgress RPC
See merge request gitlab-org/gitlab-ce!17002
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Improve background migration specs
See merge request gitlab-org/gitlab-ce!17162
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
And move UntrackedFile into PopulateUntrackedUploadsDependencies, and move its spec into its own file.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Specifically, `PopulateUntrackedUploads` and its spec.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Resolve "[Gem Update] update toml-rb to 1.0.0"
Closes #36847
See merge request gitlab-org/gitlab-ce!17259
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
36847 - add changelog
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Guard against nil Sidekiq metrics server
Closes #41351
See merge request gitlab-org/gitlab-ce!17254
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Closes #41351
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix for sidekiq metrics set cardinality growing unbounded
Closes #43424
See merge request gitlab-org/gitlab-ce!17235
|
| | | | | |
|
| |/ / / |
|
| | | | |
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
Avoid slow File Lock checks when not used
Closes #43339
See merge request gitlab-org/gitlab-ce!17140
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Also avoid double commit lookup during file lock check by reusing
memoized commits.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Resolve "Double closing system notes when closing issue with Merge Request"
Closes #32546 and #32564
See merge request gitlab-org/gitlab-ce!17035
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The tracking issue if this causes problems is
https://gitlab.com/gitlab-org/gitaly/issues/1028
|
| | | | |
| | | | |
| | | | |
| | | | | |
# modified: lib/gitlab/git/commit.rb
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fix squash rebase not working when diff contained encoded data
Closes gitlab-ee#4960
See merge request gitlab-org/gitlab-ce!17205
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the applied diff contains UTF-8 or some other encoded data, the diff
returned back from the git process may be in ASCII-8BIT format. Writing this
data to stdin may fail if the data because stdin expects this data to be in
UTF-8. By switching the output to binmode, we ensure that the diff will
always be written as-is.
Closes gitlab-org/gitlab-ee#4960
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fix Error 500 when viewing a commit with a GPG signature in Geo
Closes gitlab-ee#4825
See merge request gitlab-org/gitlab-ce!17207
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Closes gitlab-org/gitlab-ee#4825
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
into 'master'
Sanitize extra blank spaces used when uploading a SSH key
Closes #40552
See merge request gitlab-org/gitlab-ce!17138
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
'rd-43185-revert-sanitize-extra-blank-spaces-used-when-uploading-a-ssh-key' into 'master'"
This reverts commit e607fd796657afd214b8f25201919d3e33b3f35f.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Set Asciidoctor outfilesuffix to default .adoc
Closes #43192 and #17602
See merge request gitlab-org/gitlab-ce!17125
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Without setting outfilesuffix Asciidoctor defaults to .html. When .html is used,
inter-document cross references do not work in Gitlab's repository / file renderer.
See more information from
http://asciidoctor.org/docs/user-manual/#navigating-between-source-files
and
http://asciidoctor.org/docs/user-manual/#inter-document-cross-references
|
| |_|/ /
|/| | |
| | | |
| | | | |
a user
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Only check LFS integrity for first branch in push
Closes #41141
See merge request gitlab-org/gitlab-ce!17098
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
'39885-ensure-users-cannot-create-environments-with-leading-slashes' into 'master'
Resolve "Environment with starting slash in name causes error"
Closes #39885
See merge request gitlab-org/gitlab-ce!17071
|
| | | |
| | | |
| | | |
| | | | |
(Fixes #39885)
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Resolve "Build Is Red: Admin > Users > Impersonation Tokens token creation allows creation of a token"
Closes gitlab-ee#4914
See merge request gitlab-org/gitlab-ce!17102
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
And use :migration tag to use deletion strategy, and to avoid caching tables, and to lock into a particular schema.
Attempting to fix intermittent spec errors `PG::UndefinedTable: ERROR: relation "public.untracked_files_for_uploads" does not exist`.
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Respect description and visibility when creating project from template
Closes #42601
See merge request gitlab-org/gitlab-ce!16820
|
| |/ / / |
|