mirror of
https://github.com/element-hq/synapse
synced 2024-08-20 15:30:21 +00:00
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).
This commit is contained in:
parent
35129ac998
commit
edc6a1e4f9
2 changed files with 10 additions and 5 deletions
|
@ -576,16 +576,20 @@ class SyncHandler(object):
|
||||||
# We only delete messages when a new message comes in, but that's
|
# We only delete messages when a new message comes in, but that's
|
||||||
# fine so long as we delete them at some point.
|
# fine so long as we delete them at some point.
|
||||||
|
|
||||||
logger.debug("Deleting messages up to %d", since_stream_id)
|
deleted = yield self.store.delete_messages_for_device(
|
||||||
yield self.store.delete_messages_for_device(
|
|
||||||
user_id, device_id, since_stream_id
|
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(
|
messages, stream_id = yield self.store.get_new_messages_for_device(
|
||||||
user_id, device_id, since_stream_id, now_token.to_device_key
|
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(
|
sync_result_builder.now_token = now_token.copy_and_replace(
|
||||||
"to_device_key", stream_id
|
"to_device_key", stream_id
|
||||||
)
|
)
|
||||||
|
|
|
@ -242,7 +242,7 @@ class DeviceInboxStore(SQLBaseStore):
|
||||||
device_id(str): The recipient device_id.
|
device_id(str): The recipient device_id.
|
||||||
up_to_stream_id(int): Where to delete messages up to.
|
up_to_stream_id(int): Where to delete messages up to.
|
||||||
Returns:
|
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):
|
def delete_messages_for_device_txn(txn):
|
||||||
sql = (
|
sql = (
|
||||||
|
@ -251,6 +251,7 @@ class DeviceInboxStore(SQLBaseStore):
|
||||||
" AND stream_id <= ?"
|
" AND stream_id <= ?"
|
||||||
)
|
)
|
||||||
txn.execute(sql, (user_id, device_id, up_to_stream_id))
|
txn.execute(sql, (user_id, device_id, up_to_stream_id))
|
||||||
|
return txn.rowcount
|
||||||
|
|
||||||
return self.runInteraction(
|
return self.runInteraction(
|
||||||
"delete_messages_for_device", delete_messages_for_device_txn
|
"delete_messages_for_device", delete_messages_for_device_txn
|
||||||
|
|
Loading…
Reference in a new issue