diff options
author | Erik Johnston <erik@matrix.org> | 2020-01-28 13:05:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-28 13:05:24 +0000 |
commit | bdbeeb94ecc8e99f1401174df220a38e130db164 (patch) | |
tree | 80d87cea462e3b296c5af57a4a941f41fbaa4bea | |
parent | Fixup changelog (diff) | |
download | synapse-bdbeeb94ecc8e99f1401174df220a38e130db164.tar.xz |
Fix setting `mau_limit_reserved_threepids` config (#6793)
Calling the invalidation function during initialisation of the data stores introduces a circular dependency, causing Synapse to fail to start.
-rw-r--r-- | changelog.d/6793.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/monthly_active_users.py | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/changelog.d/6793.bugfix b/changelog.d/6793.bugfix new file mode 100644 index 0000000000..564d4596ea --- /dev/null +++ b/changelog.d/6793.bugfix @@ -0,0 +1 @@ +Fix bug where setting `mau_limit_reserved_threepids` config would cause Synapse to refuse to start. diff --git a/synapse/storage/data_stores/main/monthly_active_users.py b/synapse/storage/data_stores/main/monthly_active_users.py index 89a41542a3..1507a14e09 100644 --- a/synapse/storage/data_stores/main/monthly_active_users.py +++ b/synapse/storage/data_stores/main/monthly_active_users.py @@ -121,7 +121,13 @@ class MonthlyActiveUsersStore(MonthlyActiveUsersWorkerStore): if user_id: is_support = self.is_support_user_txn(txn, user_id) if not is_support: - self.upsert_monthly_active_user_txn(txn, user_id) + # We do this manually here to avoid hitting #6791 + self.db.simple_upsert_txn( + txn, + table="monthly_active_users", + keyvalues={"user_id": user_id}, + values={"timestamp": int(self._clock.time_msec())}, + ) else: logger.warning("mau limit reserved threepid %s not found in db" % tp) |