summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2019-11-26 13:58:39 +0000
committerGitHub <noreply@github.com>2019-11-26 13:58:39 +0000
commita8175d0f96d1fcb1f321045d620d5170c680e73a (patch)
tree58155cf8d3c50773f6cfccfcb2d142f640fdd65f
parentMerge pull request #6332 from matrix-org/erikj/query_devices_fix (diff)
parentMerge branch 'develop' of github.com:matrix-org/synapse into anoa/fix_account... (diff)
downloadsynapse-a8175d0f96d1fcb1f321045d620d5170c680e73a.tar.xz
Prevent account_data content from being sent over TCP replication (#6333)
-rw-r--r--changelog.d/6333.bugfix1
-rw-r--r--synapse/replication/tcp/streams/_base.py7
-rw-r--r--synapse/storage/data_stores/main/account_data.py6
3 files changed, 7 insertions, 7 deletions
diff --git a/changelog.d/6333.bugfix b/changelog.d/6333.bugfix
new file mode 100644

index 0000000000..a25d6ef3cb --- /dev/null +++ b/changelog.d/6333.bugfix
@@ -0,0 +1 @@ +Prevent account data syncs getting lost across TCP replication. \ No newline at end of file diff --git a/synapse/replication/tcp/streams/_base.py b/synapse/replication/tcp/streams/_base.py
index 9e45429d49..8512923eae 100644 --- a/synapse/replication/tcp/streams/_base.py +++ b/synapse/replication/tcp/streams/_base.py
@@ -88,8 +88,7 @@ TagAccountDataStreamRow = namedtuple( "TagAccountDataStreamRow", ("user_id", "room_id", "data") # str # str # dict ) AccountDataStreamRow = namedtuple( - "AccountDataStream", - ("user_id", "room_id", "data_type", "data"), # str # str # str # dict + "AccountDataStream", ("user_id", "room_id", "data_type") # str # str # str ) GroupsStreamRow = namedtuple( "GroupsStreamRow", @@ -421,8 +420,8 @@ class AccountDataStream(Stream): results = list(room_results) results.extend( - (stream_id, user_id, None, account_data_type, content) - for stream_id, user_id, account_data_type, content in global_results + (stream_id, user_id, None, account_data_type) + for stream_id, user_id, account_data_type in global_results ) return results diff --git a/synapse/storage/data_stores/main/account_data.py b/synapse/storage/data_stores/main/account_data.py
index 6afbfc0d74..22093484ed 100644 --- a/synapse/storage/data_stores/main/account_data.py +++ b/synapse/storage/data_stores/main/account_data.py
@@ -184,14 +184,14 @@ class AccountDataWorkerStore(SQLBaseStore): current_id(int): The position to fetch up to. Returns: A deferred pair of lists of tuples of stream_id int, user_id string, - room_id string, type string, and content string. + room_id string, and type string. """ if last_room_id == current_id and last_global_id == current_id: return defer.succeed(([], [])) def get_updated_account_data_txn(txn): sql = ( - "SELECT stream_id, user_id, account_data_type, content" + "SELECT stream_id, user_id, account_data_type" " FROM account_data WHERE ? < stream_id AND stream_id <= ?" " ORDER BY stream_id ASC LIMIT ?" ) @@ -199,7 +199,7 @@ class AccountDataWorkerStore(SQLBaseStore): global_results = txn.fetchall() sql = ( - "SELECT stream_id, user_id, room_id, account_data_type, content" + "SELECT stream_id, user_id, room_id, account_data_type" " FROM room_account_data WHERE ? < stream_id AND stream_id <= ?" " ORDER BY stream_id ASC LIMIT ?" )