Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Ensure we store pusher data as text (#9117)
Browse files Browse the repository at this point in the history
I don't think there's any need to use canonicaljson here.

Fixes: #4475.
  • Loading branch information
richvdh authored Jan 15, 2021
1 parent 9de6b94 commit 2de7e26
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
1 change: 1 addition & 0 deletions changelog.d/9117.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix corruption of `pushers` data when a postgres bouncer is used.
5 changes: 2 additions & 3 deletions synapse/storage/databases/main/pusher.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@
import logging
from typing import TYPE_CHECKING, Any, Dict, Iterable, Iterator, List, Optional, Tuple

from canonicaljson import encode_canonical_json

from synapse.push import PusherConfig, ThrottleParams
from synapse.storage._base import SQLBaseStore, db_to_json
from synapse.storage.database import DatabasePool
from synapse.storage.types import Connection
from synapse.storage.util.id_generators import StreamIdGenerator
from synapse.types import JsonDict
from synapse.util import json_encoder
from synapse.util.caches.descriptors import cached, cachedList

if TYPE_CHECKING:
Expand Down Expand Up @@ -315,7 +314,7 @@ async def add_pusher(
"device_display_name": device_display_name,
"ts": pushkey_ts,
"lang": lang,
"data": bytearray(encode_canonical_json(data)),
"data": json_encoder.encode(data),
"last_stream_ordering": last_stream_ordering,
"profile_tag": profile_tag,
"id": stream_id,
Expand Down

0 comments on commit 2de7e26

Please sign in to comment.