summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Fix overzealous cache invalidationRichard van der Hoff2018-04-052-26/+84
| | | | | Fixes an issue where a cache invalidation would invalidate *all* pending entries, rather than just the entry that we intended to invalidate.
* Merge pull request #3063 from matrix-org/jcgruenhage/cache_settings_statsJan Christian Grünhage2018-04-041-0/+3
|\ | | | | phone home cache size configurations
| * phone home cache size configurationsJan Christian Grünhage2018-04-041-0/+3
|/
* Merge pull request #3062 from matrix-org/revert-3053-speedup-mxid-checkRichard van der Hoff2018-04-041-4/+3
|\ | | | | Revert "improve mxid check performance"
| * Revert "improve mxid check performance"Richard van der Hoff2018-04-041-4/+3
|/
* Merge pull request #3000 from NotAFile/change-except-styleRichard van der Hoff2018-04-042-5/+5
|\ | | | | Replace old style error catching with 'as' keyword
| * replace old style error catching with 'as' keywordNotAFile2018-03-152-5/+5
| | | | | | | | | | | | | | This is both easier to read and compatible with python3 (not that that matters) Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge pull request #3044 from matrix-org/michaelk/performance_statsRichard van der Hoff2018-04-042-0/+45
|\ \ | | | | | | Add basic performance statistics to phone home
| * | Handle review commentsMichael Kaye2018-03-281-6/+9
| | |
| * | As daemonizing will make a new process, defer call to init.Michael Kaye2018-03-281-13/+23
| | |
| * | Include coarse CPU and Memory use in stats callbacks.Michael Kaye2018-03-272-0/+32
| | | | | | | | | | | | | | | This requires the psutil module, and is still opt-in based on the report_stats config option.
* | | Merge pull request #3053 from NotAFile/speedup-mxid-checkRichard van der Hoff2018-04-041-3/+4
|\ \ \ | | | | | | | | improve mxid check performance
| * | | improve mxid check performance ~4xAdrian Tschira2018-03-311-3/+4
| | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | Merge pull request #3049 from matrix-org/rav/use_staticjsonRichard van der Hoff2018-04-034-20/+34
|\ \ \ \ | | | | | | | | | | Use static JSONEncoders
| * | | | Fix json encoding bug in replicationRichard van der Hoff2018-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | json encoders have an encode method, not a dumps method.
| * | | | Use static JSONEncodersRichard van der Hoff2018-03-294-20/+34
| |/ / / | | | | | | | | | | | | | | | | using json.dumps with custom options requires us to create a new JSONEncoder on each call. It's more efficient to create one upfront and reuse it.
* | | | Merge pull request #3048 from matrix-org/rav/use_simplejsonRichard van der Hoff2018-04-033-5/+9
|\ \ \ \ | |/ / / |/| | | Use simplejson throughout
| * | | Use simplejson throughoutRichard van der Hoff2018-03-293-5/+9
|/ / / | | | | | | | | | Let's use simplejson rather than json, for consistency.
* | | Merge pull request #3043 from matrix-org/erikj/measure_state_group_creationErik Johnston2018-03-281-27/+28
|\ \ \ | | | | | | | | Measure time it takes to calculate state group ID
| * | | Measure time it takes to calculate state group IDErik Johnston2018-03-281-27/+28
| | | |
* | | | Merge pull request #3034 from matrix-org/rav/fix_key_claim_errorsRichard van der Hoff2018-03-281-28/+28
|\ \ \ \ | | | | | | | | | | Fix error when claiming e2e keys from offline servers
| * | | | Stringify exceptions for keys/{query,claim}Richard van der Hoff2018-03-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we stringify any exceptions we return from keys/query and keys/claim, to avoid a 'not JSON serializable' error later Fixes #3010
| * | | | factor out exception handling for keys/claim and keys/queryRichard van der Hoff2018-03-271-28/+25
| | |/ / | |/| | | | | | | | | | this stuff is badly c&p'ed
* | | | Merge pull request #3042 from matrix-org/fix_locally_failing_testsErik Johnston2018-03-281-2/+2
|\ \ \ \ | |_|/ / |/| | | fix tests/storage/test_user_directory.py
| * | | Fix search_user_dir multiple sqlite versions do different thingsNeil Johnson2018-03-282-3/+3
| | | |
| * | | fix tests/storage/test_user_directory.pyNeil Johnson2018-03-281-1/+1
|/ / /
* | | Merge pull request #3029 from matrix-org/erikj/linearize_generate_user_idErik Johnston2018-03-282-7/+11
|\ \ \ | | | | | | | | Linearize calls to _generate_user_id
| * | | Also do check inside linearizerErik Johnston2018-03-271-3/+4
| | | |
| * | | PEP8Erik Johnston2018-03-261-1/+3
| | | |
| * | | Don't use _cursor_to_dict in find_next_generated_user_id_localpartErik Johnston2018-03-261-3/+1
| | | |
| * | | Linearize calls to _generate_user_idErik Johnston2018-03-261-4/+7
| | | |
* | | | Merge pull request #3030 from matrix-org/erikj/no_ujsonErik Johnston2018-03-282-2/+1
|\ \ \ \ | | | | | | | | | | Remove last usage of ujson
| * | | | Remove last usage of ujsonErik Johnston2018-03-262-2/+1
| | | | |
* | | | | Merge pull request #3033 from matrix-org/erikj/calculate_state_metricsErik Johnston2018-03-281-1/+38
|\ \ \ \ \ | |_|_|/ / |/| | | | Add counter metrics for calculating state delta
| * | | | CommentErik Johnston2018-03-271-4/+5
| | | | |
| * | | | Fix indentErik Johnston2018-03-271-1/+1
| | | | |
| * | | | CommentErik Johnston2018-03-271-0/+7
| | | | |
| * | | | Add counter metrics for calculating state deltaErik Johnston2018-03-271-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to measure how often we calculate state deltas in event persistence that we would have been able to calculate at the same time we calculated the state for the event.
* | | | | Merge pull request #3017 from matrix-org/erikj/add_cache_control_headersErik Johnston2018-03-271-0/+1
|\ \ \ \ \ | | | | | | | | | | | | Add Cache-Control headers to all JSON APIs
| * | | | | Add Cache-Control headers to all JSON APIsErik Johnston2018-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is especially important that sync requests don't get cached, as if a sync returns the same token given then the client will call sync with the same parameters again. If the previous response was cached it will get reused, resulting in the client tight looping making the same request and never making any progress. In general, clients will expect to get up to date data when requesting APIs, and so its safer to do a blanket no cache policy than only whitelisting APIs that we know will break things if they get cached.
* | | | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-262-1/+21
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Merge branch 'release-v0.27.0' of github.com:matrix-org/synapse v0.27.2Erik Johnston2018-03-263-8/+18
| |\ \ \ \ \
| | * | | | | Bum version and changelogErik Johnston2018-03-262-1/+9
| | | | | | |
| | * | | | | Merge branch 'erikj/simplejson_replication' of github.com:matrix-org/synapse ↵Erik Johnston2018-03-261-7/+9
| |/| | | | | | | | | | | | | | | | | | | | | | | | | | into release-v0.27.0
| * | | | | | Fix date v0.27.1Erik Johnston2018-03-261-1/+1
| | | | | | |
| * | | | | | Bump version and changelogErik Johnston2018-03-262-1/+7
| | | | | | |
| * | | | | | Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapse v0.27.0Neil Johnson2018-03-26177-4347/+8671
| |\ \ \ \ \ \
| | * | | | | | version bumpNeil Johnson2018-03-262-1/+7
| | | |_|/ / / | | |/| | | |
* | | | | | | fix typoMatthew Hodgson2018-03-231-1/+1
| | | | | | |
* | | | | | | Merge pull request #3022 from matrix-org/matthew/noresourceMatthew Hodgson2018-03-2312-24/+24
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | 404 correctly on missing paths via NoResource
| * | | | | | 404 correctly on missing paths via NoResourceMatthew Hodgson2018-03-2312-24/+24
|/ / / / / / | | | | | | | | | | | | | | | | | | fixes https://github.com/matrix-org/synapse/issues/2043 and https://github.com/matrix-org/synapse/issues/2029
* | | | | | Merge pull request #3006 from matrix-org/erikj/state_iterErik Johnston2018-03-221-12/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use .iter* to avoid copies in StateHandler
| * | | | | | Fix s/iteriterms/itervaluesErik Johnston2018-03-221-1/+1
| | | | | | |
| * | | | | | Use .iter* to avoid copies in StateHandlerErik Johnston2018-03-151-12/+12
| | |_|_|_|/ | |/| | | |
* | | | | | Merge branch 'release-v0.27.0' of github.com:matrix-org/synapse into developErik Johnston2018-03-224-5/+66
|\ \ \ \ \ \ | | |_|/ / / | |/| | | / | |_|_|_|/ |/| | | |
| * | | | Update CHANGES.rst v0.27.0-rc2Neil Johnson2018-03-201-12/+13
| | | | | | | | | | | | | | | rearrange ordering of releases to match chronology
| * | | | fix merge conflictsNeil Johnson2018-03-2032-50/+90
| |\ \ \ \
| * | | | | Update __init__.pyNeil Johnson2018-03-191-1/+1
| | | | | | | | | | | | | | | | | | bump version
| * | | | | Update CHANGES.rstNeil Johnson2018-03-191-0/+7
| | | | | |
| * | | | | Bump version number v0.27.0-rc1Erik Johnston2018-03-151-1/+1
| | | | | |
| * | | | | Merge pull request #3002 from matrix-org/rav/purge_docErik Johnston2018-03-151-2/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | Update purge_history_api.rst
| | * | | | | Update purge_history_api.rstRichard van der Hoff2018-03-151-2/+4
| | | | | | | | | | | | | | | | | | | | | clarify that `purge_history` will not purge state
| * | | | | | Merge pull request #2997 from turt2live/patch-2Erik Johnston2018-03-151-1/+1
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | Doc: Make the event_creator routes regex a code block
| | * | | | | OCD: Make the event_creator routes regex a code blockTravis Ralston2018-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the others are code blocks, so this one should be to (currently it is a blockquote). Signed-off-by: Travis Ralston <travpc@gmail.com>
| * | | | | | CHANGES.rst: reword metric deprecationRichard van der Hoff2018-03-151-2/+1
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-151-5/+0
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-151-1/+1
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-151-2/+3
| | | | | | |
| * | | | | | Update CHANGES.rstErik Johnston2018-03-141-62/+24
| | | | | | |
| * | | | | | Fix up rst formattingErik Johnston2018-03-141-6/+8
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-141-9/+7
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-141-4/+4
| | | | | | |
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-141-68/+60
| | | | | | | | | | | | | | | | | | | | | clean formatting
| * | | | | | Update CHANGES.rstNeil Johnson2018-03-141-0/+91
| |/ / / / / | | | | | | | | | | | | WIP, need to add most recent PRs
* | | | | | Merge pull request #3015 from matrix-org/erikj/simplejson_replicationErik Johnston2018-03-201-7/+9
|\ \ \ \ \ \ | |_|/ / / / |/| | | | / | | |_|_|/ | |/| | | Fix replication after switch to simplejson
| * | | | Explicitly use simplejsonErik Johnston2018-03-201-7/+7
| | | | |
| * | | | Fix replication after switch to simplejsonErik Johnston2018-03-191-2/+4
|/ / / / | | | | | | | | | | | | | | | | Turns out that simplejson serialises namedtuple's as dictionaries rather than tuples by default.
* | | | Merge pull request #3005 from matrix-org/erikj/fix_cache_sizeErik Johnston2018-03-192-5/+16
|\ \ \ \ | | | | | | | | | | Fix bug where state cache used lots of memory
| * | | | Add commentsErik Johnston2018-03-191-0/+7
| | | | |
| * | | | Fix bug where state cache used lots of memoryErik Johnston2018-03-152-5/+9
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The state cache bases its size on the sum of the size of entries. The size of the entry is calculated once on insertion, so it is important that the size of entries does not change. The DictionaryCache modified the entries size, which caused the state cache to incorrectly think it was smaller than it actually was.
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-1927-43/+54
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge branch 'hotfixes-v0.26.1' of github.com:matrix-org/synapse v0.26.1Erik Johnston2018-03-1627-39/+46
| |\ \ \
| | * | | NewlineErik Johnston2018-03-161-0/+1
| | | | |
| | * | | Remove wrong commentErik Johnston2018-03-161-1/+0
| | | | |
| | * | | Bump version and changelogErik Johnston2018-03-152-1/+9
| | | | |
| | * | | Replace ujson with simplejsonErik Johnston2018-03-1525-38/+37
| |/ / /
| * | | Merge pull request #2798 from jeremycline/fedora-repoErik Johnston2018-01-171-0/+4
| |\ \ \ | | | | | | | | | | Note that Synapse is available in Fedora
| | * | | Note that Synapse is available in FedoraJeremy Cline2018-01-161-0/+4
| |/ / / | | | | | | | | | | | | Signed-off-by: Jeremy Cline <jeremy@jcline.org>
| * | | Merge pull request #2674 from her001/readme-sytestRichard van der Hoff2018-01-161-0/+11
| |\ \ \ | | | | | | | | | | Mention SyTest in the README, after Development
| | * | | Mention SyTest in the README, after DevelopmentAndrew Conrad2017-11-141-0/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Andrew Conrad <aconrad103@gmail.com>
* | | | | spell out not to massively increase bcrypt roundsMatthew Hodgson2018-03-191-1/+3
| | | | |
* | | | | Replace some ujson with simplejson to make it workErik Johnston2018-03-164-4/+5
| |_|/ / |/| | |
* | | | Merge pull request #3003 from matrix-org/rav/fix_contributingErik Johnston2018-03-151-3/+7
|\ \ \ \ | |_|_|/ |/| | | CONTRIBUTING.rst: fix CI info
| * | | CONTRIBUTING.rst: fix CI infoRichard van der Hoff2018-03-151-3/+7
|/ / /
* | | Merge pull request #2995 from matrix-org/erikj/enable_membership_workerErik Johnston2018-03-141-1/+13
|\ \ \ | | | | | | | | Register membership/state servlets in event_creator
| * | | Register membership/state servlets in event_creatorErik Johnston2018-03-141-1/+13
|/ / /
* | | Merge pull request #2992 from matrix-org/erikj/implement_member_workreErik Johnston2018-03-144-4/+440
|\ \ \ | | | | | | | | Implement RoomMemberWorkerHandler
| * | | Fix importsErik Johnston2018-03-142-7/+4
| | | |
| * | | s/join/joined/ in notify_user_membership_changeErik Johnston2018-03-142-4/+4
| | | |
| * | | Split RoomMemberWorkerHandler to separate fileErik Johnston2018-03-143-81/+104
| | | |
| * | | Implement RoomMemberWorkerHandlerErik Johnston2018-03-134-2/+418
| | | |
* | | | Merge pull request #2989 from matrix-org/erikj/profile_cache_masterErik Johnston2018-03-141-1/+4
|\ \ \ \ | | | | | | | | | | Only update remote profile cache on master
| * | | | Only update remote profile cache on masterErik Johnston2018-03-131-1/+4
| | | | |
* | | | | Merge pull request #2988 from matrix-org/erikj/split_profile_storeErik Johnston2018-03-142-24/+47
|\ \ \ \ \ | | | | | | | | | | | | Split up ProfileStore
| * | | | | Split up ProfileStoreErik Johnston2018-03-132-24/+47
| |/ / / /
* | | | | Merge pull request #2991 from matrix-org/erikj/fixup_rmErik Johnston2018-03-141-4/+4
|\ \ \ \ \ | | | | | | | | | | | | _remote_join and co take a requester
| * | | | | _remote_join and co take a requesterErik Johnston2018-03-131-4/+4
| | |/ / / | |/| | |
* | | | | Merge pull request #2993 from matrix-org/erikj/is_blockedErik Johnston2018-03-141-13/+17
|\ \ \ \ \ | | | | | | | | | | | | Add is_blocked to worker store
| * | | | | Add is_blocked to worker storeErik Johnston2018-03-131-13/+17
| |/ / / /
* / / / / fix bug #2926 (loading all state for a given type from the DB if the ↵Matthew Hodgson2018-03-131-7/+27
|/ / / / | | | | | | | | | | | | | | | | state_key is None) (#2990) Fixes a regression that had crept in where the caching layer upholds requests for loading state which is filtered by type (but not by state_key), but the DB layer itself would interpret a missing state_key as a request to filter by null state_key rather than returning all state_keys.
* | | | Merge pull request #2987 from matrix-org/erikj/split_room_member_handlerErik Johnston2018-03-132-100/+189
|\ \ \ \ | |/ / / |/| | | Split RoomMemberHandler into base and master class
| * | | Raise, don't return, exceptionErik Johnston2018-03-131-1/+1
| | | |
| * | | Add missing param to docstringsErik Johnston2018-03-131-0/+3
| | | |
| * | | Correct import orderErik Johnston2018-03-131-3/+3
| | | |
| * | | Move user_*_room distributor stuff to master classErik Johnston2018-03-131-5/+50
| | | | | | | | | | | | | | | | | | | | I added yields when calling user_left_room, but they shouldn't matter on the master process as they always return None anyway.
| * | | Split RoomMemberHandler into base and master classErik Johnston2018-03-132-98/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention here is to split the class into the bits that can be done on workers and the bits that have to be done on the master. In future there will also be a class that can be run on the worker, which will delegate work to the master when necessary.
* | | | Merge pull request #2978 from matrix-org/erikj/refactor_replication_layerErik Johnston2018-03-1318-33/+33
|\ \ \ \ | | | | | | | | | | Remove ReplicationLayer and user Client/Server directly
| * | | | s/replication_client/federation_client/Erik Johnston2018-03-1317-29/+29
| | | | |
| * | | | s/replication_server/federation_serverErik Johnston2018-03-133-4/+4
| | | | |
* | | | | Merge pull request #2981 from matrix-org/erikj/factor_remote_leaveErik Johnston2018-03-131-22/+54
|\ \ \ \ \ | | |/ / / | |/| | | Factor out _remote_reject_invite in RoomMember
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-03-1321-120/+154
| |\ \ \ \ | | | | | | | | | | | | | | | | | | erikj/factor_remote_leave
| * | | | | Add docstringErik Johnston2018-03-131-0/+26
| | | | | |
| * | | | | Factor out _remote_reject_invite in RoomMemberErik Johnston2018-03-131-22/+28
| | | | | |
* | | | | | Merge pull request #2979 from matrix-org/erikj/no_handlersErik Johnston2018-03-1329-112/+41
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Don't build handlers on workers unnecessarily
| * | | | | Don't build handlers on workers unnecessarilyErik Johnston2018-03-135-5/+0
| | |/ / / | |/| | |
| * | | | Remove unused ReplicationLayerErik Johnston2018-03-132-59/+0
| | | | |
| * | | | Fix testsErik Johnston2018-03-1310-21/+22
| | | | |
| * | | | Split replication layer into twoErik Johnston2018-03-1312-27/+19
| | | | |
* | | | | Merge pull request #2980 from matrix-org/erikj/rm_privErik Johnston2018-03-131-7/+7
|\ \ \ \ \ | | | | | | | | | | | | Make RoomMemberHandler functions private that can be
| * | | | | Make functions private that can beErik Johnston2018-03-131-7/+7
| | |/ / / | |/| | |
* | | | | Merge pull request #2982 from matrix-org/erikj/fix_extra_usersErik Johnston2018-03-132-5/+5
|\ \ \ \ \ | | | | | | | | | | | | extra_users is actually a list of UserIDs
| * | | | | extra_users is actually a list of UserIDsErik Johnston2018-03-132-5/+5
| |/ / / /
* | | | | Merge pull request #2983 from matrix-org/erikj/rename_register_3pidErik Johnston2018-03-132-11/+25
|\ \ \ \ \ | | | | | | | | | | | | Refactor get_or_register_3pid_guest
| * | | | | Refactor get_or_register_3pid_guestErik Johnston2018-03-132-11/+25
| |/ / / /
* | | | | Merge pull request #2984 from matrix-org/erikj/fix_rest_regeixErik Johnston2018-03-131-1/+1
|\ \ \ \ \ | | | | | | | | | | | | RoomMembershipRestServlet doesn't handle /forget
| * | | | | RoomMembershipRestServlet doesn't handle /forgetErik Johnston2018-03-131-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | Due to the order we register the REST handlers `/forget` was handled by the correct handler.
* | | | | Merge pull request #2975 from matrix-org/rav/measure_persist_eventsRichard van der Hoff2018-03-131-4/+5
|\ \ \ \ \ | | | | | | | | | | | | Add Measure block for persist_events
| * | | | | Add Measure block for persist_eventsRichard van der Hoff2018-03-131-4/+5
| |/ / / / | | | | | | | | | | | | | | | This seems like a useful thing to measure.
* | | | | Merge pull request #2977 from matrix-org/erikj/replication_move_propsErik Johnston2018-03-134-22/+13
|\ \ \ \ \ | | |/ / / | |/| | | Move property setting from ReplicationLayer to base classes
| * | | | Move property setting from ReplicationLayer to FederationBaseErik Johnston2018-03-134-22/+13
| | | | |
* | | | | Merge pull request #2976 from matrix-org/erikj/replication_registryErik Johnston2018-03-1312-70/+98
|\ \ \ \ \ | |_|/ / / |/| | | | Split out edu/query registration to a separate class
| * | | | Fix docstring typesErik Johnston2018-03-131-2/+2
| |/ / /
| * | | Fix testsErik Johnston2018-03-132-10/+8
| | | |
| * | | Split out edu/query registration to a separate classErik Johnston2018-03-1310-60/+90
|/ / /
* | | Merge pull request #2962 from matrix-org/rav/purge_history_txnsRichard van der Hoff2018-03-123-11/+175
|\ \ \ | | | | | | | | Add transactional API to history purge
| * | | Add transactional API to history purgeRichard van der Hoff2018-03-123-8/+161
| | | | | | | | | | | | | | | | Make the purge request return quickly, and allow scripts to poll for updates.
| * | | Return an error when doing two purges on a roomRichard van der Hoff2018-03-121-3/+14
|/ / / | | | | | | | | | Queuing up purges doesn't sound like a good thing.
* | | Merge pull request #2961 from matrix-org/rav/run_in_backgroundRichard van der Hoff2018-03-122-28/+33
|\ \ \ | | | | | | | | Factor run_in_background out from preserve_fn
| * | | Factor run_in_background out from preserve_fnRichard van der Hoff2018-03-082-28/+33
| | | | | | | | | | | | | | | | | | | | It annoys me that we create temporary function objects when there's really no need for it. Let's factor the gubbins out of preserve_fn and start using it.
* | | | Merge pull request #2965 from matrix-org/rav/request_loggingRichard van der Hoff2018-03-122-34/+96
|\ \ \ \ | | | | | | | | | | Add a metric which increments when a request is received
| * | | | Add some docstrings to help figure this outRichard van der Hoff2018-03-091-2/+26
| | | | |
| * | | | Add a metric which increments when a request is receivedRichard van der Hoff2018-03-092-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's useful to know when there are peaks in incoming requests - which isn't quite the same as there being peaks in outgoing responses, due to the time taken to handle requests.
| * | | | refactor JsonResourceRichard van der Hoff2018-03-091-32/+46
| | | | | | | | | | | | | | | | | | | | | | | | | rephrase the OPTIONS and unrecognised request handling so that they look similar to the common flow.
* | | | | Merge pull request #2944 from matrix-org/erikj/fix_sync_raceErik Johnston2018-03-073-30/+102
|\ \ \ \ \ | |_|/ / / |/| | | | Fix race in sync when joining room
| * | | | Fix up log messageErik Johnston2018-03-071-1/+1
| | | | |
| * | | | Fix typoErik Johnston2018-03-071-2/+2
| | | | |
| * | | | Fix race in sync when joining roomErik Johnston2018-03-073-30/+102
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The race happens when the user joins a room at the same time as doing a sync. We fetch the current token and then get the rooms the user is in. If the join happens after the current token, but before we get the rooms we end up sending down a partial room entry in the sync. This is fixed by looking at the stream ordering of the membership returned by get_rooms_for_user, and handling the case when that stream ordering is after the current token.
* | | | Merge pull request #2949 from krombel/use_bcrypt_checkpwRichard van der Hoff2018-03-062-3/+5
|\ \ \ \ | | | | | | | | | | use bcrypt.checkpw
| * | | | use bcrypt.checkpwKrombel2018-03-052-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in bcrypt 3.1.0 checkpw got introduced (already 2 years ago) This makes use of that with enhancements which might get introduced by that Signed-Off-by: Matthias Kesler <krombel@krombel.de>
* | | | | Merge pull request #2946 from matrix-org/rav/timestamp_to_purgeRichard van der Hoff2018-03-064-14/+96
|\ \ \ \ \ | | | | | | | | | | | | Implement purge_history by timestamp
| * | | | | Provide a means to pass a timestamp to purge_historyRichard van der Hoff2018-03-054-14/+96
| |/ / / /
* | | | | Merge pull request #2948 from matrix-org/erikj/kill_as_syncErik Johnston2018-03-064-163/+14
|\ \ \ \ \ | | | | | | | | | | | | Remove ability for AS users to call /events and /sync
| * | | | | Remove ability for AS users to call /events and /syncErik Johnston2018-03-054-163/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This functionality has been deprecated for a while as well as being broken for a while. Instead of fixing it lets just remove it entirely. See: https://github.com/matrix-org/matrix-doc/issues/1144
* | | | | | Merge pull request #2947 from matrix-org/erikj/split_directory_storeErik Johnston2018-03-052-28/+30
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Split Directory store
| * | | | | Fix cache invalidation on deletionErik Johnston2018-03-051-1/+4
| | | | | |
| * | | | | Split Directory storeErik Johnston2018-03-052-27/+26
| |/ / / /
* | | | | Merge pull request #2943 from ↵Richard van der Hoff2018-03-052-12/+138
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | matrix-org/rav/fix_find_first_stream_ordering_after_ts Test and fix find_first_stream_ordering_after_ts
| * | | | Fix comment typoRichard van der Hoff2018-03-051-1/+1
| | | | |
| * | | | Test and fix find_first_stream_ordering_after_tsRichard van der Hoff2018-03-052-15/+120
| | | | | | | | | | | | | | | | | | | | It seemed to suffer from a bunch of off-by-one errors.
| * | | | Add find_first_stream_ordering_after_tsRichard van der Hoff2018-03-051-0/+21
| | | | | | | | | | | | | | | | | | | | Expose this as a public function which can be called outside a txn
* | | | | Merge pull request #2934 from matrix-org/erikj/cache_fixErik Johnston2018-03-052-13/+15
|\ \ \ \ \ | | | | | | | | | | | | Fix bug with delayed cache invalidation stream
| * | | | | Fix bug with delayed cache invalidation streamErik Johnston2018-03-022-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We poked the notifier before updated the current token for the cache invalidation stream. This mean that sometimes the update wouldn't be sent until the next time a cache was invalidated.
* | | | | | Merge pull request #2929 from matrix-org/erikj/split_regististration_storeErik Johnston2018-03-052-72/+64
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Split registration store
| * | | | | Split registration storeErik Johnston2018-03-022-72/+64
| | | | | |
* | | | | | Merge pull request #2933 from matrix-org/erikj/3pid_yieldErik Johnston2018-03-021-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Add missing yield during 3pid signature checks
| * | | | | Add missing yield during 3pid signature checksErik Johnston2018-03-021-1/+1
|/ / / / /
* | | | | Merge pull request #2928 from matrix-org/erikj/read_marker_cachesErik Johnston2018-03-011-1/+1
|\ \ \ \ \ | | |/ / / | |/| | | Fix typo in getting replication account data processing
| * | | | Fix typo in getting replication account data processingErik Johnston2018-03-011-1/+1
| | | | |
* | | | | Merge pull request #2925 from matrix-org/erikj/split_sig_fedErik Johnston2018-03-013-180/+152
|\ \ \ \ \ | |_|/ / / |/| | | | Split out SignatureStore and EventFederationStore
| * | | | Remove unused DataStoreErik Johnston2018-03-011-1/+0
| | | | |
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_sig_fedErik Johnston2018-03-017-445/+428
| |\ \ \ \
| * | | | | Stub out broken function only used for cacheErik Johnston2018-03-011-1/+3
| | | | | |
| * | | | | Split out SignatureStore and EventFederationStoreErik Johnston2018-03-013-174/+148
| | | | | |
* | | | | | Merge pull request #2927 from matrix-org/erikj/read_marker_cachesErik Johnston2018-03-014-5/+46
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | Improve caching for read_marker API
| * | | | | Fewer lies are betterErik Johnston2018-03-011-2/+2
| | | | | |
| * | | | | Improve caching for read_marker APIErik Johnston2018-03-013-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add a new storage function to get a paritcular type of room account data. This allows us to prefill the cache when updating that acount data.
| * | | | | Add some caches to help read marker APIErik Johnston2018-03-013-2/+5
| |/ / / /
* | | | | Merge pull request #2926 from matrix-org/erikj/member_handler_moveErik Johnston2018-03-0111-40/+52
|\ \ \ \ \ | |_|/ / / |/| | | | Move RoomMemberHandler out of Handlers
| * | | | Move back to hs.is_mineErik Johnston2018-03-011-7/+6
| | | | |
| * | | | Move RoomMemberHandler out of HandlersErik Johnston2018-03-0111-45/+58
| |/ / /
* | | | Merge pull request #2924 from matrix-org/erikj/split_stream_storeErik Johnston2018-03-013-219/+208
|\ \ \ \ | | | | | | | | | | Split out stream store
| * \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-03-016-225/+221
| |\ \ \ \ | |/ / / / |/| | | | | | | | | erikj/split_stream_store
* | | | | Merge pull request #2923 from matrix-org/erikj/stream_ago_workerErik Johnston2018-03-013-80/+85
|\ \ \ \ \ | | | | | | | | | | | | Calculate stream_ordering_month_ago correctly on workers
| * | | | | Default stream_ordering_*_ago to NoneErik Johnston2018-03-011-2/+2
| | | | | |
| * | | | | Fix comment typoErik Johnston2018-03-011-1/+1
| | | | | |
| * | | | | Calculate stream_ordering_month_ago correctly on workersErik Johnston2018-03-013-80/+85
| | |/ / / | |/| | |
* | | | | Merge pull request #2922 from matrix-org/erikj/split_room_storeErik Johnston2018-03-012-135/+125
|\ \ \ \ \ | | | | | | | | | | | | Split up RoomStore
| * | | | | Split up RoomStoreErik Johnston2018-03-012-135/+125
| |/ / / /
* | | | | Merge pull request #2921 from matrix-org/rav/unyielding_make_deferred_yieldableRichard van der Hoff2018-03-011-9/+11
|\ \ \ \ \ | |/ / / / |/| | | | Rewrite make_deferred_yieldable avoiding inlineCallbacks
| * | | | Rewrite make_deferred_yieldable avoiding inlineCallbacksRichard van der Hoff2018-03-011-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | ... because (a) it's actually simpler (b) it might be marginally more performant?
| | * | | Remove unused variablesErik Johnston2018-03-011-8/+1
| | | | |
| | * | | Document abstract class and method betterErik Johnston2018-03-011-8/+13
| | | | |
| | * | | Split out stream storeErik Johnston2018-03-013-210/+202
| |/ / / |/| | |
* | | | Merge pull request #2920 from matrix-org/erikj/retry_send_eventErik Johnston2018-03-011-6/+43
|\ \ \ \ | | | | | | | | | | Make repl send_event idempotent and retry on timeouts
| * | | | Log in the correct placesErik Johnston2018-03-011-2/+4
| | | | |
| * | | | Don't do preserve_fn for every requestErik Johnston2018-03-011-1/+2
| | | | |
| * | | | Add some loggingErik Johnston2018-03-011-0/+2
| | | | |
| * | | | Make repl send_event idempotent and retry on timeoutsErik Johnston2018-03-011-6/+38
|/ / / / | | | | | | | | | | | | | | | | | | | | If we treated timeouts as failures on the worker we would attempt to clean up e.g. push actions while the master might still process the event.
* | | | Merge pull request #2875 from matrix-org/erikj/push_actions_workerErik Johnston2018-03-013-30/+88
|\ \ \ \ | |/ / / |/| | | Calculate push actions on worker
| * | | Check event auth on the workerErik Johnston2018-03-011-16/+16
| | | |
| * | | Correctly send ratelimit and extra_users paramsErik Johnston2018-03-012-1/+15
| | | |
| * | | Fixup commentsErik Johnston2018-03-011-4/+4
| | | |
| * | | Calculate push actions on workerErik Johnston2018-02-283-26/+70
| | | |
* | | | Merge pull request #2913 from matrix-org/erikj/store_pushErik Johnston2018-02-286-98/+101
|\| | | | | | | | | | | Move storage functions for push calculations
| * | | Move storage functions for push calculationsErik Johnston2018-02-276-98/+101
|/ / / | | | | | | | | | This will allow push actions for an event to be calculated on workers.
* | | Merge pull request #2904 from matrix-org/erikj/receipt_cache_invalidationErik Johnston2018-02-272-14/+16
|\ \ \ | | | | | | | | Fix missing invalidations for receipt storage
| * | | Fix missing invalidations for receipt storageErik Johnston2018-02-212-14/+16
| | | |
* | | | Merge pull request #2903 from matrix-org/erikj/split_roommember_storeErik Johnston2018-02-272-207/+187
|\ \ \ \ | | | | | | | | | | Split out RoomMemberStore
| * \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-02-2313-594/+647
| |\ \ \ \ | | | | | | | | | | | | | | | | | | erikj/split_roommember_store
| * | | | | Update copyrightErik Johnston2018-02-233-0/+3
| | | | | |
| * | | | | Split out RoomMemberStoreErik Johnston2018-02-212-206/+184
| | | | | |
* | | | | | Merge pull request #2901 from matrix-org/erikj/split_as_storesErik Johnston2018-02-272-37/+29
|\ \ \ \ \ \ | | | | | | | | | | | | | | Split AS stores
| * | | | | | Add commentErik Johnston2018-02-271-0/+4
| | | | | | |
| * | | | | | Update copyrightErik Johnston2018-02-232-0/+2
| | | | | | |
| * | | | | | Split AS storesErik Johnston2018-02-212-37/+23
| |/ / / / /
* | | | | | Merge pull request #2892 from matrix-org/erikj/batch_inserts_push_actionsErik Johnston2018-02-264-28/+53
|\ \ \ \ \ \ | | | | | | | | | | | | | | Batch inserts into event_push_actions_staging
| * | | | | | Update commentsErik Johnston2018-02-211-3/+4
| | | | | | |
| * | | | | | Fix unit testsErik Johnston2018-02-202-5/+7
| | | | | | |
| * | | | | | Batch inserts into event_push_actions_stagingErik Johnston2018-02-202-23/+45
| | | | | | |
* | | | | | | Merge pull request #2894 from matrix-org/erikj/handle_unpersisted_events_pushErik Johnston2018-02-263-35/+62
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Ensure all push actions are deleted from staging
| * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-02-2615-687/+747
| |\ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | erikj/handle_unpersisted_events_push
* | | | | | | Merge pull request #2900 from matrix-org/erikj/split_event_push_actionsErik Johnston2018-02-232-91/+77
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Split out EventPushActionWorkerStore
| * \ \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-02-2312-507/+570
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | erikj/split_event_push_actions
* | | | | | | | Merge pull request #2902 from matrix-org/erikj/split_events_storeErik Johnston2018-02-233-370/+405
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Split out get_events and co into a worker store
| * | | | | | | | Split EventsWorkerStore into separate fileErik Johnston2018-02-233-361/+401
| | | | | | | | |
| * | | | | | | | Update copyrightErik Johnston2018-02-232-0/+2
| | | | | | | | |
| * | | | | | | | Remove redundant clockErik Johnston2018-02-231-3/+0
| | | | | | | | |
| * | | | | | | | _event_persist_queue shouldn't be in worker storeErik Johnston2018-02-231-4/+4
| | |_|_|/ / / / | |/| | | | | |
| * | | | | | | Split out get_events and co into a worker storeErik Johnston2018-02-212-356/+352
| | | | | | | |
* | | | | | | | Merge pull request #2899 from matrix-org/erikj/split_pushersErik Johnston2018-02-232-13/+10
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Split PusherStore
| * | | | | | | | Update copyrightErik Johnston2018-02-232-0/+2
| | | | | | | | |
| * | | | | | | | Split PusherStoreErik Johnston2018-02-212-13/+8
| |/ / / / / / /
* | | | | | | | Merge pull request #2898 from matrix-org/erikj/split_push_rules_storeErik Johnston2018-02-233-45/+64
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Split PushRulesStore
| * | | | | | | | Update copyrightErik Johnston2018-02-233-0/+3
| | | | | | | | |
| * | | | | | | | Split PushRulesStoreErik Johnston2018-02-213-45/+61
| |/ / / / / / /
* | | | | | | | Merge pull request #2897 from matrix-org/erikj/split_account_dataErik Johnston2018-02-234-69/+74
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | Split AccountDataStore and TagStore
| * | | | | | | Update copyrightErik Johnston2018-02-233-0/+3
| | | | | | | |
| * | | | | | | Use absolute importsErik Johnston2018-02-233-5/+5
| | | | | | | |
| * | | | | | | Split AccountDataStore and TagStoreErik Johnston2018-02-214-67/+69
| |/ / / / / /
* | | | | | | Merge pull request #2893 from matrix-org/erikj/delete_from_staging_fedErik Johnston2018-02-211-9/+17
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Delete from push_actions_staging in federation too