summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/6793.bugfix1
-rw-r--r--synapse/storage/data_stores/main/monthly_active_users.py8
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)