Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix race when persisting create event (#4404) | Erik Johnston | 2019-01-18 | 1 | -1/+12 |
| | | | | | | | | | * Fix race when persisting create event When persisting a chunk of DAG it is sometimes requried to do a state resolution, which requires knowledge of the room version. If this happens while we're persisting the create event then we need to use that event rather than attempting to look it up in the database. | ||||
* | Remove duplicates in the user_ips table and add an index (#4370) | Amber Brown | 2019-01-12 | 2 | -4/+160 |
| | |||||
* | Fix adding new rows instead of updating them if one of the key values is a ↵ | Amber Brown | 2019-01-09 | 1 | -1/+9 |
| | | | | NULL in upserts. (#4369) | ||||
* | Ensure synchrotrons can access is_support_user in the storage layer | Neil Johnson | 2019-01-02 | 1 | -25/+25 |
| | |||||
* | Log roomid along with Unknown room (#4297) | Will Hunt | 2018-12-24 | 1 | -1/+1 |
| | |||||
* | create support user (#4141) | Neil Johnson | 2018-12-14 | 3 | -4/+83 |
| | | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits. | ||||
* | Settings Fix deleting e2e room keys on xenial (#4295) | Amber Brown | 2018-12-14 | 1 | -1/+1 |
| | |||||
* | Initialise user displayname from SAML2 data (#4272) | Richard van der Hoff | 2018-12-07 | 1 | -7/+13 |
| | | | | | When we register a new user from SAML2 data, initialise their displayname correctly. | ||||
* | drop undocumented dependency on dateutil (#4266) | Richard van der Hoff | 2018-12-06 | 1 | -7/+6 |
| | | | | It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat. | ||||
* | Add an option to disable search for homeservers which may not be interested ↵ | Travis Ralston | 2018-12-04 | 1 | -0/+6 |
| | | | | | | in it (#4230) This is useful for homeservers not intended for users, such as bot-only homeservers or ones that only process IoT data. | ||||
* | add more detail to logging regarding "More than one row matched" error (#4234) | Ben Parsons | 2018-12-04 | 1 | -6/+6 |
| | |||||
* | Fix UnicodeDecodeError when postgres is not configured in english (#4253) | Richard van der Hoff | 2018-12-04 | 1 | -7/+8 |
| | | | | This is a bit of a half-assed effort at fixing https://github.com/matrix-org/synapse/issues/4252. Fundamentally the right answer is to drop support for Python 2. | ||||
* | Drop sent_transactions | Aaron Raimist | 2018-12-01 | 6 | -74/+3 |
| | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
* | Neilj/fix mau initial reserved users (#4211) | Neil Johnson | 2018-11-28 | 1 | -2/+3 |
| | | | | | | | | * fix transaction wrapping bug that caused get_user_id_by_threepid_txn to fail * towncrier * white space | ||||
* | Ignore __pycache__ directories in schema delta dir | Richard van der Hoff | 2018-11-20 | 1 | -1/+1 |
| | | | | Now that we use py3, compiled python ends up in __pycache__ rather than *.pyc. | ||||
* | Add option to track MAU stats (but not limit people) (#3830) | Travis Ralston | 2018-11-15 | 1 | -34/+40 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2018-11-09 | 8 | -65/+274 |
|\ | | | | | | | dbkr/e2e_backup_versions_are_numbers | ||||
| * | Lets convert bytes to unicode instead | Erik Johnston | 2018-11-08 | 1 | -5/+3 |
| | | |||||
| * | Fix noop checks when updating device keys | Erik Johnston | 2018-11-08 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | Clients often reupload their device keys (for some reason) so its important for the server to check for no-ops before sending out device list update notifications. The check is broken in python 3 due to the fact comparing bytes and unicode always fails, and that we write bytes to the DB but get unicode when we read. | ||||
| * | Add helpers for getting prev and auth events (#4139) | Erik Johnston | 2018-11-06 | 2 | -6/+6 |
| | | | | | | | | | | | | | | * Add helpers for getting prev and auth events This is in preparation for allowing the event format to change between room versions. | ||||
| * | Add unique indexes to a couple of tables | Richard van der Hoff | 2018-11-02 | 3 | -6/+88 |
| | | | | | | | | | | The indexes on device_lists_remote_extremeties can be unique, and they therefore should, to ensure that the db remains consistent. | ||||
| * | Remove redundant database locks for device list updates | Richard van der Hoff | 2018-11-02 | 1 | -5/+40 |
| | | | | | | | | We can rely on the application-level per-user linearizer. | ||||
| * | Merge pull request #4006 from matrix-org/erikj/purge_state_groups | Erik Johnston | 2018-10-30 | 4 | -48/+137 |
| |\ | | | | | | | Delete unreferenced state groups during purge | ||||
| | * | Move _find_unreferenced_groups | Erik Johnston | 2018-10-29 | 2 | -81/+83 |
| | | | |||||
| | * | Fix set operations thinko | Erik Johnston | 2018-10-29 | 1 | -3/+4 |
| | | | |||||
| | * | Don't make temporary list | Erik Johnston | 2018-10-29 | 1 | -3/+2 |
| | | | |||||
| | * | Make SQL a bit cleaner | Erik Johnston | 2018-10-29 | 1 | -3/+2 |
| | | | |||||
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-10-26 | 10 | -379/+635 |
| | |\ | | | | | | | | | | | | | erikj/purge_state_groups | ||||
| | * | | pep8 | Erik Johnston | 2018-10-19 | 1 | -1/+1 |
| | | | | |||||
| | * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-10-19 | 6 | -56/+461 |
| | |\ \ | | | | | | | | | | | | | | | | erikj/purge_state_groups | ||||
| | * | | | Batch process handling state groups | Erik Johnston | 2018-10-19 | 2 | -101/+92 |
| | | | | | |||||
| | * | | | Fix up comments | Erik Johnston | 2018-10-12 | 1 | -3/+3 |
| | | | | | |||||
| | * | | | Add state_group index to event_to_state_groups | Erik Johnston | 2018-10-04 | 3 | -1/+27 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is needed to efficiently check for unreferenced state groups during purge. | ||||
| | * | | | Delete unreferened state groups during purge | Erik Johnston | 2018-10-04 | 2 | -6/+77 |
| | | | | | |||||
* | | | | | pep8 | David Baker | 2018-11-09 | 1 | -1/+2 |
| | | | | | |||||
* | | | | | add docs | David Baker | 2018-11-09 | 1 | -1/+4 |
| | | | | | |||||
* | | | | | Cast to int here too | David Baker | 2018-10-30 | 1 | -0/+5 |
| | | | | | |||||
* | | | | | Cast bacjup version to int when querying | David Baker | 2018-10-30 | 1 | -1/+6 |
| | | | | | |||||
* | | | | | Convert version back to a string | David Baker | 2018-10-30 | 1 | -0/+1 |
| | | | | | |||||
* | | | | | Try & make it work on postgres | David Baker | 2018-10-30 | 1 | -2/+2 |
| | | | | | |||||
* | | | | | Make e2e backup versions numeric in the DB | David Baker | 2018-10-29 | 2 | -1/+54 |
|/ / / / | | | | | | | | | | | | | | | | | We were doing max(version) which does not do what we wanted on a column of type TEXT. | ||||
* | | | | Deduplicate device updates sent over replication | Erik Johnston | 2018-10-29 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently send several kHz of device list updates over replication occisonally, which often causes the replications streams to lag and then get dropped. A lot of those updates will actually be duplicates, since we don't send e.g. device_ids across replication, so let's deduplicate it when we pull them out of the database. | ||||
* | | | | preserve room visibility | Richard van der Hoff | 2018-10-25 | 1 | -1/+1 |
| |_|/ |/| | | |||||
* | | | Refactor state group lookup to reduce DB hits (#4011) | Erik Johnston | 2018-10-25 | 2 | -327/+520 |
| | | | | | | | | | | | | | | | | | | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit. | ||||
* | | | Merge pull request #4081 from matrix-org/neilj/fix_mau_init | Neil Johnson | 2018-10-25 | 2 | -23/+83 |
|\ \ \ | | | | | | | | | fix race condiftion in calling initialise_reserved_users | ||||
| * | | | add new line | Neil Johnson | 2018-10-25 | 1 | -0/+1 |
| | | | | |||||
| * | | | improve comments | Neil Johnson | 2018-10-25 | 1 | -6/+6 |
| | | | | |||||
| * | | | fix style inconsistencies | Neil Johnson | 2018-10-24 | 2 | -15/+47 |
| | | | | |||||
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/fix_mau_init | Neil Johnson | 2018-10-24 | 2 | -22/+25 |
| |\ \ \ | |||||
| * | | | | remove white space | Neil Johnson | 2018-10-23 | 1 | -2/+1 |
| | | | | | |||||
| * | | | | fix race condiftion in calling initialise_reserved_users | Neil Johnson | 2018-10-23 | 2 | -17/+45 |
| | | | | | |||||
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Neil Johnson | 2018-10-25 | 12 | -51/+423 |
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | matthew/autocreate_autojoin | ||||
| * | | | | Merge pull request #4082 from matrix-org/rav/fix_pep8 | Richard van der Hoff | 2018-10-24 | 1 | -1/+1 |
| |\ \ \ \ | | | | | | | | | | | | | Fix a number of flake8 errors | ||||
| | * | | | | Fix a number of flake8 errors | Richard van der Hoff | 2018-10-24 | 1 | -1/+1 |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broadly three things here: * disable W504 which seems a bit whacko * remove a bunch of `as e` expressions from exception handlers that don't use them * use `r""` for strings which include backslashes Also, we don't use pep8 any more, so we can get rid of the duplicate config there. | ||||
| * | | | | Merge pull request #4040 from matrix-org/erikj/states_res_v2_rebase | Erik Johnston | 2018-10-24 | 1 | -21/+24 |
| |\ \ \ \ | | |/ / / | |/| | | | Add v2 state resolution algorithm | ||||
| | * | | | Update event_auth table for rejected events | Erik Johnston | 2018-10-16 | 1 | -15/+21 |
| | | | | | |||||
| | * | | | Add v2 state res algorithm. | Erik Johnston | 2018-10-16 | 1 | -6/+3 |
| | | | | | | | | | | | | | | | | | | | | We hook this up to the vdh test room version. | ||||
| * | | | | Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase ↵ | Amber Brown | 2018-10-20 | 5 | -6/+6 |
| | |_|/ | |/| | | | | | | | | | | on py3) (#4068) | ||||
| * | | | Fix incorrect truncation in get_missing_events | Richard van der Hoff | 2018-10-16 | 1 | -22/+16 |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | It's quite important that get_missing_events returns the *latest* events in the room; however we were pulling event ids out of the database until we got *at least* 10, and then taking the *earliest* of the results. We also shouldn't really be relying on depth, and should be checking the room_id. | ||||
| * | | Merge pull request #4019 from matrix-org/dbkr/e2e_backups | David Baker | 2018-10-15 | 3 | -0/+361 |
| |\ \ | | | | | | | | | E2E backups | ||||
| | * | | Misc PR feedback bits | David Baker | 2018-10-12 | 1 | -2/+2 |
| | | | | |||||
| | * | | Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups | David Baker | 2018-10-09 | 16 | -116/+330 |
| | |\ \ | |||||
| | * | | | Don't reuse backup versions | David Baker | 2018-10-05 | 2 | -3/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we don't actually delete the keys, just mark the versions as deleted in the db rather than actually deleting them, then we won't reuse versions. Fixes https://github.com/vector-im/riot-web/issues/7448 | ||||
| | * | | | WIP e2e key backups | David Baker | 2018-09-13 | 1 | -0/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continues from uhoreg's branch This just fixed the errcode on /room_keys/version if no backup and updates the schema delta to be on the latest so it gets run | ||||
| | * | | | try to make flake8 and isort happy | Hubert Chathi | 2018-09-06 | 1 | -2/+4 |
| | | | | | |||||
| | * | | | Merge branch 'develop' into e2e_backups | Hubert Chathi | 2018-08-24 | 14 | -195/+674 |
| | |\ \ \ | |||||
| | * | | | | allow session_data to be any JSON instead of just a string | Hubert Chathi | 2018-08-21 | 1 | -2/+4 |
| | | | | | | |||||
| | * | | | | allow auth_data to be any JSON instead of a string | Hubert Chathi | 2018-08-21 | 1 | -2/+5 |
| | | | | | | |||||
| | * | | | | missing import | Matthew Hodgson | 2018-08-12 | 1 | -0/+1 |
| | | | | | | |||||
| | * | | | | 404 nicely if you try to interact with a missing current version | Matthew Hodgson | 2018-08-12 | 1 | -16/+35 |
| | | | | | | |||||
| | * | | | | flake8 | Matthew Hodgson | 2018-08-12 | 1 | -1/+1 |
| | | | | | | |||||
| | * | | | | implement remaining tests and make them work | Matthew Hodgson | 2018-08-12 | 1 | -1/+2 |
| | | | | | | |||||
| | * | | | | fix idiocies and so make tests pass | Matthew Hodgson | 2018-08-12 | 2 | -3/+4 |
| | | | | | | |||||
| | * | | | | don't needlessly return user_id | Matthew Hodgson | 2018-08-12 | 1 | -1/+0 |
| | | | | | | |||||
| | * | | | | fix flakes | Matthew Hodgson | 2018-08-12 | 1 | -2/+4 |
| | | | | | | |||||
| | * | | | | fix typos | Matthew Hodgson | 2018-08-12 | 1 | -1/+1 |
| | | | | | | |||||
| | * | | | | add a tonne of docstring; make upload_room_keys properly assert version | Matthew Hodgson | 2018-08-12 | 1 | -20/+31 |
| | | | | | | |||||
| | * | | | | add storage docstring; remove unused set_e2e_room_keys | Matthew Hodgson | 2018-08-12 | 1 | -36/+83 |
| | | | | | | |||||
| | * | | | | rename room_key_version table correctly, and fix opt args | Matthew Hodgson | 2018-08-12 | 1 | -13/+13 |
| | | | | | | |||||
| | * | | | | blindly incorporate PR review - needs testing & fixing | Matthew Hodgson | 2018-08-12 | 2 | -46/+31 |
| | | | | | | |||||
| | * | | | | make /room_keys/version work | Matthew Hodgson | 2018-08-12 | 2 | -7/+19 |
| | | | | | | |||||
| | * | | | | implement /room_keys/version too (untested) | Matthew Hodgson | 2018-08-12 | 2 | -1/+57 |
| | | | | | | |||||
| | * | | | | make it work and fix pep8 | Matthew Hodgson | 2018-08-12 | 3 | -43/+64 |
| | | | | | | |||||
| | * | | | | interim WIP checkin; doesn't build yet | Matthew Hodgson | 2018-08-12 | 1 | -0/+20 |
| | | | | | | |||||
| | * | | | | total WIP skeleton for /room_keys API | Matthew Hodgson | 2018-08-12 | 2 | -0/+173 |
| | | | | | | |||||
| * | | | | | Comments on get_all_new_events_stream | Richard van der Hoff | 2018-10-12 | 1 | -1/+15 |
| | |_|/ / | |/| | | | | | | | | | | | | | just some docstrings to clarify the behaviour here | ||||
* | | | | | Merge branch 'develop' into matthew/autocreate_autojoin | Neil Johnson | 2018-10-04 | 2 | -34/+91 |
|\| | | | | |||||
| * | | | | actually exclude outliers | Richard van der Hoff | 2018-10-03 | 1 | -1/+2 |
| | | | | | |||||
| * | | | | remove debugging | Richard van der Hoff | 2018-10-02 | 1 | -10/+0 |
| | | | | | |||||
| * | | | | Fix bug in forward_extremity update logic | Richard van der Hoff | 2018-10-02 | 1 | -33/+78 |
| | |_|/ | |/| | | | | | | | | | | | | | | An event does not stop being a forward_extremity just because an outlier or rejected event refers to it. | ||||
| * | | | Fix bug when invalidating destination retry timings | Erik Johnston | 2018-10-02 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge remote-tracking branch 'origin/develop' into erikj/destination_retry_cache | Richard van der Hoff | 2018-09-28 | 2 | -9/+26 |
| |\ \ \ | |||||
| * | | | | Add a five minute cache to get_destination_retry_timings | Erik Johnston | 2018-09-21 | 1 | -1/+22 |
| | | | | | | | | | | | | | | | | | | | | Hopefully helps with #3931 | ||||
* | | | | | fix thinkos | Matthew Hodgson | 2018-09-29 | 1 | -1/+1 |
| |/ / / |/| | | | |||||
* | | | | Merge pull request #3961 from matrix-org/neilj/lock_mau_upserts | Richard van der Hoff | 2018-09-27 | 1 | -1/+4 |
|\ \ \ \ | | | | | | | | | | | fix #3854 MAU transaction errors | ||||
| * | | | | fix #3854 | Neil Johnson | 2018-09-26 | 1 | -1/+4 |
| |/ / / | |||||
* / / / | docstrings and unittests for storage.state (#3958) | Richard van der Hoff | 2018-09-27 | 1 | -8/+22 |
|/ / / | | | | | | | | | | I spent ages trying to figure out how I was going mad... | ||||
* | | | Fix client IPs being broken on Python 3 (#3908) | Amber Brown | 2018-09-20 | 1 | -15/+19 |
| | | | |||||
* | | | Fix up changelog and remove spurious comment | Erik Johnston | 2018-09-19 | 1 | -2/+0 |
| | | | |||||
* | | | pep8 | Erik Johnston | 2018-09-19 | 1 | -1/+0 |
| | | | |||||
* | | | Remove get_destination_retry_timings cache | Erik Johnston | 2018-09-19 | 1 | -5/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | Currently we rely on the master to invalidate this cache promptly. However, after having moved most federation endpoints off of master this no longer happens, causing outbound fedeariont to get blackholed. Fixes #3798 | ||||
* | | | Return a 404 when deleting unknown room alias | Richard van der Hoff | 2018-09-17 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/issues/1675 Fixes https://github.com/matrix-org/synapse/issues/2782 | ||||
* | | | comment | Erik Johnston | 2018-09-13 | 1 | -0/+2 |
| | | | |||||
* | | | pep8 | Erik Johnston | 2018-09-13 | 1 | -1/+0 |
| | | | |||||
* | | | Create indices after insertion | Erik Johnston | 2018-09-13 | 1 | -14/+18 |
| | | | |||||
* | | | Make purge history slightly faster | Erik Johnston | 2018-09-13 | 1 | -2/+9 |
| | | | | | | | | | | | | | | | Don't pull out events that are outliers and won't be deleted, as nothing should happen to them. | ||||
* | | | Merge pull request #3846 from matrix-org/neilj/expose-registered-users hhs-7 | Neil Johnson | 2018-09-12 | 1 | -0/+17 |
|\ \ \ | | | | | | | | | expose number of real reserved users | ||||
| * | | | improve naming | Neil Johnson | 2018-09-12 | 1 | -1/+1 |
| | | | | |||||
| * | | | expose number of real reserved users | Neil Johnson | 2018-09-12 | 1 | -0/+17 |
| | | | | |||||
* | | | | Merge pull request #3826 from matrix-org/rav/logging_for_keyring | Amber Brown | 2018-09-12 | 1 | -0/+1 |
|\ \ \ \ | |/ / / |/| | | | add some logging for the keyring queue | ||||
| * | | | clearer logging when things fail, too | Richard van der Hoff | 2018-09-06 | 1 | -0/+1 |
| | | | | |||||
* | | | | Speed up lazy loading (#3827) | Matthew Hodgson | 2018-09-12 | 2 | -0/+69 |
| | | | | | | | | | | | | | | | | | | | | * speed up room summaries by pulling their data from room_memberships rather than room state * disable LL for incr syncs, and log incr sync stats (#3840) | ||||
* | | | | ensure guests never enter mau list | Neil Johnson | 2018-09-06 | 1 | -4/+3 |
| | | | | |||||
* | | | | guest users should not be part of mau total | Neil Johnson | 2018-09-05 | 1 | -1/+6 |
|/ / / | |||||
* | | | move threepid checker to config, add missing yields | Neil Johnson | 2018-08-31 | 1 | -14/+0 |
| | | | |||||
* | | | ensure post registration auth checks do not fail erroneously | Neil Johnson | 2018-08-31 | 1 | -1/+14 |
| | | | |||||
* | | | Port storage/ to Python 3 (#3725) | Amber Brown | 2018-08-31 | 10 | -31/+74 |
| |/ |/| | |||||
* | | Implement trail users | Erik Johnston | 2018-08-23 | 2 | -1/+32 |
| | | |||||
* | | Add missing yield | Erik Johnston | 2018-08-23 | 1 | -1/+2 |
| | | |||||
* | | Merge pull request #3659 from matrix-org/erikj/split_profiles | Erik Johnston | 2018-08-22 | 2 | -31/+31 |
|\ \ | | | | | | | Allow profile updates to happen on workers | ||||
| * \ | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-17 | 9 | -134/+217 |
| |\ \ | | | | | | | | | | | | | erikj/split_profiles | ||||
| * | | | Remote profile cache should remain in master worker | Erik Johnston | 2018-08-17 | 1 | -4/+2 |
| | | | | |||||
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-09 | 7 | -34/+272 |
| |\ \ \ | | | | | | | | | | | | | | | | erikj/split_profiles | ||||
| * | | | | Allow ratelimiting on workers | Erik Johnston | 2018-08-07 | 1 | -29/+29 |
| | | | | | |||||
| * | | | | Allow profile changes to happen on workers | Erik Johnston | 2018-08-07 | 1 | -2/+4 |
| | |_|/ | |/| | | |||||
* | | | | Merge pull request #3673 from matrix-org/erikj/refactor_state_handler | Erik Johnston | 2018-08-22 | 1 | -1/+3 |
|\ \ \ \ | | | | | | | | | | | Refactor state module to support multiple room versions | ||||
| * \ \ \ | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-20 | 9 | -134/+217 |
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | erikj/refactor_state_handler | ||||
| * | | | | Choose state algorithm based on room version | Erik Johnston | 2018-08-09 | 1 | -1/+3 |
| | |_|/ | |/| | | |||||
* | | | | Split the state_group_cache in two (#3726) | Matthew Hodgson | 2018-08-22 | 1 | -17/+141 |
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | Splits the state_group_cache in two. One half contains normal state events; the other contains member events. The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache. This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching. Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow. Hopefully fixes https://github.com/matrix-org/synapse/issues/3720. | ||||
* | | | call reap on start up and fix under reaping bug | Neil Johnson | 2018-08-16 | 1 | -1/+4 |
| | | | |||||
* | | | initial cut at a room summary API (#3574) | Matthew Hodgson | 2018-08-16 | 3 | -8/+8 |
| | | | |||||
* | | | speed up /members and add at= and membership params (#3568) | Matthew Hodgson | 2018-08-15 | 2 | -3/+65 |
| | | | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-15 | 4 | -24/+41 |
|\ \ \ | | | | | | | | | | | | | erikj/split_federation | ||||
| * | | | adding missing yield | Neil Johnson | 2018-08-14 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge pull request #3670 from matrix-org/neilj/mau_sync_block | Neil Johnson | 2018-08-14 | 1 | -5/+5 |
| |\ \ \ | | | | | | | | | | | Block ability to read via sync if mau limit exceeded | ||||
| | * | | | rename _user_last_seen_monthly_active | Neil Johnson | 2018-08-09 | 1 | -5/+5 |
| | |/ / | |||||
| * | | | Merge remote-tracking branch 'origin/develop' into ↵ | Amber Brown | 2018-08-14 | 1 | -0/+5 |
| |\ \ \ | | | | | | | | | | | | | | | | neilj/fix_reap_users_in_postgres | ||||
| | * | | | Run tests under PostgreSQL (#3423) | Amber Brown | 2018-08-13 | 1 | -0/+5 |
| | | | | | |||||
| * | | | | fix sqlite/postgres incompatibility in reap_monthly_active_users | Neil Johnson | 2018-08-11 | 1 | -16/+28 |
| |/ / / | |||||
| * / / | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678) | Amber Brown | 2018-08-10 | 2 | -2/+2 |
| |/ / | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-09 | 7 | -34/+272 |
|\| | | | | | | | | | | | erikj/split_federation | ||||
| * | | Merge pull request #3654 from matrix-org/rav/room_versions | Richard van der Hoff | 2018-08-08 | 1 | -3/+30 |
| |\ \ | | | | | | | | | Support for room versioning | ||||
| | * | | Basic support for room versioning | Richard van der Hoff | 2018-08-03 | 1 | -3/+30 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | This is the first tranche of support for room versioning. It includes: * setting the default room version in the config file * new room_version param on the createRoom API * storing the version of newly-created rooms in the m.room.create event * fishing the version of existing rooms out of the m.room.create event | ||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Neil Johnson | 2018-08-08 | 3 | -5/+10 |
| |\ \ | | | | | | | | | | | | | neilj/reserved_users | ||||
| | * \ | Merge pull request #3633 from matrix-org/neilj/mau_tracker | Neil Johnson | 2018-08-08 | 5 | -28/+195 |
| | |\ \ | | | | | | | | | | | API for monthly_active_users table | ||||
| | | * | | typos | Neil Johnson | 2018-08-08 | 2 | -3/+3 |
| | | | | | |||||
| | * | | | Fix occasional glitches in the synapse_event_persisted_position metric | Richard van der Hoff | 2018-08-07 | 1 | -3/+8 |
| | | |/ | | |/| | | | | | | | | | | | | | Every so often this metric glitched to a negative number. I'm assuming it was due to backfilled events. | ||||
| * | | | prevent total number of reserved users being too large | Neil Johnson | 2018-08-07 | 1 | -1/+3 |
| | | | | |||||
| * | | | implement reserved users for mau limits | Neil Johnson | 2018-08-07 | 1 | -11/+34 |
| | | | | |||||
| * | | | WIP building out mau reserved users | Neil Johnson | 2018-08-06 | 1 | -1/+15 |
| | |/ | |/| | |||||
| * | | Fix postgres compatibility bug | Neil Johnson | 2018-08-06 | 1 | -4/+15 |
| | | | |||||
| * | | make use of _simple_select_one_onecol, improved comments | Neil Johnson | 2018-08-06 | 2 | -8/+15 |
| | | | |||||
| * | | bug fixes | Neil Johnson | 2018-08-03 | 1 | -2/+1 |
| | | | |||||
| * | | wip commit - tests failing | Neil Johnson | 2018-08-03 | 2 | -38/+49 |
| | | | |||||
| * | | fix caching and tests | Neil Johnson | 2018-08-03 | 1 | -48/+43 |
| | | | |||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_tracker | Neil Johnson | 2018-08-03 | 3 | -8/+27 |
| |\| | |||||
| * | | typo | Neil Johnson | 2018-08-02 | 1 | -1/+1 |
| | | | |||||
| * | | wip attempt at caching | Neil Johnson | 2018-08-02 | 1 | -9/+47 |
| | | | |||||
| * | | do mau checks based on monthly_active_users table | Neil Johnson | 2018-08-02 | 1 | -7/+8 |
| | | | |||||
| * | | remove unused count_monthly_users | Neil Johnson | 2018-08-02 | 1 | -25/+0 |
| | | | |||||
| * | | insertion into monthly_active_users | Neil Johnson | 2018-08-02 | 3 | -7/+35 |
| | | | |||||
| * | | Merge branch 'neilj/mau_tracker' of github.com:matrix-org/synapse into ↵ | Neil Johnson | 2018-08-02 | 2 | -1/+3 |
| |\ \ | | | | | | | | | | | | | neilj/mau_tracker | ||||
| | * | | self.db_conn unused | Neil Johnson | 2018-08-01 | 1 | -1/+0 |
| | | | | |||||
| | * | | normalise reaping query | Neil Johnson | 2018-08-01 | 1 | -3/+38 |
| | | | | |||||
| * | | | Revert "change monthly_active_users table to be a single column" | Neil Johnson | 2018-08-02 | 2 | -4/+10 |
| |/ / | | | | | | | | | | This reverts commit ec716a35b219d147dee51733b55573952799a549. | ||||
| * | | change monthly_active_users table to be a single column | Neil Johnson | 2018-08-01 | 2 | -10/+4 |
| | | | |||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_tracker | Neil Johnson | 2018-08-01 | 7 | -11/+47 |
| |\ \ | |||||
| * | | | clean up | Neil Johnson | 2018-08-01 | 1 | -15/+3 |
| | | | | |||||
| * | | | fix comment | Neil Johnson | 2018-08-01 | 1 | -1/+1 |
| | | | | |||||
| * | | | api into monthly_active_users table | Neil Johnson | 2018-07-31 | 4 | -2/+114 |
| | | | | |||||
* | | | | Pull in necessary stores in federation_reader | Erik Johnston | 2018-08-06 | 1 | -1/+0 |
| | | | | |||||
* | | | | Move necessary storage functions to worker classes | Erik Johnston | 2018-08-06 | 3 | -98/+100 |
| |_|/ |/| | | |||||
* | | | Merge branch 'master' into develop | Richard van der Hoff | 2018-08-02 | 2 | -6/+15 |
|\ \ \ | |||||
| * | | | Avoid extra db lookups | Richard van der Hoff | 2018-08-02 | 2 | -35/+15 |
| | | | | | | | | | | | | | | | | | | | | Since we're about to look up the events themselves anyway, we can skip the extra db queries here. | ||||
| * | | | Validation for events/rooms in fed requests | Richard van der Hoff | 2018-08-02 | 1 | -0/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we get a federation request which refers to an event id, make sure that said event is in the room the caller claims it is in. (patch supplied by @turt2live) | ||||
* | | | | Merge pull request #3621 from matrix-org/erikj/split_fed_store | Erik Johnston | 2018-08-02 | 1 | -2/+12 |
|\ \ \ \ | |_|_|/ |/| | | | Split out DB writes in federation handler | ||||
| * | | | update docs | Erik Johnston | 2018-08-01 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-07-30 | 11 | -67/+225 |
| |\ \ \ | | | |/ | | |/| | | | | | erikj/split_fed_store | ||||
| * | | | Split out DB writes in federation handler | Erik Johnston | 2018-07-25 | 1 | -2/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to easily add an internal replication API to proxy these reqeusts to master, so that we can move federation APIs to workers. | ||||
* | | | | Merge pull request #3630 from matrix-org/neilj/mau_sign_in_log_in_limits | Neil Johnson | 2018-08-01 | 2 | -1/+27 |
|\ \ \ \ | | | | | | | | | | | Initial impl of capping MAU | ||||
| * | | | | improve clarity | Neil Johnson | 2018-08-01 | 1 | -4/+5 |
| | | | | | |||||
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Neil Johnson | 2018-08-01 | 6 | -6/+10 |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | neilj/mau_sign_in_log_in_limits | ||||
| * | | | | | remove errant print | Neil Johnson | 2018-08-01 | 1 | -1/+0 |
| | | | | | | |||||
| * | | | | | make count_monthly_users async synapse/handlers/auth.py | Neil Johnson | 2018-08-01 | 1 | -13/+13 |
| | | | | | | |||||
| * | | | | | coding style | Neil Johnson | 2018-07-31 | 2 | -3/+2 |
| | | | | | | |||||
| * | | | | | actually close conn | Neil Johnson | 2018-07-30 | 1 | -4/+8 |
| | | | | | | |||||
| * | | | | | factor out metrics from __init__ to app/homeserver | Neil Johnson | 2018-07-30 | 1 | -24/+13 |
| | | | | | | |||||
| * | | | | | limit register and sign in on number of monthly users | Neil Johnson | 2018-07-30 | 1 | -0/+34 |
| | |_|/ / | |/| | | | |||||
* | | | | | Python 3: Convert some unicode/bytes uses (#3569) | Amber Brown | 2018-08-02 | 2 | -5/+11 |
| |/ / / |/| | | | |||||
* | | | | Merge pull request #3612 from matrix-org/rav/store_heirarchy | Richard van der Hoff | 2018-07-31 | 6 | -6/+10 |
|\ \ \ \ | |/ / / |/| | | | Make EventStore inherit from EventFederationStore | ||||
| * | | | reinstate explicit include of EventsWorkerStore | Richard van der Hoff | 2018-07-31 | 1 | -1/+3 |
| | | | | |||||
| * | | | Make EventStore inherit from EventFederationStore | Richard van der Hoff | 2018-07-26 | 6 | -7/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (since it uses methods therein) Turns out that we had a bunch of things which were incorrectly importing EventWorkerStore from events.py rather than events_worker.py, which broke once I removed the import into events.py. | ||||
* | | | | make /context lazyload & filter aware (#3567) | Matthew Hodgson | 2018-07-27 | 1 | -3/+11 |
| | | | | | | | | | | | | make /context lazyload & filter aware. | ||||
* | | | | Merge pull request #3614 from matrix-org/rav/stop_populating_event_content | Richard van der Hoff | 2018-07-26 | 3 | -2/+98 |
|\ \ \ \ | | | | | | | | | | | Stop populating events.content | ||||
| * | | | | Create the column nullable | Richard van der Hoff | 2018-07-26 | 2 | -9/+13 |
| | | | | | | | | | | | | | | | | | | | | | | | | | There's no real point in ever making the column non-nullable, and doing so breaks the sytests. | ||||
| * | | | | Stop populating events.content | Richard van der Hoff | 2018-07-26 | 2 | -1/+93 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This field is no longer read from, so we should stop populating it. Once we're happy that this doesn't break everything, and a rollback is unlikely, we can think about dropping the column. | ||||
* | | | | | Merge pull request #3613 from matrix-org/rav/stop_using_event_edges_room_id | Richard van der Hoff | 2018-07-26 | 2 | -8/+6 |
|\ \ \ \ \ | | | | | | | | | | | | | Remove some redundant joins on event_edges.room_id | ||||
| * | | | | | Remove some redundant joins on event_edges.room_id | Richard van der Hoff | 2018-07-26 | 2 | -8/+6 |
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've long passed the point where it's possible to have the same event_id in different tables, so these join conditions are redundant: we can just join on event_id. event_edges is of non-trivial size, and the room_id column is wasteful, so let's stop reading from it. In future, we can stop writing to it, and then drop it. | ||||
* | | | | | Merge pull request #3610 from matrix-org/rav/fix_looping_calls | Richard van der Hoff | 2018-07-26 | 5 | -6/+8 |
|\ \ \ \ \ | |/ / / / |/| | | | | Fix some looping_call calls which were broken in #3604 | ||||
| * | | | | Fix some looping_call calls which were broken in #3604 | Richard van der Hoff | 2018-07-26 | 5 | -6/+8 |
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call. | ||||
* / / / | comment on event_edges | Richard van der Hoff | 2018-07-26 | 1 | -1/+2 |
|/ / / | |||||
* | | | switch missing_types to be a bool | Matthew Hodgson | 2018-07-25 | 1 | -4/+4 |
| | | | |||||
* | | | Merge branch 'develop' into matthew/filter_members | Matthew Hodgson | 2018-07-25 | 8 | -125/+187 |
|\| | | |||||
| * | | Merge pull request #3603 from matrix-org/erikj/handle_outliers | Erik Johnston | 2018-07-25 | 1 | -6/+8 |
| |\ \ | | | | | | | | | Correctly handle outliers during persist events | ||||
| | * | | Actually fix it by adding continue | Erik Johnston | 2018-07-25 | 1 | -0/+1 |
| | | | | |||||
| | * | | Fix typo in conditional | Erik Johnston | 2018-07-25 | 1 | -1/+1 |
| | | | | |||||
| | * | | Correctly handle outliers during persist events | Erik Johnston | 2018-07-25 | 1 | -6/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We incorrectly asserted that all contexts must have a non None state group without consider outliers. This would usually be fine as the assertion would never be hit, as there is a shortcut during persistence if the forward extremities don't change. However, if the outlier is being persisted with non-outlier events, the function would be called and the assertion would be hit. Fixes #3601 | ||||
| * | | | Merge pull request #3606 from matrix-org/rav/logcontext_fixes_once_more | Richard van der Hoff | 2018-07-25 | 2 | -5/+10 |
| |\ \ \ | | | | | | | | | | | Fix another logcontext leak in _persist_events | ||||
| | * | | | Fix another logcontext leak in _persist_events | Richard van der Hoff | 2018-07-25 | 2 | -5/+10 |
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to run the errback in the sentinel context to avoid losing our own context. Also: add logging to runInteraction to help identify where "Starting db connection from sentinel context" warnings are coming from | ||||
| * | | | Merge pull request #3607 from matrix-org/rav/fix_persist_events_integrity_error | Richard van der Hoff | 2018-07-25 | 1 | -1/+1 |
| |\ \ \ | | | | | | | | | | | Fix occasional 'tuple index out of range' error | ||||
| | * | | | Fix occasional 'tuple index out of range' error | Richard van der Hoff | 2018-07-25 | 1 | -1/+1 |
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug in _delete_existing_rows_txn which was introduced in #3435 (though it's been on matrix-org-hotfixes for *years*). This code is only called when there is some sort of conflict the first time we try to persist an event, so it only happens rarely. Still, the exceptions are annoying. | ||||
| * / / | Wrap a number of things that run in the background | Richard van der Hoff | 2018-07-25 | 4 | -10/+26 |
| |/ / | | | | | | | | | | | | | This will reduce the number of "Starting db connection from sentinel context" warnings, and will help with our metrics. | ||||
| * | | Pull out did_forget to worker store | Erik Johnston | 2018-07-24 | 1 | -25/+27 |
| | | | |||||
| * | | Merge pull request #3595 from matrix-org/erikj/use_deltas | Erik Johnston | 2018-07-24 | 1 | -53/+118 |
| |\ \ | | | | | | | | | Use deltas to calculate current state deltas | ||||
| | * | | Expand on docstring comment about return value | Erik Johnston | 2018-07-24 | 1 | -0/+5 |
| | | | | |||||
| | * | | Remove unnecessary iteritems | Erik Johnston | 2018-07-24 | 1 | -1/+1 |
| | | | | |||||
| | * | | Fixup comment (and indent) | Erik Johnston | 2018-07-24 | 1 | -16/+20 |
| | | | | |||||
| | * | | Don't fetch state from the database unless needed | Erik Johnston | 2018-07-24 | 1 | -12/+18 |
| | | | | |||||
| | * | | Have _get_new_state_after_events return delta | Erik Johnston | 2018-07-24 | 1 | -17/+48 |
| | | | | | | | | | | | | | | | | | | | | | | | | If we have a delta from the existing to new current state, then we can reuse that rather than manually working it out by fetching both lots of state. | ||||
| | * | | Don't require to_delete to have event_ids | Erik Johnston | 2018-07-24 | 1 | -36/+55 |
| | | | | |||||
| * | | | Merge pull request #3583 from matrix-org/rav/remove_who_forgot_in_room | Richard van der Hoff | 2018-07-24 | 2 | -28/+0 |
| |\ \ \ | | |/ / | |/| | | Remove redundant checks on room forgottenness | ||||
| | * | | Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_room | Richard van der Hoff | 2018-07-24 | 2 | -15/+31 |
| | |\ \ | |||||
| | * \ \ | Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_room | Richard van der Hoff | 2018-07-23 | 5 | -26/+70 |
| | |\ \ \ | |||||
| | * | | | | Remove redundant checks on room forgottenness | Richard van der Hoff | 2018-07-23 | 2 | -28/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #3550 | ||||
* | | | | | | incorporate more review. | Matthew Hodgson | 2018-07-25 | 1 | -16/+14 |
| | | | | | | |||||
* | | | | | | handle the edge case for _get_some_state_from_cache where types is [] | Matthew Hodgson | 2018-07-24 | 1 | -1/+7 |
| | | | | | | |||||
* | | | | | | Merge branch 'develop' into matthew/filter_members | Matthew Hodgson | 2018-07-24 | 1 | -12/+4 |
|\| | | | | | |||||
| * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-07-24 | 2 | -13/+24 |
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | erikj/speed_up_calculate_state_delta | ||||
| * | | | | | Remove unnecessary if | Erik Johnston | 2018-07-24 | 1 | -2/+1 |
| | | | | | | |||||
| * | | | | | Speed up _calculate_state_delta | Erik Johnston | 2018-07-24 | 1 | -10/+3 |
| | | | | | | |||||
* | | | | | | consider non-filter_type types as wildcards, thus missing from the ↵ | Matthew Hodgson | 2018-07-24 | 1 | -1/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | state-group-cache | ||||
* | | | | | | Merge branch 'develop' into matthew/filter_members | Matthew Hodgson | 2018-07-24 | 2 | -14/+25 |
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | |||||
| * | | | | | Merge branch 'develop' into rav/logcontext_fixes | Richard van der Hoff | 2018-07-24 | 1 | -11/+21 |
| |\ \ \ \ \ | |||||
| | * | | | | | fix idiocy | Richard van der Hoff | 2018-07-24 | 1 | -2/+8 |
| | | | | | | | |||||
| | * | | | | | Add some measure blocks to persist_events | Richard van der Hoff | 2018-07-23 | 1 | -11/+15 |
| | |/ / / / | | | | | | | | | | | | | | | | | | | ... to help us figure out where 40% of CPU is going | ||||
| * / / / / | Logcontext fixes | Richard van der Hoff | 2018-07-24 | 2 | -3/+4 |
| |/ / / / | | | | | | | | | | | | | | | | Fix some random logcontext leaks. | ||||
* | | | | | incorporate more review | Matthew Hodgson | 2018-07-24 | 1 | -27/+9 |
| | | | | | |||||
* | | | | | handle case where types is [] on postgres correctly | Matthew Hodgson | 2018-07-23 | 1 | -1/+1 |
| | | | | | |||||
* | | | | | Merge branch 'develop' into matthew/filter_members | Matthew Hodgson | 2018-07-23 | 5 | -26/+75 |
|\| | | | | |||||
| * | | | | Comments | Erik Johnston | 2018-07-23 | 1 | -0/+3 |
| | | | | | |||||
| * | | | | Only get cached state from context in persist_event | Erik Johnston | 2018-07-23 | 1 | -1/+3 |
| | |/ / | |/| | | | | | | | | | | | | | | | | | | We don't want to bother pulling out the current state from the DB since until we know we have to. Checking the context for state is just an optimisation. | ||||
| * | | | Use new getters | Erik Johnston | 2018-07-23 | 3 | -5/+11 |
| | | | | |||||
| * | | | Merge branch 'develop' into matthew/sync_deleted_devices | Matthew Hodgson | 2018-07-23 | 6 | -23/+49 |
| |\| | | |||||
| * | | | add trailing comma | Matthew Hodgson | 2018-07-23 | 1 | -1/+1 |
| | | | | |||||
| * | | | yes, we do need to invalidate the device_id_exists_cache when deleting a ↵ | Matthew Hodgson | 2018-07-19 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | remote device | ||||
| * | | | spell out that include_deleted_devices requires include_all_devices | Matthew Hodgson | 2018-07-19 | 1 | -1/+5 |
| | | | | |||||
| * | | | shift to using an explicit deleted flag on m.device_list_update EDUs | Matthew Hodgson | 2018-07-12 | 2 | -20/+25 |
| | | | | | | | | | | | | | | | | and generally make it work. | ||||
| * | | | WIP to announce deleted devices over federation | Matthew Hodgson | 2018-07-12 | 2 | -13/+43 |
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we queued up the poke correctly when the device was deleted, but then the actual EDU wouldn't get sent, as the device was no longer known. Instead, we now send EDUs for deleted devices too if there's a poke for them. | ||||
* | | | | incorporate review | Matthew Hodgson | 2018-07-23 | 1 | -12/+8 |
| | | | | |||||
* | | | | fix thinkos; unbreak tests | Matthew Hodgson | 2018-07-19 | 1 | -2/+2 |
| | | | |