summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Limit cache invalidation replication line length (#4748)Erik Johnston2019-02-271-4/+11
|
* Add database version to phonehome stats. (#4753)Richard van der Hoff2019-02-273-0/+42
|
* Fix state cache invalidation on workersErik Johnston2019-02-221-6/+34
|
* UPSERT many functionality (#4644)Amber Brown2019-02-201-12/+134
|
* Merge pull request #4671 from matrix-org/erikj/state_cache_invalidationErik Johnston2019-02-192-25/+58
|\ | | | | Batch cache invalidation over replication
| * DocsErik Johnston2019-02-191-2/+3
| |
| * Use itertoolsErik Johnston2019-02-191-2/+2
| |
| * DocumentationErik Johnston2019-02-191-4/+4
| |
| * Batch cache invalidation over replicationErik Johnston2019-02-182-25/+57
| | | | | | | | | | | | | | | | | | | | Currently whenever the current state changes in a room invalidate a lot of caches, which cause *a lot* of traffic over replication. Instead, lets batch up all those invalidations and send a single poke down the replication streams. Hopefully this will reduce load on the master process by substantially reducing traffic.
* | Split /login into client_readerErik Johnston2019-02-181-41/+41
|/
* Split out registration to workerErik Johnston2019-02-181-115/+115
| | | | | | | | This allows registration to be handled by a worker, though the actual write to the database still happens on master. Note: due to the in-memory session map all registration requests must be handled by the same worker.
* Add configurable room list publishing rulesErik Johnston2019-02-141-0/+25
| | | | | This allows specifying who and what is allowed to be published onto the public room list
* Run `black` on user directory code (#4635)Amber Brown2019-02-131-87/+66
|
* Merge pull request #4627 from matrix-org/erikj/user_ips_analyzeErik Johnston2019-02-122-3/+31
|\ | | | | Analyze user_ips before running deduplication
| * Fix pep8Erik Johnston2019-02-121-1/+1
| |
| * Analyze user_ips before running deduplicationErik Johnston2019-02-122-3/+31
| | | | | | | | | | | | | | Due to the table locks taken out by the naive upsert, the table statistics may be out of date. During deduplication it is important that the correct index is used as otherwise a full table scan may be incorrectly used, which can end up thrashing the database badly.
* | Reduce user_ips bloat during dedupe background updateErik Johnston2019-02-121-3/+60
|/ | | | | | | | | | | | The background update to remove duplicate rows naively deleted and reinserted the duplicates. For large tables with a large number of duplicates this causes a lot of bloat (with postgres), as the inserted rows are appended to the table, since deleted rows will not be overwritten until a VACUUM has happened. This should hopefully also help ensure that the query in the last batch uses the correct index, as inserting a large number of new rows without analyzing will upset the query planner.
* Merge pull request #4580 from matrix-org/uhoreg/e2e_backup_add_updatingErik Johnston2019-02-111-0/+21
|\ | | | | add updating of backup versions
| * add new endpoint to update backup versionsHubert Chathi2019-02-061-0/+21
| |
* | Fix 'no unique or exclusion constraint' error (#4591)Richard van der Hoff2019-02-081-6/+21
| | | | | | | | | | Add more tables to the list of tables which need a background update to complete before we can upsert into them, which fixes a race against the background updates.
* | Filter user directory state query to a subset of state events (#4462)Andrew Morgan2019-02-051-4/+12
|/ | | | | | * Filter user directory state query to a subset of state events * Add changelog
* Merge pull request #4530 from matrix-org/anoa/room_upgrade_federatableAndrew Morgan2019-01-311-11/+27
|\ | | | | Copy over non-federatable trait on room upgrade
| * Raise an exception instead of returning NoneAndrew Morgan2019-01-311-2/+9
| |
| * New function for getting room's create eventAndrew Morgan2019-01-311-11/+20
| |
* | Fix infinite loop when an event is redacted in a v3 room (#4535)Richard van der Hoff2019-01-311-5/+32
|/
* Fix flake8 (#4519)Amber Brown2019-01-303-86/+86
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-291-0/+23
|\ | | | | | | erikj/redactions_eiah
| * Refactor event building into EventBuilderErik Johnston2019-01-291-0/+23
| | | | | | | | | | This is so that everything is done in one place, making it easier to change the event format based on room version
* | Update synapse/storage/events_worker.pyErik Johnston2019-01-291-1/+1
| |
* | Check redaction state when event is pulled out of the databaseErik Johnston2019-01-291-0/+13
| |
* | Fix typoErik Johnston2019-01-291-1/+1
| |
* | Remove unused argErik Johnston2019-01-291-2/+1
| |
* | Update synapse/storage/events_worker.pyRichard van der Hoff2019-01-291-1/+1
| | | | | | Co-Authored-By: erikjohnston <erikj@jki.re>
* | Implement rechecking of redactionsErik Johnston2019-01-291-1/+25
|/
* Fix typo in upserts code (#4505)Amber Brown2019-01-291-1/+1
| | | | | | * fix obvious problem :| * changelog
* Fix UPSERTs on SQLite 3.24+ (#4477)Amber Brown2019-01-283-12/+20
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-282-10/+9
|\ | | | | | | anoa/dm_room_upgrade
| * Merge pull request #4470 from matrix-org/erikj/require_format_versionErik Johnston2019-01-251-6/+2
| |\ | | | | | | Require event format version to parse or create events
| | * Replace missed usages of FrozenEventErik Johnston2019-01-251-6/+2
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-252-2/+25
| |\ \ | | | | | | | | | | | | erikj/sqlite_native_upsert
| | * | Don't require sqlite3 when using postgres (#4466)Andrew Morgan2019-01-251-2/+1
| | | |
| * | | Disable native upserts for sqlite, as they don't workErik Johnston2019-01-251-3/+7
| | |/ | |/|
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-2512-64/+334
|\ \ \ | | |/ | |/| | | | anoa/dm_room_upgrade
| * | Merge pull request #4415 from matrix-org/anoa/full_search_upgraded_roomsAndrew Morgan2019-01-251-0/+24
| |\ \ | | |/ | |/| Ability to search entire room history after upgrading room
| | * Merge branch 'anoa/full_search_upgraded_rooms' of ↵Andrew Morgan2019-01-241-1/+1
| | |\ | | | | | | | | | | | | github.com:matrix-org/synapse into anoa/full_search_upgraded_rooms
| | | * Apply suggestions from code reviewRichard van der Hoff2019-01-241-1/+1
| | | | | | | | | | | | Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com>
| | * | Remove redundant create event None checkAndrew Morgan2019-01-241-3/+0
| | |/
| | * Do not return in a deferred functionAndrew Morgan2019-01-221-3/+3
| | |
| | * Ensure new filter is actually createdAndrew Morgan2019-01-221-1/+0
| | |
| | * Fix a bug with single-room search searching all roomsAndrew Morgan2019-01-221-1/+28
| | | | | | | | | | | | | | | * Create a new method for getting predecessor rooms * Remove formatting change
| | * Search for messages across predecessor roomsAndrew Morgan2019-01-181-0/+1
| | | | | | | | | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
| * | Revert "Require event format version to parse or create events"Erik Johnston2019-01-251-2/+6
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-248-33/+238
| |\ \ | | | | | | | | | | | | erikj/require_format_version
| | * \ Merge pull request #4405 from matrix-org/erikj/fixup_rejecting_invitesErik Johnston2019-01-241-4/+4
| | |\ \ | | | | | | | | | | Store rejected remote invite events as outliers
| | | * | Use term 'out of band membership' insteadErik Johnston2019-01-241-3/+3
| | | | |
| | * | | Merge pull request #4437 from matrix-org/erikj/event_format_version_v2Erik Johnston2019-01-243-4/+32
| | |\ \ \ | | | | | | | | | | | | Add support for persisting event format versions
| | * | | | Fix UPSERT check (#4459)Amber Brown2019-01-241-5/+28
| | | | | |
| | * | | | Use native UPSERTs where possible (#4306)Amber Brown2019-01-247-30/+212
| | | | | |
| * | | | | Replace missed usages of FrozenEventErik Johnston2019-01-241-6/+2
| | | | | |
| * | | | | Merge branch 'erikj/fixup_rejecting_invites' of ↵Erik Johnston2019-01-231-4/+4
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | github.com:matrix-org/synapse into erikj/require_format_version
| | * | | | Clarify the invite flowsErik Johnston2019-01-231-4/+7
| | | | | |
| | * | | | Store rejected remote invite events as outliersErik Johnston2019-01-231-4/+1
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently they're stored as non-outliers even though the server isn't in the room, which can be problematic in places where the code assumes it has the state for all non outlier events. In particular, there is an edge case where persisting the leave event triggers a state resolution, which requires looking up the room version from state. Since the server doesn't have the state, this causes an exception to be thrown.
| * | / / Merge branch 'erikj/get_pdu_versions' into erikj/require_format_versionErik Johnston2019-01-231-1/+5
| |\| | | | | |/ / | |/| |
| | * | Fixup removal of duplicate `user_ips` rows (#4432)Erik Johnston2019-01-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unnecessary ORDER BY clause * Add logging * Newsfile
| * | | isortErik Johnston2019-01-231-1/+1
| | | |
| * | | Add support for persisting event format versionsErik Johnston2019-01-233-4/+32
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we only have the one event format version defined, but this adds the necessary infrastructure to persist and fetch the format versions alongside the events. We specify the format version rather than the room version as: 1. We don't necessarily know the room version, existing events may be either v1 or v2. 2. We'd need to be careful to prevent/handle correctly if different events in the same room reported to be of different versions, which sounds annoying.
| * | Refactor to rewrite the SQL insteadErik Johnston2019-01-221-13/+16
| | |
| * | Don't shadow paramsErik Johnston2019-01-221-4/+3
| | |
| * | Fix bug when removing duplicate rows from user_ipsErik Johnston2019-01-221-13/+20
| | | | | | | | | | | | | | | | | | | | | | | | This was caused by accidentally overwritting a `last_seen` variable in a for loop, causing the wrong value to be written to the progress table. The result of which was that we didn't scan sections of the table when searching for duplicates, and so some duplicates did not get deleted.
* | | Fix typosAndrew Morgan2019-01-221-1/+1
|/ /
* / Fix race when persisting create event (#4404)Erik Johnston2019-01-181-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 Brown2019-01-122-4/+160
|
* Fix adding new rows instead of updating them if one of the key values is a ↵Amber Brown2019-01-091-1/+9
| | | | NULL in upserts. (#4369)
* Ensure synchrotrons can access is_support_user in the storage layerNeil Johnson2019-01-021-25/+25
|
* Log roomid along with Unknown room (#4297)Will Hunt2018-12-241-1/+1
|
* create support user (#4141)Neil Johnson2018-12-143-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 Brown2018-12-141-1/+1
|
* Initialise user displayname from SAML2 data (#4272)Richard van der Hoff2018-12-071-7/+13
| | | | | When we register a new user from SAML2 data, initialise their displayname correctly.
* drop undocumented dependency on dateutil (#4266)Richard van der Hoff2018-12-061-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 Ralston2018-12-041-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 Parsons2018-12-041-6/+6
|
* Fix UnicodeDecodeError when postgres is not configured in english (#4253)Richard van der Hoff2018-12-041-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_transactionsAaron Raimist2018-12-016-74/+3
| | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Neilj/fix mau initial reserved users (#4211)Neil Johnson2018-11-281-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 dirRichard van der Hoff2018-11-201-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 Ralston2018-11-151-34/+40
|
* Merge remote-tracking branch 'origin/develop' into ↵David Baker2018-11-098-65/+274
|\ | | | | | | dbkr/e2e_backup_versions_are_numbers
| * Lets convert bytes to unicode insteadErik Johnston2018-11-081-5/+3
| |
| * Fix noop checks when updating device keysErik Johnston2018-11-081-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 Johnston2018-11-062-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 tablesRichard van der Hoff2018-11-023-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 updatesRichard van der Hoff2018-11-021-5/+40
| | | | | | | | We can rely on the application-level per-user linearizer.
| * Merge pull request #4006 from matrix-org/erikj/purge_state_groupsErik Johnston2018-10-304-48/+137
| |\ | | | | | | Delete unreferenced state groups during purge
| | * Move _find_unreferenced_groupsErik Johnston2018-10-292-81/+83
| | |
| | * Fix set operations thinkoErik Johnston2018-10-291-3/+4
| | |
| | * Don't make temporary listErik Johnston2018-10-291-3/+2
| | |
| | * Make SQL a bit cleanerErik Johnston2018-10-291-3/+2
| | |
| | * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-10-2610-379/+635
| | |\ | | | | | | | | | | | | erikj/purge_state_groups
| | * | pep8Erik Johnston2018-10-191-1/+1
| | | |
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-10-196-56/+461
| | |\ \ | | | | | | | | | | | | | | | erikj/purge_state_groups
| | * | | Batch process handling state groupsErik Johnston2018-10-192-101/+92
| | | | |
| | * | | Fix up commentsErik Johnston2018-10-121-3/+3
| | | | |
| | * | | Add state_group index to event_to_state_groupsErik Johnston2018-10-043-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | This is needed to efficiently check for unreferenced state groups during purge.
| | * | | Delete unreferened state groups during purgeErik Johnston2018-10-042-6/+77
| | | | |
* | | | | pep8David Baker2018-11-091-1/+2
| | | | |
* | | | | add docsDavid Baker2018-11-091-1/+4
| | | | |
* | | | | Cast to int here tooDavid Baker2018-10-301-0/+5
| | | | |
* | | | | Cast bacjup version to int when queryingDavid Baker2018-10-301-1/+6
| | | | |
* | | | | Convert version back to a stringDavid Baker2018-10-301-0/+1
| | | | |
* | | | | Try & make it work on postgresDavid Baker2018-10-301-2/+2
| | | | |
* | | | | Make e2e backup versions numeric in the DBDavid Baker2018-10-292-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 replicationErik Johnston2018-10-291-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 visibilityRichard van der Hoff2018-10-251-1/+1
| |_|/ |/| |
* | | Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-252-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_initNeil Johnson2018-10-252-23/+83
|\ \ \ | | | | | | | | fix race condiftion in calling initialise_reserved_users
| * | | add new lineNeil Johnson2018-10-251-0/+1
| | | |
| * | | improve commentsNeil Johnson2018-10-251-6/+6
| | | |
| * | | fix style inconsistenciesNeil Johnson2018-10-242-15/+47
| | | |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/fix_mau_initNeil Johnson2018-10-242-22/+25
| |\ \ \
| * | | | remove white spaceNeil Johnson2018-10-231-2/+1
| | | | |
| * | | | fix race condiftion in calling initialise_reserved_usersNeil Johnson2018-10-232-17/+45
| | | | |
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-10-2512-51/+423
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | matthew/autocreate_autojoin
| * | | | Merge pull request #4082 from matrix-org/rav/fix_pep8Richard van der Hoff2018-10-241-1/+1
| |\ \ \ \ | | | | | | | | | | | | Fix a number of flake8 errors
| | * | | | Fix a number of flake8 errorsRichard van der Hoff2018-10-241-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_rebaseErik Johnston2018-10-241-21/+24
| |\ \ \ \ | | |/ / / | |/| | | Add v2 state resolution algorithm
| | * | | Update event_auth table for rejected eventsErik Johnston2018-10-161-15/+21
| | | | |
| | * | | Add v2 state res algorithm.Erik Johnston2018-10-161-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 Brown2018-10-205-6/+6
| | |_|/ | |/| | | | | | | | | | on py3) (#4068)
| * | | Fix incorrect truncation in get_missing_eventsRichard van der Hoff2018-10-161-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_backupsDavid Baker2018-10-153-0/+361
| |\ \ | | | | | | | | E2E backups
| | * | Misc PR feedback bitsDavid Baker2018-10-121-2/+2
| | | |
| | * | Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backupsDavid Baker2018-10-0916-116/+330
| | |\ \
| | * | | Don't reuse backup versionsDavid Baker2018-10-052-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 backupsDavid Baker2018-09-131-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 happyHubert Chathi2018-09-061-2/+4
| | | | |
| | * | | Merge branch 'develop' into e2e_backupsHubert Chathi2018-08-2414-195/+674
| | |\ \ \
| | * | | | allow session_data to be any JSON instead of just a stringHubert Chathi2018-08-211-2/+4
| | | | | |
| | * | | | allow auth_data to be any JSON instead of a stringHubert Chathi2018-08-211-2/+5
| | | | | |
| | * | | | missing importMatthew Hodgson2018-08-121-0/+1
| | | | | |
| | * | | | 404 nicely if you try to interact with a missing current versionMatthew Hodgson2018-08-121-16/+35
| | | | | |
| | * | | | flake8Matthew Hodgson2018-08-121-1/+1
| | | | | |
| | * | | | implement remaining tests and make them workMatthew Hodgson2018-08-121-1/+2
| | | | | |
| | * | | | fix idiocies and so make tests passMatthew Hodgson2018-08-122-3/+4
| | | | | |
| | * | | | don't needlessly return user_idMatthew Hodgson2018-08-121-1/+0
| | | | | |
| | * | | | fix flakesMatthew Hodgson2018-08-121-2/+4
| | | | | |
| | * | | | fix typosMatthew Hodgson2018-08-121-1/+1
| | | | | |
| | * | | | add a tonne of docstring; make upload_room_keys properly assert versionMatthew Hodgson2018-08-121-20/+31
| | | | | |
| | * | | | add storage docstring; remove unused set_e2e_room_keysMatthew Hodgson2018-08-121-36/+83
| | | | | |
| | * | | | rename room_key_version table correctly, and fix opt argsMatthew Hodgson2018-08-121-13/+13
| | | | | |
| | * | | | blindly incorporate PR review - needs testing & fixingMatthew Hodgson2018-08-122-46/+31
| | | | | |
| | * | | | make /room_keys/version workMatthew Hodgson2018-08-122-7/+19
| | | | | |
| | * | | | implement /room_keys/version too (untested)Matthew Hodgson2018-08-122-1/+57
| | | | | |
| | * | | | make it work and fix pep8Matthew Hodgson2018-08-123-43/+64
| | | | | |
| | * | | | interim WIP checkin; doesn't build yetMatthew Hodgson2018-08-121-0/+20
| | | | | |
| | * | | | total WIP skeleton for /room_keys APIMatthew Hodgson2018-08-122-0/+173
| | | | | |
| * | | | | Comments on get_all_new_events_streamRichard van der Hoff2018-10-121-1/+15
| | |_|/ / | |/| | | | | | | | | | | | | just some docstrings to clarify the behaviour here
* | | | | Merge branch 'develop' into matthew/autocreate_autojoinNeil Johnson2018-10-042-34/+91
|\| | | |
| * | | | actually exclude outliersRichard van der Hoff2018-10-031-1/+2
| | | | |
| * | | | remove debuggingRichard van der Hoff2018-10-021-10/+0
| | | | |
| * | | | Fix bug in forward_extremity update logicRichard van der Hoff2018-10-021-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 timingsErik Johnston2018-10-021-1/+1
| | | |
| * | | Merge remote-tracking branch 'origin/develop' into erikj/destination_retry_cacheRichard van der Hoff2018-09-282-9/+26
| |\ \ \
| * | | | Add a five minute cache to get_destination_retry_timingsErik Johnston2018-09-211-1/+22
| | | | | | | | | | | | | | | | | | | | Hopefully helps with #3931
* | | | | fix thinkosMatthew Hodgson2018-09-291-1/+1
| |/ / / |/| | |
* | | | Merge pull request #3961 from matrix-org/neilj/lock_mau_upsertsRichard van der Hoff2018-09-271-1/+4
|\ \ \ \ | | | | | | | | | | fix #3854 MAU transaction errors
| * | | | fix #3854Neil Johnson2018-09-261-1/+4
| |/ / /
* / / / docstrings and unittests for storage.state (#3958)Richard van der Hoff2018-09-271-8/+22
|/ / / | | | | | | | | | I spent ages trying to figure out how I was going mad...
* | | Fix client IPs being broken on Python 3 (#3908)Amber Brown2018-09-201-15/+19
| | |
* | | Fix up changelog and remove spurious commentErik Johnston2018-09-191-2/+0
| | |
* | | pep8Erik Johnston2018-09-191-1/+0
| | |
* | | Remove get_destination_retry_timings cacheErik Johnston2018-09-191-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 aliasRichard van der Hoff2018-09-171-1/+0
| | | | | | | | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/issues/1675 Fixes https://github.com/matrix-org/synapse/issues/2782
* | | commentErik Johnston2018-09-131-0/+2
| | |
* | | pep8Erik Johnston2018-09-131-1/+0
| | |
* | | Create indices after insertionErik Johnston2018-09-131-14/+18
| | |
* | | Make purge history slightly fasterErik Johnston2018-09-131-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-7Neil Johnson2018-09-121-0/+17
|\ \ \ | | | | | | | | expose number of real reserved users
| * | | improve namingNeil Johnson2018-09-121-1/+1
| | | |
| * | | expose number of real reserved usersNeil Johnson2018-09-121-0/+17
| | | |
* | | | Merge pull request #3826 from matrix-org/rav/logging_for_keyringAmber Brown2018-09-121-0/+1
|\ \ \ \ | |/ / / |/| | | add some logging for the keyring queue
| * | | clearer logging when things fail, tooRichard van der Hoff2018-09-061-0/+1
| | | |
* | | | Speed up lazy loading (#3827)Matthew Hodgson2018-09-122-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 listNeil Johnson2018-09-061-4/+3
| | | |
* | | | guest users should not be part of mau totalNeil Johnson2018-09-051-1/+6
|/ / /
* | | move threepid checker to config, add missing yieldsNeil Johnson2018-08-311-14/+0
| | |
* | | ensure post registration auth checks do not fail erroneouslyNeil Johnson2018-08-311-1/+14
| | |
* | | Port storage/ to Python 3 (#3725)Amber Brown2018-08-3110-31/+74
| |/ |/|
* | Implement trail usersErik Johnston2018-08-232-1/+32
| |
* | Add missing yieldErik Johnston2018-08-231-1/+2
| |
* | Merge pull request #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-222-31/+31
|\ \ | | | | | | Allow profile updates to happen on workers
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-179-134/+217
| |\ \ | | | | | | | | | | | | erikj/split_profiles
| * | | Remote profile cache should remain in master workerErik Johnston2018-08-171-4/+2
| | | |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-097-34/+272
| |\ \ \ | | | | | | | | | | | | | | | erikj/split_profiles
| * | | | Allow ratelimiting on workersErik Johnston2018-08-071-29/+29
| | | | |
| * | | | Allow profile changes to happen on workersErik Johnston2018-08-071-2/+4
| | |_|/ | |/| |
* | | | Merge pull request #3673 from matrix-org/erikj/refactor_state_handlerErik Johnston2018-08-221-1/+3
|\ \ \ \ | | | | | | | | | | Refactor state module to support multiple room versions
| * \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-209-134/+217
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | erikj/refactor_state_handler
| * | | | Choose state algorithm based on room versionErik Johnston2018-08-091-1/+3
| | |_|/ | |/| |
* | | | Split the state_group_cache in two (#3726)Matthew Hodgson2018-08-221-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 bugNeil Johnson2018-08-161-1/+4
| | |
* | | initial cut at a room summary API (#3574)Matthew Hodgson2018-08-163-8/+8
| | |
* | | speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-152-3/+65
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-154-24/+41
|\ \ \ | | | | | | | | | | | | erikj/split_federation
| * | | adding missing yieldNeil Johnson2018-08-141-1/+1
| | | |
| * | | Merge pull request #3670 from matrix-org/neilj/mau_sync_blockNeil Johnson2018-08-141-5/+5
| |\ \ \ | | | | | | | | | | Block ability to read via sync if mau limit exceeded
| | * | | rename _user_last_seen_monthly_activeNeil Johnson2018-08-091-5/+5
| | |/ /
| * | | Merge remote-tracking branch 'origin/develop' into ↵Amber Brown2018-08-141-0/+5
| |\ \ \ | | | | | | | | | | | | | | | neilj/fix_reap_users_in_postgres
| | * | | Run tests under PostgreSQL (#3423)Amber Brown2018-08-131-0/+5
| | | | |
| * | | | fix sqlite/postgres incompatibility in reap_monthly_active_usersNeil Johnson2018-08-111-16/+28
| |/ / /
| * / / Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-102-2/+2
| |/ /
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-097-34/+272
|\| | | | | | | | | | | erikj/split_federation
| * | Merge pull request #3654 from matrix-org/rav/room_versionsRichard van der Hoff2018-08-081-3/+30
| |\ \ | | | | | | | | Support for room versioning
| | * | Basic support for room versioningRichard van der Hoff2018-08-031-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 Johnson2018-08-083-5/+10
| |\ \ | | | | | | | | | | | | neilj/reserved_users
| | * \ Merge pull request #3633 from matrix-org/neilj/mau_trackerNeil Johnson2018-08-085-28/+195
| | |\ \ | | | | | | | | | | API for monthly_active_users table
| | | * | typosNeil Johnson2018-08-082-3/+3
| | | | |
| | * | | Fix occasional glitches in the synapse_event_persisted_position metricRichard van der Hoff2018-08-071-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 largeNeil Johnson2018-08-071-1/+3
| | | |
| * | | implement reserved users for mau limitsNeil Johnson2018-08-071-11/+34
| | | |
| * | | WIP building out mau reserved usersNeil Johnson2018-08-061-1/+15
| | |/ | |/|
| * | Fix postgres compatibility bugNeil Johnson2018-08-061-4/+15
| | |
| * | make use of _simple_select_one_onecol, improved commentsNeil Johnson2018-08-062-8/+15
| | |
| * | bug fixesNeil Johnson2018-08-031-2/+1
| | |
| * | wip commit - tests failingNeil Johnson2018-08-032-38/+49
| | |
| * | fix caching and testsNeil Johnson2018-08-031-48/+43
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-033-8/+27
| |\|
| * | typoNeil Johnson2018-08-021-1/+1
| | |
| * | wip attempt at cachingNeil Johnson2018-08-021-9/+47
| | |
| * | do mau checks based on monthly_active_users tableNeil Johnson2018-08-021-7/+8
| | |
| * | remove unused count_monthly_usersNeil Johnson2018-08-021-25/+0
| | |
| * | insertion into monthly_active_usersNeil Johnson2018-08-023-7/+35
| | |
| * | Merge branch 'neilj/mau_tracker' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-022-1/+3
| |\ \ | | | | | | | | | | | | neilj/mau_tracker
| | * | self.db_conn unusedNeil Johnson2018-08-011-1/+0
| | | |
| | * | normalise reaping queryNeil Johnson2018-08-011-3/+38
| | | |
| * | | Revert "change monthly_active_users table to be a single column"Neil Johnson2018-08-022-4/+10
| |/ / | | | | | | | | | This reverts commit ec716a35b219d147dee51733b55573952799a549.
| * | change monthly_active_users table to be a single columnNeil Johnson2018-08-012-10/+4
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-017-11/+47
| |\ \
| * | | clean upNeil Johnson2018-08-011-15/+3
| | | |
| * | | fix commentNeil Johnson2018-08-011-1/+1
| | | |
| * | | api into monthly_active_users tableNeil Johnson2018-07-314-2/+114
| | | |
* | | | Pull in necessary stores in federation_readerErik Johnston2018-08-061-1/+0
| | | |
* | | | Move necessary storage functions to worker classesErik Johnston2018-08-063-98/+100
| |_|/ |/| |
* | | Merge branch 'master' into developRichard van der Hoff2018-08-022-6/+15
|\ \ \
| * | | Avoid extra db lookupsRichard van der Hoff2018-08-022-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 requestsRichard van der Hoff2018-08-021-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_storeErik Johnston2018-08-021-2/+12
|\ \ \ \ | |_|_|/ |/| | | Split out DB writes in federation handler
| * | | update docsErik Johnston2018-08-011-1/+1
| | | |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-3011-67/+225
| |\ \ \ | | | |/ | | |/| | | | | erikj/split_fed_store
| * | | Split out DB writes in federation handlerErik Johnston2018-07-251-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_limitsNeil Johnson2018-08-012-1/+27
|\ \ \ \ | | | | | | | | | | Initial impl of capping MAU