summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Make Distributor run its processes as a background processRichard van der Hoff2018-07-182-78/+22
| | | | | | | | | | | This is more involved than it might otherwise be, because the current implementation just drops its logcontexts and runs everything in the sentinel context. It turns out that we aren't actually using a bunch of the functionality here (notably suppress_failures and the fact that Distributor.fire returns a deferred), so the easiest way to fix this is actually by simplifying a bunch of code.
* changelogRichard van der Hoff2018-07-181-0/+1
|
* Run things as background processesRichard van der Hoff2018-07-187-26/+44
| | | | | | | | This fixes #3518, and ensures that we get useful logs and metrics for lots of things that happen in the background. (There are certainly more things that happen in the background; these are just the common ones I've found running a single-process synapse locally).
* Merge pull request #3553 from matrix-org/rav/background_process_trackingRichard van der Hoff2018-07-183-5/+187
|\ | | | | Resource tracking for background processes
| * changelogRichard van der Hoff2018-07-181-0/+1
| |
| * Resource tracking for background processesRichard van der Hoff2018-07-182-5/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a mechanism for tracking resource usage by background processes, along with an example of how it will be used. This will help address #3518, but more importantly will give us better insights into things which are happening but not being shown up by the request metrics. We *could* do this with Measure blocks, but: - I think having them pulled out as a completely separate metric class will make it easier to distinguish top-level processes from those which are nested. - I want to be able to report on in-flight background processes, and I don't think we want to do this for *all* Measure blocks.
* | Merge pull request #3367 from matrix-org/rav/drop_re_signing_hacksRichard van der Hoff2018-07-182-43/+1
|\ \ | | | | | | Remove event re-signing hacks
| * | Add changelogRichard van der Hoff2018-07-041-0/+1
| | |
| * | Merge branch 'develop' into rav/drop_re_signing_hacksRichard van der Hoff2018-07-04152-642/+2188
| |\ \
| * | | Remove event re-signing hacksRichard van der Hoff2018-06-071-43/+0
| | | | | | | | | | | | | | | | | | | | | | | | These "temporary fixes" have been here three and a half years, and I can't find any events in the matrix.org database where the calculated signature differs from what's in the db. It's time for them to go away.
* | | | Merge pull request #3514 from matrix-org/dbkr/turn_dont_add_defaultsDavid Baker2018-07-182-2/+3
|\ \ \ \ | |_|_|/ |/| | | Comment dummy TURN parameters in default config
| * | | I failed to correctly guess the PR numberDavid Baker2018-07-111-0/+0
| | | |
| * | | Comment dummy TURN parameters in default configDavid Baker2018-07-112-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This default config is parsed and used a base before the actual config is overlaid, so with these values not commented out, the code to detect when no turn params were set and refuse to generate credentials was never firing because the dummy default was always set.
* | | | Merge pull request #3546 from matrix-org/rav/fix_erasure_over_federationRichard van der Hoff2018-07-173-56/+133
|\ \ \ \ | | | | | | | | | | Fix visibility of events from erased users over federation
| * | | | add a commentRichard van der Hoff2018-07-171-0/+2
| | | | |
| * | | | changelogRichard van der Hoff2018-07-171-0/+1
| | | | |
| * | | | Fix visibility of events from erased users over federationRichard van der Hoff2018-07-172-56/+130
|/ / / /
* | | | Merge pull request #3541 from matrix-org/rav/optimize_filter_events_for_serverRichard van der Hoff2018-07-174-138/+409
|\ \ \ \ | | | | | | | | | | Refactor and optimze filter_events_for_server
| * | | | fix importsRichard van der Hoff2018-07-172-0/+2
| | | | |
| * | | | add a commentRichard van der Hoff2018-07-171-0/+2
| | | | |
| * | | | ChangelogRichard van der Hoff2018-07-161-0/+1
| | | | |
| * | | | Attempt to make _filter_events_for_server more efficientRichard van der Hoff2018-07-161-17/+23
| | | | |
| * | | | Add a test which profiles filter_events_for_server in a large roomRichard van der Hoff2018-07-161-2/+155
| | | | |
| * | | | Move filter_events_for_server out of FederationHandlerRichard van der Hoff2018-07-163-138/+245
| | | | | | | | | | | | | | | | | | | | for easier unit testing.
* | | | | Refactor REST API tests to use explicit reactors (#3351)Amber Brown2018-07-1713-934/+939
| | | | |
* | | | | Merge pull request #3544 from matrix-org/erikj/fixup_stream_cacheErik Johnston2018-07-173-1/+19
|\ \ \ \ \ | | | | | | | | | | | | Fix perf regression in PR #3530
| * | | | | Use efficient .intersectionErik Johnston2018-07-171-4/+1
| | | | | |
| * | | | | Add unit testErik Johnston2018-07-171-0/+16
| | | | | |
| * | | | | NewsfileErik Johnston2018-07-171-0/+0
| | | | | |
| * | | | | Fix perf regression in PR #3530Erik Johnston2018-07-171-1/+6
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The get_entities_changed function was changed to return all changed entities since the given stream position, rather than only those changed from a given list of entities. This resulted in the function incorrectly returning large numbers of entities that, for example, caused large increases in database usage.
* | | | | Merge pull request #3530 from matrix-org/erikj/stream_cacheAmber Brown2018-07-173-11/+4
|\ \ \ \ \ | | | | | | | | | | | | Don't return unknown entities in get_entities_changed
| * | | | | Fixup unit testErik Johnston2018-07-131-3/+3
| | | | | |
| * | | | | NewsfileErik Johnston2018-07-131-0/+0
| | | | | |
| * | | | | Don't return unknown entities in get_entities_changedErik Johnston2018-07-131-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stream cache keeps track of all entities that have changed since a particular stream position, so get_entities_changed does not need to return unknown entites when given a larger stream position. This makes it consistent with the behaviour of has_entity_changed.
* | | | | | Merge pull request #3540 from krombel/enforce_isortAmber Brown2018-07-178-9/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | check isort by travis
| * | | | | | rename 'isort' to 'check_isort' as requestedKrombel2018-07-162-3/+3
| | | | | | |
| * | | | | | rerun isort with latest versionKrombel2018-07-166-20/+4
| | | | | | |
| * | | | | | check isort by travisKrombel2018-07-1614-13/+37
|/ / / / / /
* | | | | | Fix develop because I broke it :( (#3535)Amber Brown2018-07-143-2/+5
| | | | | |
* | | | | | Merge pull request #3534 from krombel/use_parse_and_asserts_from_servletAmber Brown2018-07-1418-165/+102
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use parse and asserts from http.servlet
| * | | | | | fix sytestsAmber Brown2018-07-141-1/+1
| | | | | | |
| * | | | | | add changelogKrombel2018-07-132-1/+2
| | | | | | |
| * | | | | | rename assert_params_in_request to assert_params_in_dictKrombel2018-07-1311-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the method "assert_params_in_request" does handle dicts and not requests. A request body has to be parsed to json before this method can be used
| * | | | | | Use parse_{int,str} and assert from http.servletKrombel2018-07-1314-155/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable
* | | | | | | Make auth & transactions more testable (#3499)Amber Brown2018-07-1410-98/+97
|/ / / / / /
* | | | | | Merge pull request #3533 from matrix-org/rav/fix_federation_ratelimite_queueRichard van der Hoff2018-07-133-10/+25
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Make FederationRateLimiter queue requests properly
| * | | | | better changelogRichard van der Hoff2018-07-131-1/+1
| | | | | |
| * | | | | changelogRichard van der Hoff2018-07-131-0/+1
| | | | | |
| * | | | | Fix unit testsRichard van der Hoff2018-07-131-0/+1
| | | | | |
| * | | | | Make FederationRateLimiter queue requests properlyRichard van der Hoff2018-07-131-10/+23
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | popitem removes the *most recent* item by default [1]. We want the oldest. Fixes #3524 [1]: https://docs.python.org/2/library/collections.html#collections.OrderedDict.popitem
* / / / / typoMatthew Hodgson2018-07-131-3/+3
|/ / / /
* | | | Merge pull request #3521 from matrix-org/rav/optimise_stream_change_cacheRichard van der Hoff2018-07-122-8/+13
|\ \ \ \ | | | | | | | | | | Reduce set building in get_entities_changed
| * | | | changelogRichard van der Hoff2018-07-121-0/+1
| | | | |
| * | | | Reduce set building in get_entities_changedRichard van der Hoff2018-07-121-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This line shows up as about 5% of cpu time on a synchrotron: not_known_entities = set(entities) - set(self._entity_to_key) Presumably the problem here is that _entity_to_key can be largeish, and building a set for its keys every time this function is called is slow. Here we rewrite the logic to avoid building so many sets.
* | | | | Merge pull request #3316 from matrix-org/rav/enforce_report_apiRichard van der Hoff2018-07-122-2/+25
|\ \ \ \ \ | |/ / / / |/| | | | Enforce the specified API for report_event
| * | | | changelogRichard van der Hoff2018-07-121-0/+1
| | | | |
| * | | | Merge branch 'develop' into rav/enforce_report_apiRichard van der Hoff2018-07-12370-2555/+5185
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge pull request #3505 from matrix-org/erikj/receipts_cahceErik Johnston2018-07-123-7/+21
|\ \ \ \ \ | |_|/ / / |/| | | | Use stream cache in get_linearized_receipts_for_room
| * | | | Update return value docstringErik Johnston2018-07-121-1/+1
| | | | |
| * | | | Use 'is not None' and add commentsErik Johnston2018-07-101-2/+6
| | | | |
| * | | | NewsfileErik Johnston2018-07-101-0/+1
| | | | |
| * | | | Use stream cache in get_linearized_receipts_for_roomErik Johnston2018-07-102-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | This avoids us from uncessarily hitting the database when there has been no change for the room
* | | | | Merge pull request #3498 from OlegGirko/fix_attrs_syntaxAmber Brown2018-07-112-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use more portable syntax using attrs package. Newer syntax attr.ib(factory=dict) is just a syntactic sugar for attr.ib(default=attr.Factory(dict)) It was introduced in newest version of attrs package (18.1.0) and doesn't work with older versions. We should either require minimum version of attrs to be 18.1.0, or use older (slightly more verbose) syntax. Requiring newest version is not a good solution because Linux distributions may have older version of attrs (17.4.0 in Fedora 28), and requiring to build (and package) newer version just to use newer syntactic sugar in only one test is just too much. It's much better to fix that test to use older syntax. Signed-off-by: Oleg Girko <ol@infoserver.lv>
| * | | | | changelog entryAmber Brown2018-07-111-0/+0
| | | | | |
| * | | | | Use more portable syntax using attrs package.Oleg Girko2018-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer syntax attr.ib(factory=dict) is just a syntactic sugar for attr.ib(default=attr.Factory(dict)) It was introduced in newest version of attrs package (18.1.0) and doesn't work with older versions. We should either require minimum version of attrs to be 18.1.0, or use older (slightly more verbose) syntax. Requiring newest version is not a good solution because Linux distributions may have older version of attrs (17.4.0 in Fedora 28), and requiring to build (and package) newer version just to use newer syntactic sugar in only one test is just too much. It's much better to fix that test to use older syntax. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* | | | | | s/becuase/because/gMatthew Hodgson2018-07-103-4/+4
| |/ / / / |/| | | |
* | | | | Attempt to include db threads in cpu usage stats (#3496)Richard van der Hoff2018-07-104-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | Let's try to include time spent in the DB threads in the per-request/block cpu usage metrics.
* | | | | Refactor logcontext resource usage tracking (#3501)Richard van der Hoff2018-07-105-130/+146
| | | | | | | | | | | | | | | | | | | | | | | | | Factor out the resource usage tracking out to a separate object, which can be passed around and copied independently of the logcontext itself.
* | | | | another typoMatthew Hodgson2018-07-101-1/+1
| | | | |
* | | | | typo (i think)Matthew Hodgson2018-07-101-1/+1
| | | | |
* | | | | Merge pull request #3497 from matrix-org/rav/measure_fetch_event_loopRichard van der Hoff2018-07-102-19/+33
|\ \ \ \ \ | |/ / / / |/| | | | Add CPU metrics for _fetch_event_list
| * | | | changelogRichard van der Hoff2018-07-091-0/+1
| | | | |
| * | | | Add CPU metrics for _fetch_event_listRichard van der Hoff2018-07-091-19/+32
|/ / / / | | | | | | | | | | | | | | | | add a Measure block on _fetch_event_list, in the hope that we can better measure CPU usage here.
* | | | Merge pull request #3464 from matrix-org/hawkowl/isort-runRichard van der Hoff2018-07-09335-1528/+1609
|\ \ \ \ | | | | | | | | | | Run isort on Synapse
| * | | | changelogAmber Brown2018-07-091-0/+0
| | | | |
| * | | | run isortAmber Brown2018-07-09334-1528/+1609
|/ / / /
* | | | Add an isort configuration (#3463)Amber Brown2018-07-092-0/+12
| | | |
* | | | changelog v0.32.2 github/release-v0.32.2 release-v0.32.2Amber Brown2018-07-072-1/+9
| | | |
* | | | versionAmber Brown2018-07-071-1/+1
| | | |
* | | | Correct attrs package name in requirements (#3492)Amber Brown2018-07-073-1/+3
| | | |
* | | | Merge tag 'v0.32.1'Richard van der Hoff2018-07-063-4/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 0.32.1 (2018-07-06) =========================== Bugfixes -------- - Add explicit dependency on netaddr ([#3488](https://github.com/matrix-org/synapse/issues/3488))
| * | | | Prepare 0.32.1 release v0.32.1 github/release-v0.32.1 release-v0.32.1Richard van der Hoff2018-07-063-2/+10
| | | | |
| * | | | Merge pull request #3488 from matrix-org/rav/fix-netaddr-depRichard van der Hoff2018-07-062-3/+2
|/| | | | | | | | | | | | | | Add explicit dependency on netaddr
| * | | | Add explicit dependency on netaddrRichard van der Hoff2018-07-062-3/+2
|/ / / / | | | | | | | | | | | | | | | | the dependencies file, causing failures on upgrade (and presumably for new installs).
* | | | 0.32.0 version bump, update changelog v0.32.0 github/release-v0.32.0 release-v0.32.0Neil Johnson2018-07-062-1/+5
| | | |
* | | | changelog v0.32.0rc1Amber Brown2018-07-0529-19/+47
| | | |
* | | | ACL changelogAmber Brown2018-07-051-0/+1
| | | |
* | | | bump version to 0.32.0rc1Amber Brown2018-07-051-1/+1
| | | |
* | | | Merge remote-tracking branch 'hera/rav/server_acls' into developNeil Johnson2018-07-055-4/+213
|\ \ \ \
| * | | | Implementation of server_aclsRichard van der Hoff2018-07-045-4/+213
| | | | | | | | | | | | | | | | | | | | | | | | | ... as described at https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw.
* | | | | Merge pull request #3483 from matrix-org/rav/more_server_name_validationErik Johnston2018-07-055-13/+68
|\| | | | | | | | | | | | | | More server_name validation
| * | | | More server_name validationRichard van der Hoff2018-07-045-13/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to do a bit more validation when we get a server name, but don't want to be re-doing it all over the shop, so factor out a separate parse_and_validate_server_name, and do the extra validation. Also, use it to verify the server name in the config file.
* | | | | Merge pull request #3481 from matrix-org/rav/fix_cachedescriptor_testRichard van der Hoff2018-07-042-2/+16
|\ \ \ \ \ | |/ / / / |/| | | | Reinstate lost run_on_reactor in unit test
| * | | | Reinstate lost run_on_reactor in unit testRichard van der Hoff2018-07-042-2/+16
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | a61738b removed a call to run_on_reactor from a unit test, but that call was doing something useful, in making the function in question asynchronous. Reinstate the call and add a check that we are testing what we wanted to be testing.
* | | | Merge pull request #3473 from matrix-org/erikj/thread_cacheErik Johnston2018-07-042-1/+3
|\ \ \ \ | | | | | | | | | | Invalidate cache on correct thread
| * | | | Correct newsfileErik Johnston2018-07-022-0/+1
| | | | |
| * | | | NewsfileErik Johnston2018-07-021-0/+0
| | | | |
| * | | | Invalidate cache on correct threadErik Johnston2018-07-021-1/+2
| | | | |
* | | | | Merge pull request #3474 from matrix-org/erikj/py3_authErik Johnston2018-07-042-1/+6
|\ \ \ \ \ | |_|/ / / |/| | | | Fix up auth check
| * | | | NewsfileErik Johnston2018-07-021-0/+0
| | | | |
| * | | | Avoid relying on int vs None comparisonErik Johnston2018-07-021-1/+5
| | | | | | | | | | | | | | | | | | | | Python 3 doesn't support comparing None to ints
| * | | | Ensure that we define sender_domainErik Johnston2018-07-021-0/+1
| |/ / /
* | | | Reject invalid server names (#3480)Richard van der Hoff2018-07-035-25/+122
| | | | | | | | | | | | | | | | | | | | Make sure that server_names used in auth headers are sane, and reject them with a sensible error code, before they disappear off into the depths of the system.
* | | | Merge pull request #3470 from matrix-org/matthew/fix-utf8-loggingRichard van der Hoff2018-07-022-2/+18
|\ \ \ \ | |/ / / |/| | | don't mix unicode strings with utf8-in-byte-strings
| * | | news snippetMatthew Hodgson2018-07-021-0/+1
| | | |
| * | | replace invalid utf8 with \ufffdMatthew Hodgson2018-07-021-2/+2
| | | |
| * | | a fix which doesn't NPE everywhereMatthew Hodgson2018-07-011-9/+17
| | | |
| * | | don't mix unicode strings with utf8-in-byte-stringsMatthew Hodgson2018-07-011-2/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise we explode with: ``` Traceback (most recent call last): File /usr/lib/python2.7/logging/handlers.py, line 78, in emit logging.FileHandler.emit(self, record) File /usr/lib/python2.7/logging/__init__.py, line 950, in emit StreamHandler.emit(self, record) File /usr/lib/python2.7/logging/__init__.py, line 887, in emit self.handleError(record) File /usr/lib/python2.7/logging/__init__.py, line 810, in handleError None, sys.stderr) File /usr/lib/python2.7/traceback.py, line 124, in print_exception _print(file, 'Traceback (most recent call last):') File /usr/lib/python2.7/traceback.py, line 13, in _print file.write(str+terminator) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_io.py, line 170, in write self.log.emit(self.level, format=u{log_io}, log_io=line) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 144, in emit self.observer(event) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 136, in __call__ errorLogger = self._errorLoggerForObserver(brokenObserver) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 156, in _errorLoggerForObserver if obs is not observer File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 81, in __init__ self.log = Logger(observer=self) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 64, in __init__ namespace = self._namespaceFromCallingContext() File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 42, in _namespaceFromCallingContext return currentframe(2).f_globals[__name__] File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/python/compat.py, line 93, in currentframe for x in range(n + 1): RuntimeError: maximum recursion depth exceeded while calling a Python object Logged from file site.py, line 129 File /usr/lib/python2.7/logging/__init__.py, line 859, in emit msg = self.format(record) File /usr/lib/python2.7/logging/__init__.py, line 732, in format return fmt.format(record) File /usr/lib/python2.7/logging/__init__.py, line 471, in format record.message = record.getMessage() File /usr/lib/python2.7/logging/__init__.py, line 335, in getMessage msg = msg % self.args UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4: ordinal not in range(128) Logged from file site.py, line 129 ``` ...where the logger apparently recurses whilst trying to log the error, hitting the maximum recursion depth and killing everything badly.
* | | Merge pull request #3467 from matrix-org/hawkowl/contributor-requirementsMatthew Hodgson2018-06-302-5/+9
|\ \ \ | | | | | | | | Clarify "real name" in contributor requirements
| * | | topfileAmber Brown2018-06-291-0/+0
| | | |
| * | | clarification on what "real names" areAmber Brown2018-06-291-5/+9
| | | |
* | | | Merge pull request #3456 from matrix-org/hawkowl/federation-prevevent-checkingErik Johnston2018-06-295-30/+319
|\ \ \ \ | | | | | | | | | | Check the state of prev_events a bit more thoroughly when coming over federation
| * | | | topfile updateAmber Brown2018-06-281-2/+1
| | | | |
| * | | | topfileAmber Brown2018-06-271-0/+2
| | | | |
| * | | | try and clean upAmber Brown2018-06-271-3/+6
| | | | |
| * | | | pep8Amber Brown2018-06-272-11/+6
| | | | |
| * | | | cleanupsAmber Brown2018-06-271-1/+4
| | | | |
| * | | | cleanupsAmber Brown2018-06-271-13/+15
| | | | |
| * | | | stylistic cleanupAmber Brown2018-06-271-6/+18
| | | | |
| * | | | cleanupsAmber Brown2018-06-271-7/+6
| | | | |
| * | | | handle federation not telling us about prev_eventsAmber Brown2018-06-274-27/+301
| | | | |
* | | | | Merge pull request #3465 from matrix-org/matthew/as_ip_lockMatthew Hodgson2018-06-285-5/+69
|\ \ \ \ \ | |_|/ / / |/| | | | add ip_range_whitelist parameter to limit where ASes can connect from
| * | | | add testMatthew Hodgson2018-06-281-0/+33
| | | | |
| * | | | add towncrier snippetMatthew Hodgson2018-06-281-0/+1
| | | | |
| * | | | fix testsMatthew Hodgson2018-06-282-3/+16
| | | | |
| * | | | add ip_range_whitelist parameter to limit where ASes can connect fromMatthew Hodgson2018-06-283-2/+19
|/ / / /
* | | | Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-2840-62/+79
| | | |
* | | | Revert "Revert "Try to not use as much CPU in the StreamChangeCache"" (#3454)Amber Brown2018-06-282-2/+4
|/ / /
* | | Better testing framework for homeserver-using things (#3446)Amber Brown2018-06-273-0/+309
| | |
* | | Merge pull request #3452 from matrix-org/revert-3451-hawkowl/sorteddict-apiMatthew Hodgson2018-06-262-4/+2
|\ \ \ | | | | | | | | Revert "Try to not use as much CPU in the StreamChangeCache"
| * | | Revert "Try to not use as much CPU in the StreamChangeCache"Matthew Hodgson2018-06-262-4/+2
|/ / /
* | | Merge pull request #3451 from matrix-org/hawkowl/sorteddict-apiMatthew Hodgson2018-06-262-2/+4
|\ \ \ | | | | | | | | Try to not use as much CPU in the cache
| * | | fixesAmber Brown2018-06-261-2/+2
| | | |
| * | | fixesAmber Brown2018-06-262-2/+2
| | | |
| * | | try and make loading items from the cache fasterAmber Brown2018-06-261-2/+4
| | | |
* | | | Merge pull request #3449 from ↵Matthew Hodgson2018-06-261-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | matrix-org/dbkr/fix_deactivate_account_multiple_pending Fix error on deleting users pending deactivation
| * | | | Fix error on deleting users pending deactivationDavid Baker2018-06-261-1/+3
|/ / / / | | | | | | | | | | | | Use simple_delete instead of simple_delete_one as commented
* | | | Merge pull request #3448 from matrix-org/matthew/gdpr-deactivate-admin-apiMatthew Hodgson2018-06-263-3/+28
|\ \ \ \ | |/ / / |/| | | add GDPR erase param to deactivate API
| * | | update doc for deactivate APIMatthew Hodgson2018-06-262-3/+16
| | | |
| * | | add GDPR erase param to deactivate APIMatthew Hodgson2018-06-262-1/+13
| | | |
* | | | Merge pull request #3438 from turt2live/travis/dont-print-access-tokens-in-logsAmber Brown2018-06-261-2/+2
|\ \ \ \ | | | | | | | | | | Stop including access tokens in warnings in the log
| * | | | Don't print invalid access tokens in the logsTravis Ralston2018-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Tokens shouldn't be appearing the logs, valid or invalid. Signed-off-by: Travis Ralston <travpc@gmail.com>
* | | | | Merge pull request #3442 from matrix-org/matthew/allow-unconsented-partsErik Johnston2018-06-251-2/+6
|\ \ \ \ \ | | | | | | | | | | | | allow non-consented users to still part rooms (to let us autopart them)
| * | | | | allow non-consented users to still part rooms (to let us autopart them)Matthew Hodgson2018-06-251-2/+6
| | |/ / / | |/| | |
* | | | | Merge pull request #3443 from matrix-org/erikj/fast_filter_serversErik Johnston2018-06-251-0/+41
|\ \ \ \ \ | |/ / / / |/| | | | Add fast path to _filter_events_for_server
| * | | | Actually fix itErik Johnston2018-06-251-3/+3
| | | | |
| * | | | CommentErik Johnston2018-06-251-0/+8
| | | | |
| * | | | Fix bug with assuming wrong typeErik Johnston2018-06-251-2/+2
| | | | |
| * | | | Add fast path to _filter_events_for_serverErik Johnston2018-06-251-1/+34
|/ / / / | | | | | | | | | | | | | | | | | | | | Most rooms have a trivial history visibility like "shared" or "world_readable", especially large rooms, so lets not bother getting the full membership of those rooms in that case.
* | | | typosMatthew Hodgson2018-06-251-1/+1
| | | |
* | | | typoMatthew Hodgson2018-06-251-1/+1
| | | |
* | | | Need to pass reactor to endpoint facErik Johnston2018-06-251-1/+1
| | | |
* | | | Use towncrier to build the changelog (#3425)Amber Brown2018-06-2520-1/+55
| | | |
* | | | Merge pull request #3441 from matrix-org/erikj/redo_erasureErik Johnston2018-06-259-26/+216
|\ \ \ \ | | | | | | | | | | Fix user erasure and re-enable
| * | | | Add UserErasureWorkerStore to workersErik Johnston2018-06-251-0/+2
| | | | |
| * | | | Revert "Revert "Merge pull request #3431 from ↵Erik Johnston2018-06-258-26/+214
| |/ / / | | | | | | | | | | | | | | | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
* / / / Remove all global reactor imports & pass it around explicitly (#3424)Amber Brown2018-06-259-22/+29
|/ / /
* | | Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility"Richard van der Hoff2018-06-228-214/+26
| | | | | | | | | | | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
* | | Merge pull request #3435 from matrix-org/rav/fix_event_push_actions_tablescanRichard van der Hoff2018-06-221-1/+8
|\ \ \ | | | | | | | | Fix event_push_actions tablescan when reinserting events
| * | | Deleting from event_push_actions needs to use an indexMark Haines2018-06-221-1/+8
| | | |
* | | | Merge pull request #3434 from matrix-org/rav/search_loggingRichard van der Hoff2018-06-221-0/+14
|\ \ \ \ | |/ / / |/| | | Add some logging to /search and /context queries
| * | | Also log number of events for serach contextErik Johnston2018-06-221-0/+5
| | | |
| * | | Add some logging to search queriesErik Johnston2018-06-221-0/+9
|/ / /
* | | Merge pull request #3432 from matrix-org/rav/joined_hosts_cache_non_iterableRichard van der Hoff2018-06-221-1/+1
|\ \ \ | | | | | | | | Make _get_joined_hosts_cache cache non-iterable
| * | | Make _get_joined_hosts_cache cache non-iterableErik Johnston2018-06-221-1/+1
| | | |
* | | | Merge pull request #3430 from matrix-org/rav/configurable_push_action_rotationRichard van der Hoff2018-06-221-3/+5
|\ \ \ \ | |/ / / |/| | | Make push actions rotation configurable
| * | | Make push actions rotation configurableErik Johnston2018-06-221-3/+5
| | | |
* | | | Merge pull request #3431 from matrix-org/rav/erasure_visibilityErik Johnston2018-06-228-26/+214
|\ \ \ \ | | | | | | | | | | Support hiding events from deleted users
| * | | | Filter out erased messagesRichard van der Hoff2018-06-122-22/+68
| | | | | | | | | | | | | | | | | | | | Redact any messges sent by erased users.
| * | | | mark accounts as erased when requestedRichard van der Hoff2018-06-123-4/+20
| | | | |
| * | | | UserErasureStoreRichard van der Hoff2018-06-123-0/+126
| | | | | | | | | | | | | | | | | | | | to store which users have been erased
* | | | | Merge pull request #3428 from matrix-org/erikj/persisted_pduErik Johnston2018-06-222-30/+27
|\| | | | | | | | | | | | | | Simplify get_persisted_pdu
| * | | | simplify get_persisted_pduRichard van der Hoff2018-06-122-30/+27
| | | | | | | | | | | | | | | | | | | | | | | | | it doesn't make much sense to use get_persisted_pdu on the receive path: just get the event straight from the store.
* | | | | Merge pull request #3427 from matrix-org/erikj/remove_filtersErik Johnston2018-06-223-92/+35
|\| | | | | |/ / / |/| | | remove dead filter_events_for_clients
| * | | remove dead filter_events_for_clientsRichard van der Hoff2018-06-123-92/+35
| | | | | | | | | | | | | | | | | | | | | | | | This is only used by filter_events_for_client, so we can simplify the whole thing by just doing one user at a time, and removing a dead storage function to boot.
* | | | Merge pull request #3383 from matrix-org/rav/hacky_speedup_state_group_cacheRichard van der Hoff2018-06-223-32/+61
|\ \ \ \ | | | | | | | | | | Improve StateGroupCache efficiency for wildcard lookups
| * | | | Disable partial state group caching for wildcard lookupsRichard van der Hoff2018-06-223-32/+61
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | When _get_state_for_groups is given a wildcard filter, just do a complete lookup. Hopefully this will give us the best of both worlds by not filling up the ram if we only need one or two keys, but also making the cache still work for the federation reader usecase.
* | | | Merge pull request #3382 from matrix-org/rav/optimise_state_groupsRichard van der Hoff2018-06-221-5/+1
|\ \ \ \ | | | | | | | | | | Optimise state_group_cache update
| * | | | Optimise state_group_cache updateRichard van der Hoff2018-06-111-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | (1) matrix-org-hotfixes has removed the intern calls; let's do the same here. (2) remove redundant iteritems() so we can used an optimised db update.
* | | | | Merge pull request #3419 from matrix-org/rav/events_per_requestRichard van der Hoff2018-06-223-1/+23
|\ \ \ \ \ | | | | | | | | | | | | Log number of events fetched from DB
| * | | | | Indirect evt_count updates via method callRichard van der Hoff2018-06-222-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | so that we can stub it for the sentinel and not have a billion failing UTs
| * | | | | Log number of events fetched from DBRichard van der Hoff2018-06-213-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we finish processing a request, log the number of events we fetched from the database to handle it. [I'm trying to figure out which requests are responsible for large amounts of event cache churn. It may turn out to be more helpful to add counts to the prometheus per-request/block metrics, but that is an extension to this code anyway.]
* | | | | | Merge pull request #3418 from matrix-org/rav/fix_metric_descAmber Brown2018-06-221-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix description of "python_gc_time" metric
| * | | | | | Fix description of "python_gc_time" metricRichard van der Hoff2018-06-211-1/+1
| | | | | | |
* | | | | | | Pass around the reactor explicitly (#3385)Amber Brown2018-06-2225-93/+141
| | | | | | |
* | | | | | | Populate synapse_federation_client_sent_pdu_destinations:count again (#3386)Amber Brown2018-06-211-3/+7
| | | | | | |
* | | | | | | Fix tcp protocol metrics naming (#3410)Amber Brown2018-06-211-18/+35
| |/ / / / / |/| | | | |
* | | | | | Merge pull request #3416 from matrix-org/rav/restart_indicatorRichard van der Hoff2018-06-202-12/+19
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Write a clear restart indicator in logs
| * | | | | Write a clear restart indicator in logsRichard van der Hoff2018-06-202-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm fed up with never being able to find the point a server restarted in the logs.
* | | | | | Merge pull request #3399 from costacruise/masterRichard van der Hoff2018-06-201-2/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add error code to room creation error
| * | | | | | Add error code to room creation errorMichael Wagner2018-06-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
* | | | | | | Fix inflight requests metric (incorrect name & traceback) (#3413)Amber Brown2018-06-201-3/+7
| |/ / / / / |/| | | | |
* | | | | | spell gauge correctlyMatthew Hodgson2018-06-161-1/+1
| | | | | |
* | | | | | Merge branch 'master' into developRichard van der Hoff2018-06-146-47/+243
|\ \ \ \ \ \
| * \ \ \ \ \ Merge tag 'v0.31.2'Richard van der Hoff2018-06-146-47/+243
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SECURITY UPDATE: Prevent unauthorised users from setting state events in a room when there is no `m.room.power_levels` event in force in the room. (PR #3397) Discussion around the Matrix Spec change proposal for this change can be followed at https://github.com/matrix-org/matrix-doc/issues/1304.
| | * | | | | link to spec proposal from changelog v0.31.2 github/release-v0.31.2 release-v0.31.2Richard van der Hoff2018-06-141-0/+3
| | | | | | |
| | * | | | | v0.31.2Richard van der Hoff2018-06-141-1/+2
| | | | | | |
| | * | | | | changelog for 0.31.2Richard van der Hoff2018-06-141-0/+6
| | | | | | |
| | * | | | | Merge pull request #3397 from matrix-org/rav/adjust_auth_rulesRichard van der Hoff2018-06-144-46/+232
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | Adjust event auth rules when there is no PL event
| | | * | | | | Fix broken unit testRichard van der Hoff2018-06-141-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need power levels for this test to do what it is supposed to do.
| | | * | | | | remove spurious debugRichard van der Hoff2018-06-141-2/+0
| | | | | | | |
| | | * | | | | Make default state_default 50Richard van der Hoff2018-06-142-20/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it so that, before there is a power-levels event in the room, you need a power level of at least 50 to send state. Partially addresses https://github.com/matrix-org/matrix-doc/issues/1192
| | | * | | | | Clarify interface for event_authRichard van der Hoff2018-06-141-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stop pretending that it returns a boolean, which just almost gave me a heart attack.
| | | * | | | | Refactor get_send_level to take a power_levels eventRichard van der Hoff2018-06-142-8/+39
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | it makes it easier for me to reason about
* | | | | | | add a last seen metric (#3396)Amber Brown2018-06-141-0/+21
| | | | | | |
* | | | | | | Remove run_on_reactor (#3395)Amber Brown2018-06-1413-63/+6
| | | | | | |
* | | | | | | Merge pull request #3368 from matrix-org/rav/fix_federation_client_hostRichard van der Hoff2018-06-131-14/+51
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix commandline federation_client to send the right Host header
| * | | | | | | Fix federation_client to send the right HostRichard van der Hoff2018-06-121-14/+51
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This appears to have stopped working since matrix.org moved to cloudflare. The Host header should match the name of the server, not whatever is in the SRV record.
* | | | | | | Merge pull request #3389 from turt2live/travis/name_metricsAmber Brown2018-06-1311-11/+11
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Use the correct flag (enable_metrics) when warning about an incorrect metrics setup
| * | | | | | | The flag is named enable_metrics, not collect_metricsTravis Ralston2018-06-1211-11/+11
| |/ / / / / / | | | | | | | | | | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
* | | | | | | Merge pull request #3390 from turt2live/travis/appsvc-metricsAmber Brown2018-06-131-1/+2
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Use the RegistryProxy for appservices too
| * | | | | | Use the RegistryProxy for appservices tooTravis Ralston2018-06-121-1/+2
|/ / / / / / | | | | | | | | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
* | | | | | Merge pull request #3276 from matrix-org/dbkr/unbindDavid Baker2018-06-116-16/+115
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove email addresses / phone numbers from ID servers when they're removed from synapse
| * | | | | | pep8David Baker2018-06-061-3/+3
| | | | | | |
| * | | | | | More doc fixesDavid Baker2018-06-061-2/+2
| | | | | | |
| * | | | | | fix pep8David Baker2018-06-051-3/+5
| | | | | | |
| * | | | | | doc fixesDavid Baker2018-06-052-7/+7
| | | | | | |
| * | | | | | DocstringDavid Baker2018-06-041-0/+14
| | | | | | |
| * | | | | | Fix commentDavid Baker2018-06-041-1/+1
| | | | | | |
| * | | | | | Missing yieldDavid Baker2018-06-041-1/+1
| | | | | | |
| * | | | | | docstringDavid Baker2018-06-041-1/+9
| | | | | | |
| * | | | | | Merge remote-tracking branch 'origin/develop' into dbkr/unbindDavid Baker2018-05-2424-74/+485
| |\ \ \ \ \ \
| * | | | | | | pep8David Baker2018-05-244-8/+13
| | | | | | | |
| * | | | | | | commentDavid Baker2018-05-241-0/+4
| | | | | | | |
| * | | | | | | Unbind 3pids when they're deleted tooDavid Baker2018-05-242-3/+18
| | | | | | | |
| * | | | | | | Hit the 3pid unbind endpoint on deactivationDavid Baker2018-05-234-12/+63
| | | | | | | |
* | | | | | | | fix idiotic typo in state resMatthew Hodgson2018-06-111-2/+2
| | | | | | | |
* | | | | | | | Merge branch 'master' into developNeil Johnson2018-06-082-1/+13
|\ \ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge tag 'v0.31.1'Neil Johnson2018-06-083-5/+20
| |\ \ \ \ \ \ \ | | | |_|/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in synapse v0.31.1 (2018-06-08) ======================================= v0.31.1 fixes a security bug in the ``get_missing_events`` federation API where event visibility rules were not applied correctly. We are not aware of it being actively exploited but please upgrade asap. Bug Fixes: * Fix event filtering in get_missing_events handler (PR #3371)
| | * | | | | | tweak changelog v0.31.1 github/release-v0.31.1 release-v0.31.1Neil Johnson2018-06-081-2/+4
| | | | | | | |
| | * | | | | | Update CHANGES.rstNeil Johnson2018-06-081-1/+1
| | | | | | | |
| | * | | | | | changelog a bump versionNeil Johnson2018-06-082-1/+11
| | | |_|/ / / | | |/| | | |
| | * | | | | Fix event filtering in get_missing_events handlerRichard van der Hoff2018-06-081-0/+4
| | | | | | |
| | * | | | | fix various changelog bugs and typosMatthew Hodgson2018-06-081-4/+3
| | | | | | |
* | | | | | | Merge pull request #3372 from matrix-org/rav/better_verification_loggingDavid Baker2018-06-081-6/+25
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Try to log more helpful info when a sig verification fails
| * | | | | | | Try to log more helpful info when a sig verification failsRichard van der Hoff2018-06-081-6/+25
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, don't swallow the reason for the failure Secondly, don't assume all exceptions are verification failures Thirdly, log a bit of info about the key being used if debug is enabled
* | | | | | | Merge pull request #3371 from matrix-org/rav/fix_get_missing_eventsDavid Baker2018-06-081-0/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix event filtering in get_missing_events handler
| * | | | | | | Fix event filtering in get_missing_events handlerRichard van der Hoff2018-06-081-0/+4
| |/ / / / / /
* / / / / / / fix various changelog bugs and typosMatthew Hodgson2018-06-071-4/+3
|/ / / / / /
* | | | | | Merge pull request #3344 from Half-Shot/hs/as-metricsWill Hunt2018-06-071-0/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add metrics to track appservice transactions
| * | | | | | Let's try labels instead of label, that might workWill Hunt2018-06-051-3/+3
| | | | | | |
| * | | | | | Add metrics to track appservice transactionsWill Hunt2018-06-051-0/+22
| | | | | | |
* | | | | | | Merge pull request #3363 from matrix-org/rav/fix_purgeRichard van der Hoff2018-06-071-7/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix event-purge-by-ts admin API
| * | | | | | | fix logRichard van der Hoff2018-06-071-1/+1
| | | | | | | |
| * | | | | | | Fix event-purge-by-ts admin APIRichard van der Hoff2018-06-071-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This got completely broken in 0.30. Fixes #3300.
* | | | | | | | Merge pull request #3355 from matrix-org/rav/fix_federation_backfillRichard van der Hoff2018-06-071-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix federation backfill from sqlite servers
| * | | | | | | | Fix sql error in _get_state_groups_from_groupsRichard van der Hoff2018-06-061-1/+1
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If this was called with a `(type, None)` entry in types (which is supposed to return all state of type `type`), it would explode with a sql error.
* | | | | | | | Merge pull request #3356 from matrix-org/rav/add_missing_attr_depAmber Brown2018-06-071-0/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Make sure that attr is installed
| * | | | | | | | Add missing dependency on attrRichard van der Hoff2018-06-061-0/+1
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've rcently added a dep on `attr`. I don't know why the CI didn't pick this up, but we should make it explicit anyway.
* | | | | | | | Merge branch 'master' into developNeil Johnson2018-06-062-1/+59
|\ \ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | |