diff options
author | Toon Claes <toon@gitlab.com> | 2017-05-02 22:52:14 +0200 |
---|---|---|
committer | Toon Claes <toon@gitlab.com> | 2017-05-08 08:48:38 +0200 |
commit | 6a915d6f2d462a376d8cecc062dd58e520339b5e (patch) | |
tree | f1c27077f36a5505c24686d8ba7a8c83f49e9a36 /changelogs/unreleased | |
parent | 8b9cd3c072768ca810d2b33009e35d93a05e417f (diff) | |
download | gitlab-ce-6a915d6f2d462a376d8cecc062dd58e520339b5e.tar.gz |
Limit `update_tracked_fields` to write to database once/hour
Every time a user logs in or out, the Trackable attributes are written to the
database. This is causing a lot of load on the database, for data that isn't
really critical.
So to avoid the database being hammered, add a Gitlab::ExclusiveLease before
writing trackable attributes to the database. This lease expires after an hour,
so only when the attributes were written more than an hour ago, they can be
written again. Otherwise they are ignored.
Diffstat (limited to 'changelogs/unreleased')
-rw-r--r-- | changelogs/unreleased/tc-cache-trackable-attributes.yml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/changelogs/unreleased/tc-cache-trackable-attributes.yml b/changelogs/unreleased/tc-cache-trackable-attributes.yml new file mode 100644 index 00000000000..4a2cf50893a --- /dev/null +++ b/changelogs/unreleased/tc-cache-trackable-attributes.yml @@ -0,0 +1,4 @@ +--- +title: "Limit User's trackable attributes, like `current_sign_in_at`, to update at most once/hour" +merge_request: 11053 +author: |