diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-12-15 18:13:58 +0000 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-12-15 18:16:10 +0000 |
commit | edc6a1e4f94db88b6d706758d5e1db2230f32a48 (patch) | |
tree | 6f863db7b87d3ecc28fa2cd9dc7b68350ce10b4b | |
parent | Merge pull request #1698 from matrix-org/erikj/room_list (diff) | |
download | synapse-edc6a1e4f94db88b6d706758d5e1db2230f32a48.tar.xz |
Add some logging for syncing to_device events
Attempt to track down the loss of to_device events (https://github.com/vector-im/riot-web/issues/2711 etc).
Diffstat (limited to '')
-rw-r--r-- | synapse/handlers/sync.py | 12 | ||||
-rw-r--r-- | synapse/storage/deviceinbox.py | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index b62773dcbe..c880f61685 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -576,16 +576,20 @@ class SyncHandler(object): # We only delete messages when a new message comes in, but that's # fine so long as we delete them at some point. - logger.debug("Deleting messages up to %d", since_stream_id) - yield self.store.delete_messages_for_device( + deleted = yield self.store.delete_messages_for_device( user_id, device_id, since_stream_id ) + logger.info("Deleted %d to-device messages up to %d", + deleted, since_stream_id) - logger.debug("Getting messages up to %d", now_token.to_device_key) messages, stream_id = yield self.store.get_new_messages_for_device( user_id, device_id, since_stream_id, now_token.to_device_key ) - logger.debug("Got messages up to %d: %r", stream_id, messages) + + logger.info( + "Returning %d to-device messages between %d and %d (current token: %d)", + len(messages), since_stream_id, stream_id, now_token.to_device_key + ) sync_result_builder.now_token = now_token.copy_and_replace( "to_device_key", stream_id ) diff --git a/synapse/storage/deviceinbox.py b/synapse/storage/deviceinbox.py index 87398d60bc..2821eb89c9 100644 --- a/synapse/storage/deviceinbox.py +++ b/synapse/storage/deviceinbox.py @@ -242,7 +242,7 @@ class DeviceInboxStore(SQLBaseStore): device_id(str): The recipient device_id. up_to_stream_id(int): Where to delete messages up to. Returns: - A deferred that resolves when the messages have been deleted. + A deferred that resolves to the number of messages deleted. """ def delete_messages_for_device_txn(txn): sql = ( @@ -251,6 +251,7 @@ class DeviceInboxStore(SQLBaseStore): " AND stream_id <= ?" ) txn.execute(sql, (user_id, device_id, up_to_stream_id)) + return txn.rowcount return self.runInteraction( "delete_messages_for_device", delete_messages_for_device_txn |