gitlab-org--gitlab-foss/app/models/concerns
Stan Hu 25818bd7ae Disable method replacement in avatar loading
We've seen a significant performance penalty when using
`BatchLoader#__replace_with!`. This defines methods on the batch loader
that proxy to the 'real' object using send. The alternative is
`method_missing`, which is slower.  However, we've noticed that
`method_missing` can be faster if:

1. The objects being loaded have a large interface.
2. We don't call too many methods on the loaded object.

Avatar uploads meet both criteria above, so let's use the newly-released
feature in https://github.com/exAspArk/batch-loader/pull/45.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/60903
2019-04-29 21:29:25 -07:00
..
ci Fix CI_COMMIT_REF_NAME and SLUG variable 2019-04-29 18:52:51 +07:00
mentionable
storage Upgrade Rails to 5.1.6.1 2019-04-23 08:31:23 +08:00
token_authenticatable_strategies Externalize strings in app/models 2019-04-12 12:28:07 +00:00
access_requestable.rb
artifact_migratable.rb Drop legacy artifacts usage 2019-04-04 16:19:43 +07:00
atomic_internal_id.rb Rewind IID on Ci::Pipelines 2019-04-16 11:22:23 +02:00
avatarable.rb Disable method replacement in avatar loading 2019-04-29 21:29:25 -07:00
awardable.rb
batch_destroy_dependent_associations.rb
blob_language_from_git_attributes.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
blob_like.rb
blocks_json_serialization.rb
bulk_member_access_load.rb
cache_markdown_field.rb Backport EE cache update 2019-04-24 16:50:16 +00:00
cacheable_attributes.rb
case_sensitivity.rb
chronic_duration_attribute.rb
closed_at_filterable.rb
created_at_filterable.rb
deployable.rb
deployment_platform.rb
deprecated_assignee.rb [CE] Support multiple assignees for merge requests 2019-04-08 18:40:00 -03:00
descendant.rb
diff_file.rb
diff_positionable_note.rb
discussion_on_diff.rb
each_batch.rb
editable.rb
enum_with_nil.rb
expirable.rb
fast_destroy_all.rb Merge branch 'fix-misspellings-app-comments' into 'master' 2019-02-26 12:25:01 +01:00
faster_cache_keys.rb
feature_gate.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
from_union.rb
ghost_user.rb
group_descendant.rb Externalize strings in app/models 2019-04-12 12:28:07 +00:00
has_ref.rb Fix CI_COMMIT_REF_NAME and SLUG variable 2019-04-29 18:52:51 +07:00
has_status.rb Add :preparing status to HasStatus 2019-03-20 11:48:31 +11:00
has_variable.rb Revert "Merge branch 'revert-8baf9e5f' into 'master'" 2019-02-27 12:52:53 +01:00
ignorable_column.rb Inherit from ApplicationRecord instead of ActiveRecord::Base 2019-03-28 16:18:23 +00:00
iid_routes.rb Merge branch 'fix-misspellings-app-comments' into 'master' 2019-02-26 12:25:01 +01:00
importable.rb
issuable.rb Aligned changes to Issuable with EE 2019-04-18 10:33:05 +02:00
issuable_states.rb Address review comments 2019-03-28 11:31:14 -03:00
label_eventable.rb
loaded_in_group_list.rb
manual_inverse_association.rb
maskable.rb Revert "Merge branch 'revert-8baf9e5f' into 'master'" 2019-02-27 12:52:53 +01:00
mentionable.rb
milestoneish.rb Display the correct number of MRs a user has access to 2019-03-05 15:15:22 +00:00
mirror_authentication.rb Adds the Rubocop ReturnNil cop 2019-03-06 17:51:56 +02:00
note_on_diff.rb
noteable.rb Set correct timestamps when creating past issues 2019-04-16 19:57:49 +08:00
optionally_search.rb
participable.rb Inherit from ApplicationRecord instead of ActiveRecord::Base 2019-03-28 16:18:23 +00:00
presentable.rb
project_features_compatibility.rb
project_services_loggable.rb
prometheus_adapter.rb Merge branch '59719-const-get' into 'master' 2019-04-05 14:33:11 +00:00
protected_branch_access.rb
protected_ref.rb
protected_ref_access.rb
protected_tag_access.rb
reactive_caching.rb Allow reactive caching to be used in services 2019-04-04 17:27:29 +00:00
reactive_service.rb
redactable.rb
redis_cacheable.rb
referable.rb
relative_positioning.rb
resolvable_discussion.rb
resolvable_note.rb
routable.rb
select_for_project_authorization.rb
sha_attribute.rb Inherit from ApplicationRecord instead of ActiveRecord::Base 2019-03-28 16:18:23 +00:00
shardable.rb
sortable.rb Extend CTE search optimisation to projects 2019-04-04 12:36:22 +01:00
spammable.rb
strip_attribute.rb Inherit from ApplicationRecord instead of ActiveRecord::Base 2019-03-28 16:18:23 +00:00
subscribable.rb
taskable.rb
throttled_touch.rb
time_trackable.rb
token_authenticatable.rb Update TokenAuthenticatable so methods can be overridden 2019-03-19 13:01:37 +08:00
triggerable_hooks.rb
uniquify.rb
update_project_statistics.rb Remove use of deprecated methods 2019-04-23 08:31:23 +08:00
updated_at_filterable.rb
valid_attribute.rb
with_uploads.rb