summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-06-03 17:06:54 +0100
committerErik Johnston <erik@matrix.org>2019-06-03 17:06:54 +0100
commitfa4b54aca57bebc94e2b763abdae79343a08f969 (patch)
tree9c0d121192280842390638c841c4ce2117acb841 /synapse/storage
parentMerge pull request #5307 from matrix-org/rav/server_keys/07-fix-notary-cache-... (diff)
downloadsynapse-fa4b54aca57bebc94e2b763abdae79343a08f969.tar.xz
Ignore room state with null bytes in for room stats
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/stats.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/storage/stats.py b/synapse/storage/stats.py

index 1c0b183a56..1f39ef211a 100644 --- a/synapse/storage/stats.py +++ b/synapse/storage/stats.py
@@ -328,6 +328,21 @@ class StatsStore(StateDeltasStore): room_id (str) fields (dict[str:Any]) """ + + # For whatever reason some of the fields may contain null bytes, which + # postgres isn't a fan of, so we replace those fields with null. + for col in ( + "join_rules", + "history_visibility", + "encryption", + "name", + "topic", + "avatar", + "canonical_alias" + ): + if "\0" in fields.get(col, ""): + fields[col] = None + return self._simple_upsert( table="room_state", keyvalues={"room_id": room_id},