diff options
author | Amber Brown <hawkowl@atleastfornow.net> | 2019-01-28 15:43:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-28 15:43:32 +0000 |
commit | 7072fe30846c47849c3cb142acef03ef3825a892 (patch) | |
tree | c8dcbbdd3752011871c1714c20f5264d60c81b68 /synapse/storage/monthly_active_users.py | |
parent | Merge pull request #4412 from matrix-org/anoa/dm_room_upgrade (diff) | |
download | synapse-7072fe30846c47849c3cb142acef03ef3825a892.tar.xz |
Fix UPSERTs on SQLite 3.24+ (#4477)
Diffstat (limited to 'synapse/storage/monthly_active_users.py')
-rw-r--r-- | synapse/storage/monthly_active_users.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/synapse/storage/monthly_active_users.py b/synapse/storage/monthly_active_users.py index d6fc8edd4c..9e7e09b8c1 100644 --- a/synapse/storage/monthly_active_users.py +++ b/synapse/storage/monthly_active_users.py @@ -197,15 +197,21 @@ class MonthlyActiveUsersStore(SQLBaseStore): if is_support: return - is_insert = yield self.runInteraction( + yield self.runInteraction( "upsert_monthly_active_user", self.upsert_monthly_active_user_txn, user_id ) - if is_insert: - self.user_last_seen_monthly_active.invalidate((user_id,)) + user_in_mau = self.user_last_seen_monthly_active.cache.get( + (user_id,), + None, + update_metrics=False + ) + if user_in_mau is None: self.get_monthly_active_count.invalidate(()) + self.user_last_seen_monthly_active.invalidate((user_id,)) + def upsert_monthly_active_user_txn(self, txn, user_id): """Updates or inserts monthly active user member |