diff options
author | Erik Johnston <erik@matrix.org> | 2020-01-31 14:04:15 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-31 14:04:15 +0000 |
commit | 83b0ea047b355ade44985af123f4807faa7892ab (patch) | |
tree | 4b91241b73ff63649bc0f402335415692f251f57 | |
parent | pass room_version into compute_event_signature (#6807) (diff) | |
download | synapse-83b0ea047b355ade44985af123f4807faa7892ab.tar.xz |
Fix deleting of stale marker for device lists (#6819)
We were in fact only deleting stale marker when we got an incremental update, rather than when we did a full resync.
-rw-r--r-- | changelog.d/6819.misc | 1 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/devices.py | 14 |
2 files changed, 8 insertions, 7 deletions
diff --git a/changelog.d/6819.misc b/changelog.d/6819.misc new file mode 100644 index 0000000000..4f9a4ac7a5 --- /dev/null +++ b/changelog.d/6819.misc @@ -0,0 +1 @@ +Detect unknown remote devices and mark cache as stale. diff --git a/synapse/storage/data_stores/main/devices.py b/synapse/storage/data_stores/main/devices.py index a34415ff14..ea0503476f 100644 --- a/synapse/storage/data_stores/main/devices.py +++ b/synapse/storage/data_stores/main/devices.py @@ -940,13 +940,6 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore): lock=False, ) - # If we're replacing the remote user's device list cache presumably - # we've done a full resync, so we remove the entry that says we need - # to resync - self.db.simple_delete_txn( - txn, table="device_lists_remote_resync", keyvalues={"user_id": user_id}, - ) - def update_remote_device_list_cache(self, user_id, devices, stream_id): """Replace the entire cache of the remote user's devices. @@ -1003,6 +996,13 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore): lock=False, ) + # If we're replacing the remote user's device list cache presumably + # we've done a full resync, so we remove the entry that says we need + # to resync + self.db.simple_delete_txn( + txn, table="device_lists_remote_resync", keyvalues={"user_id": user_id}, + ) + @defer.inlineCallbacks def add_device_change_to_streams(self, user_id, device_ids, hosts): """Persist that a user's devices have been updated, and which hosts |