gitlab-org--gitlab-foss/lib/gitlab
Stan Hu 4ee08fd1f7 Add back Rugged support for retrieving a commit tree entry
This brings back some of the changes in
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/20176/diffs.

We discovered another N+1 that hits Gitaly `TreeEntry` via the
`RelativeLinkFilter`:
https://gitlab.com/gitlab-org/gitlab-ce/issues/58657. When a blob is
loaded with many relative links, `TreeEntry` is called for each link to
scan the URI type.

There are multiple paths that hit Gitaly `TreeEntry`, and
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25706 did not
cover all cases. This commit covers another common use case.

For users using Gitaly on top of NFS, accessing the Git data directly
via Rugged may be faster than going through than Gitaly. This merge
request introduces the feature flag `rugged_commit_tree_entry` to
activate the Rugged method.
2019-03-08 16:01:59 -08:00
..
access
auth Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
background_migration Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
badge
bare_repository_import Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
bitbucket_import Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
bitbucket_server_import Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
cache
chat Move ChatOps to Core 2019-02-20 21:29:48 +00:00
checks Move empty_repo check on its own 2019-03-07 16:57:01 +08:00
ci Add Dependency Scanning vendored template for EE 2019-03-07 09:31:37 +00:00
cleanup
cluster
config
conflict
cross_project_access
cycle_analytics Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
danger Danger ignores gitlab.pot 2019-02-27 10:52:19 +00:00
data_builder Fix private user email being visible in tag webhooks 2019-01-31 16:51:18 +01:00
database Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
dependency_linker Raise not implemented error on BaseLinker for package_url 2019-02-25 10:22:13 -03:00
diff Merge branch 'expand-diff-to-full-file' into 'master' 2019-03-07 11:33:15 +00:00
discussions_diff
downtime_check
email Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
error_tracking Update Sentry client to get project list 2019-01-31 10:05:29 +00:00
etag_caching Improve the GitHub and Gitea import feature table interface 2019-02-13 00:15:57 +00:00
fogbugz_import Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
gfm
git Add back Rugged support for retrieving a commit tree entry 2019-03-08 16:01:59 -08:00
git_access_result
gitaly_client Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
github_import Protect against nil due_on value in imported data 2019-02-26 12:04:12 -08:00
gitlab_import
google_code_import
gpg Avoid race conditions when creating GpgSignature 2019-02-06 15:24:46 +01:00
grape_logging
graphql Improve GraphQL Authorization DSL 2019-02-26 10:22:12 +13:00
graphs
hashed_storage Added Rollbacker workers and support on the rake task 2019-03-01 15:49:20 +01:00
health_checks
hook_data
i18n Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
import Revert " Trigger iid logic from GitHub importer for merge requests." 2019-01-29 15:38:40 +01:00
import_export Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
kubernetes Merge branch '56937-edit-knative-domain' into 'master' 2019-03-07 12:43:34 +00:00
legacy_github_import Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
manifest_import
metrics Update Metrics references to Object path 2019-02-14 18:05:35 +00:00
middleware Log queue duration in production_json.log 2019-02-12 06:58:55 -08:00
patch Use correct integrity hash for sprockets caching 2019-02-08 13:14:39 +01:00
performance_bar
popen
profiler
project_authorizations
prometheus
query_limiting
quick_actions Show commands applied message when promoting issues 2019-03-04 09:21:47 +00:00
redis
request_profiler
sanitizers
search
serializer
sherlock
sidekiq_logging
sidekiq_middleware sidekiq: terminate child processes at shutdown 2019-03-04 09:06:41 -08:00
sidekiq_status
sidekiq_versioning
slash_commands Move ChatOps to Core 2019-02-20 21:29:48 +00:00
sql Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
template Add Dependency Scanning vendored template for EE 2019-03-07 09:31:37 +00:00
testing
tracing Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
utils Add cache to the 'compile-assets' and 'gitlab:assets:compile' jobs 2019-02-05 14:04:54 +01:00
verify
view/presenter
webpack
access.rb
action_rate_limiter.rb
allowable.rb
app_logger.rb
asciidoc.rb
audit_json_logger.rb
auth.rb Fix #44332 - Add support for profile and email 2019-02-06 16:48:36 +00:00
background_migration.rb Consume remaining MigrateApproverToApprovalRulesInBatch 2019-02-02 21:45:10 +08:00
base_doorkeeper_controller.rb
blame.rb
blob_helper.rb
branch_push_merge_commit_analyzer.rb
build_access.rb
changes_list.rb
chat.rb Move ChatOps to Core 2019-02-20 21:29:48 +00:00
chat_name_token.rb
ci_access.rb
closing_issue_extractor.rb
color_schemes.rb
config_helper.rb
content_disposition.rb Add Rails 6 deprecation error message 2019-02-05 04:47:40 -08:00
contributions_calendar.rb Eliminate most N+1 queries loading UserController#calendar_activities 2019-03-01 10:57:09 -08:00
contributor.rb
correlation_id.rb
cross_project_access.rb
crypto_helper.rb
current_settings.rb
daemon.rb
database.rb
dependency_linker.rb
downtime_check.rb
ee_compat_check.rb
emoji.rb
encoding_helper.rb
environment.rb
environment_logger.rb
exclusive_lease.rb
exclusive_lease_helpers.rb
fake_application_settings.rb
favicon.rb
file_detector.rb
file_finder.rb
file_markdown_link_builder.rb
file_type_detection.rb
git.rb
git_access.rb
git_access_wiki.rb
git_logger.rb
git_post_receive.rb
git_ref_validator.rb
gitaly_client.rb Merge branch 'jc-feature-flag-find-all-tags' into 'master' 2019-03-07 07:39:34 +00:00
github_import.rb
gl_id.rb
gl_repository.rb
gon_helper.rb Creates a function to check if repo is EE 2019-03-04 08:20:37 +00:00
gpg.rb
graphql.rb
highlight.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
http.rb
http_io.rb
i18n.rb
identifier.rb
import_export.rb
import_formatter.rb
import_sources.rb
incoming_email.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
insecure_key_fingerprint.rb
issuable_metadata.rb
issuable_sorter.rb
issuables_count_for_state.rb
issues_labels.rb
job_waiter.rb
json_cache.rb Mark cached value as persisted when is an instance of ActiveRecord::Base 2019-02-28 14:11:04 -03:00
json_logger.rb
kubernetes.rb
language_data.rb
language_detection.rb
lazy.rb
lfs_token.rb Include expires_in for LFS authentication payload 2019-02-15 09:29:52 +11:00
logger.rb
loop_helpers.rb
mail_room.rb
markup_helper.rb
metrics.rb
multi_collection_paginator.rb
namespace_sanitizer.rb
null_request_store.rb
object_hierarchy.rb
omniauth_initializer.rb
optimistic_locking.rb
other_markup.rb
otp_key_rotator.rb
pages.rb
pages_client.rb
pages_transfer.rb
path_regex.rb Fix slow project reference pattern regex 2019-01-31 16:51:16 +01:00
performance_bar.rb
plugin.rb
plugin_logger.rb
polling_interval.rb
popen.rb
private_commit_email.rb
profiler.rb
project_search_results.rb
project_service_logger.rb
project_template.rb Resolve "Project template for iOS" 2019-03-07 17:59:38 +00:00
project_transfer.rb
prometheus_client.rb
protocol_access.rb
proxy_http_connection_adapter.rb
query_limiting.rb
recaptcha.rb
reference_counter.rb
reference_extractor.rb
regex.rb
repo_path.rb
repository_cache.rb
repository_cache_adapter.rb
repository_check_logger.rb
request_context.rb
request_forgery_protection.rb
request_profiler.rb
route_map.rb
routing.rb
safe_request_store.rb
search_results.rb
seeder.rb
sentry.rb
setup_helper.rb
shard_health_cache.rb
shell.rb Prepare test suite for switch to Gitaly-embedded Git hooks 2019-02-27 10:58:21 +00:00
shell_adapter.rb
sherlock.rb
sidekiq_config.rb
sidekiq_logger.rb
sidekiq_signals.rb Fix Sidekiq process group killing 2019-03-07 12:37:59 +00:00
sidekiq_status.rb
sidekiq_versioning.rb
snippet_search_results.rb
ssh_public_key.rb
string_placeholder_replacer.rb
string_range_marker.rb
string_regex_marker.rb
task_helpers.rb Add cache to the 'compile-assets' and 'gitlab:assets:compile' jobs 2019-02-05 14:04:54 +01:00
tcp_checker.rb
template_helper.rb
temporarily_allow.rb
themes.rb
time_tracking_formatter.rb
timeless.rb
tracing.rb Switch back to using regexps in tracing_url_template 2019-02-22 14:47:37 +02:00
tree_summary.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
untrusted_regexp.rb
update_path_error.rb
uploads_transfer.rb
url_blocker.rb
url_builder.rb
url_sanitizer.rb
usage_data.rb Adding additional usage metrics for Release to weekly ping 2019-03-07 17:08:29 +00:00
user_access.rb Allow protected branch creation via web and API 2019-03-06 12:20:27 +00:00
user_extractor.rb
utils.rb
version_info.rb Revert the "What's new" feature 2019-01-29 20:45:47 +00:00
visibility_level.rb
web_ide_commits_counter.rb
wiki_file_finder.rb Remove BATCH_SIZE from WikiFileFinder 2019-02-06 13:22:35 +01:00
workhorse.rb