Store the default push actions in a more efficient manner #1923

Merged
merged 3 commits into from Feb 16, 2017

Projects

None yet

2 participants

@erikjohnston
Member

No description provided.

synapse/storage/event_push_actions.py
+
+
+def _serialize_action(actions, is_highlight):
+ """Custom serializer for actions. This allows us to "compress" common actions
@NegativeMjark
NegativeMjark Feb 16, 2017 Contributor

Maybe explain what the compression scheme is?

erikjohnston added some commits Feb 14, 2017
@erikjohnston erikjohnston Store the default push actions in a more efficient manner e6acf0c
@erikjohnston erikjohnston Comment
502ae6c
synapse/storage/event_push_actions.py
+ """Custom serializer for actions. This allows us to "compress" common actions.
+
+ We use the fact that most users have the same actions for notifs (and for
+ highlights). We replaces these default actions with the emtpy string.
@NegativeMjark
NegativeMjark Feb 16, 2017 Contributor

"replaces", "emtpy"

Maybe something more along the lines of "We store these default actions as the empty string rather than the full JSON. Since the empty string isn't valid JSON there is no risk of this clashing with any real JSON actions."

@erikjohnston erikjohnston Comment
138e030
@NegativeMjark

LGTM

@erikjohnston erikjohnston merged commit b6557f2 into develop Feb 16, 2017

1 of 7 checks passed

Sytest Dendron (Commit) Build #1542 origin/erikj/push_action_compress failed in 3 min 26 sec
Details
Sytest Dendron (Merged PR) Build started sha1 is merged.
Details
Sytest Postgres (Commit) Build #2361 origin/erikj/push_action_compress in progress...
Details
Sytest Postgres (Merged PR) Build started sha1 is merged.
Details
Sytest SQLite (Merged PR) Build started sha1 is merged.
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment