Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from Feb 16, 2017

Conversation

Projects
None yet
2 participants
Owner

erikjohnston commented Feb 16, 2017

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

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 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

erikjohnston added a commit that referenced this pull request Mar 13, 2017

Merge tag 'v0.19.3-rc1' into release-v0.19.3
Changes in synapse v0.19.3-rc1 (2017-03-08)
===========================================

Features:

* Add some administration functionalities. Thanks to morteza-araby! (PR #1784)

Changes:

* Reduce database table sizes (PR #1873, #1916, #1923, #1963)
* Update contrib/ to not use syutil. Thanks to andrewshadura! (PR #1907)
* Don't fetch current state when sending an event in common case (PR #1955)

Bug fixes:

* Fix synapse_port_db failure. Thanks to Pneumaticat! (PR #1904)
* Fix caching to not cache error responses (PR #1913)
* Fix APIs to make kick & ban reasons work (PR #1917)
* Fix bugs in the /keys/changes api (PR #1921)
* Fix bug where users couldn't forget rooms they were banned from (PR #1922)
* Fix issue with long language values in pushers API (PR #1925)
* Fix a race in transaction queue (PR #1930)
* Fix dynamic thumbnailing to preserve aspect ratio. Thanks to jkolo! (PR
  #1945)
* Fix device list update to not constantly resync (PR #1964)
* Fix potential for huge memory usage when getting device that have
  changed (PR #1969)

@erikjohnston erikjohnston deleted the erikj/push_action_compress branch Mar 29, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment