Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Fixes to the federation rate limiter #5621

Merged
merged 1 commit into from
Jul 5, 2019
Merged

Conversation

richvdh
Copy link
Member

@richvdh richvdh commented Jul 4, 2019

  • Put the default window_size back to 1000ms (broken by Make all the rate limiting options more consistent #5181)
  • Make the rc_federation config actually do something
  • fix an off-by-one error in the 'concurrent' limit
  • Avoid creating an unused _PerHostRatelimiter object for every single
    incoming request

- Put the default window_size back to 1000ms (broken by #5181)
- Make the `rc_federation` config actually do something
- fix an off-by-one error in the 'concurrent' limit
- Avoid creating an unused `_PerHostRatelimiter` object for every single
  incoming request
@codecov
Copy link

codecov bot commented Jul 4, 2019

Codecov Report

Merging #5621 into develop will increase coverage by 0.08%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #5621      +/-   ##
===========================================
+ Coverage    63.13%   63.21%   +0.08%     
===========================================
  Files          328      328              
  Lines        35946    35946              
  Branches      5919     5919              
===========================================
+ Hits         22695    22725      +30     
+ Misses       11622    11595      -27     
+ Partials      1629     1626       -3

@richvdh richvdh merged commit 9481707 into develop Jul 5, 2019
@richvdh richvdh deleted the rav/fix_ratelimiter branch July 5, 2019 10:10
anoadragon453 added a commit that referenced this pull request Jul 8, 2019
* develop:
  Add default push rule to ignore reactions (#5623)
  Add origin_server_ts and sender fields to m.replace (#5613)
  Remove support for invite_3pid_guest. (#5625)
  remove dead transaction persist code (#5622)
  Fixes to the federation rate limiter (#5621)
  Make errors about email password resets much clearer (#5616)
  Improve the backwards compatibility re-exports of synapse.logging.context (#5617)
  Add a sytest blacklist file (#5611)
  Move logging utilities out of the side drawer of util/ and into logging/ (#5606)
  Fix 'utime went backwards' errors on daemonization. (#5609)
anoadragon453 added a commit that referenced this pull request Jul 8, 2019
* develop:
  Update ModuleApi to avoid register(generate_token=True) (#5640)
  Factor out some redundant code in the login impl (#5639)
  Move get_or_create_user to test code (#5628)
  Add a few more common environment directory names to black exclusion (#5630)
  Add default push rule to ignore reactions (#5623)
  Add origin_server_ts and sender fields to m.replace (#5613)
  Remove support for invite_3pid_guest. (#5625)
  remove dead transaction persist code (#5622)
  Fixes to the federation rate limiter (#5621)
anoadragon453 added a commit that referenced this pull request Jul 22, 2019
v1.2.0rc1

Features
--------

- Add support for opentracing. ([\#5544](#5544), [\#5712](#5712))
- Add ability to pull all locally stored events out of synapse that a particular user can see. ([\#5589](#5589))
- Add a basic admin command app to allow server operators to run Synapse admin commands separately from the main production instance. ([\#5597](#5597))
- Add `sender` and `origin_server_ts` fields to `m.replace`. ([\#5613](#5613))
- Add default push rule to ignore reactions. ([\#5623](#5623))
- Include the original event when asking for its relations. ([\#5626](#5626))
- Implement `session_lifetime` configuration option, after which access tokens will expire. ([\#5660](#5660))
- Return "This account has been deactivated" when a deactivated user tries to login. ([\#5674](#5674))
- Enable aggregations support by default ([\#5714](#5714))

Bugfixes
--------

- Fix 'utime went backwards' errors on daemonization. ([\#5609](#5609))
- Various minor fixes to the federation request rate limiter. ([\#5621](#5621))
- Forbid viewing relations on an event once it has been redacted. ([\#5629](#5629))
- Fix requests to the `/store_invite` endpoint of identity servers being sent in the wrong format. ([\#5638](#5638))
- Fix newly-registered users not being able to lookup their own profile without joining a room. ([\#5644](#5644))
- Fix bug in #5626 that prevented the original_event field from actually having the contents of the original event in a call to `/relations`. ([\#5654](#5654))
- Fix 3PID bind requests being sent to identity servers as `application/x-form-www-urlencoded` data, which is deprecated. ([\#5658](#5658))
- Fix some problems with authenticating redactions in recent room versions. ([\#5699](#5699), [\#5700](#5700), [\#5707](#5707))
- Ignore redactions of m.room.create events. ([\#5701](#5701))

Updates to the Docker image
---------------------------

- Base Docker image on a newer Alpine Linux version (3.8 -> 3.10). ([\#5619](#5619))
- Add missing space in default logging file format generated by the Docker image. ([\#5620](#5620))

Improved Documentation
----------------------

- Add information about nginx normalisation to reverse_proxy.rst. Contributed by @skalarproduktraum - thanks! ([\#5397](#5397))
- --no-pep517 should be --no-use-pep517 in the documentation to setup the development environment. ([\#5651](#5651))
- Improvements to Postgres setup instructions. Contributed by @Lrizika - thanks! ([\#5661](#5661))
- Minor tweaks to postgres documentation. ([\#5675](#5675))

Deprecations and Removals
-------------------------

- Remove support for the `invite_3pid_guest` configuration setting. ([\#5625](#5625))

Internal Changes
----------------

- Move logging code out of `synapse.util` and into `synapse.logging`. ([\#5606](#5606), [\#5617](#5617))
- Add a blacklist file to the repo to blacklist certain sytests from failing CI. ([\#5611](#5611))
- Make runtime errors surrounding password reset emails much clearer. ([\#5616](#5616))
- Remove dead code for persiting outgoing federation transactions. ([\#5622](#5622))
- Add `lint.sh` to the scripts-dev folder which will run all linting steps required by CI. ([\#5627](#5627))
- Move RegistrationHandler.get_or_create_user to test code. ([\#5628](#5628))
- Add some more common python virtual-environment paths to the black exclusion list. ([\#5630](#5630))
- Some counter metrics exposed over Prometheus have been renamed, with the old names preserved for backwards compatibility and deprecated. See `docs/metrics-howto.rst` for details. ([\#5636](#5636))
- Unblacklist some user_directory sytests. ([\#5637](#5637))
- Factor out some redundant code in the login implementation. ([\#5639](#5639))
- Update ModuleApi to avoid register(generate_token=True). ([\#5640](#5640))
- Remove access-token support from `RegistrationHandler.register`, and rename it. ([\#5641](#5641))
- Remove access-token support from `RegistrationStore.register`, and rename it. ([\#5642](#5642))
- Improve logging for auto-join when a new user is created. ([\#5643](#5643))
- Remove unused and unnecessary check for FederationDeniedError in _exception_to_failure. ([\#5645](#5645))
- Fix a small typo in a code comment. ([\#5655](#5655))
- Clean up exception handling around client access tokens. ([\#5656](#5656))
- Add a mechanism for per-test homeserver configuration in the unit tests. ([\#5657](#5657))
- Inline issue_access_token. ([\#5659](#5659))
- Update the sytest BuildKite configuration to checkout Synapse in `/src`. ([\#5664](#5664))
- Add a `docker` type to the towncrier configuration. ([\#5673](#5673))
- Convert `synapse.federation.transport.server` to `async`. Might improve some stack traces. ([\#5689](#5689))
- Documentation for opentracing. ([\#5703](#5703))
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants