Skip to content
Snippets Groups Projects
  1. Jun 05, 2020
  2. May 26, 2020
  3. May 18, 2020
  4. May 15, 2020
  5. May 13, 2020
  6. May 05, 2020
  7. May 01, 2020
  8. Apr 29, 2020
    • Erik Johnston's avatar
      Add instance name to RDATA/POSITION commands (#7364) · 37f6823f
      Erik Johnston authored
      This is primarily for allowing us to send those commands from workers, but for now simply allows us to ignore echoed RDATA/POSITION commands that we sent (we get echoes of sent commands when using redis). Currently we log a WARNING on the master process every time we receive an echoed RDATA.
      Unverified
      37f6823f
    • Erik Johnston's avatar
      Don't relay REMOTE_SERVER_UP cmds to same conn. (#7352) · 3eab76ad
      Erik Johnston authored
      For direct TCP connections we need the master to relay REMOTE_SERVER_UP
      commands to the other connections so that all instances get notified
      about it. The old implementation just relayed to all connections,
      assuming that sending back to the original sender of the command was
      safe. This is not true for redis, where commands sent get echoed back to
      the sender, which was causing master to effectively infinite loop
      sending and then re-receiving REMOTE_SERVER_UP commands that it sent.
      
      The fix is to ensure that we only relay to *other* connections and not
      to the connection we received the notification from.
      
      Fixes #7334.
      Unverified
      3eab76ad
    • Richard van der Hoff's avatar
      Fix limit logic for EventsStream (#7358) · c2e1a211
      Richard van der Hoff authored
      * Factor out functions for injecting events into database
      
      I want to add some more flexibility to the tools for injecting events into the
      database, and I don't want to clutter up HomeserverTestCase with them, so let's
      factor them out to a new file.
      
      * Rework TestReplicationDataHandler
      
      This wasn't very easy to work with: the mock wrapping was largely superfluous,
      and it's useful to be able to inspect the received rows, and clear out the
      received list.
      
      * Fix AssertionErrors being thrown by EventsStream
      
      Part of the problem was that there was an off-by-one error in the assertion,
      but also the limit logic was too simple. Fix it all up and add some tests.
      Unverified
      c2e1a211
  9. Apr 28, 2020
    • Erik Johnston's avatar
      Add some replication tests (#7278) · fce66388
      Erik Johnston authored
      Specifically some tests for the typing stream, which means we test streams that fetch missing updates via HTTP (rather than via the DB).
      
      We also shuffle things around a bit so that we create two separate `HomeServer` objects, rather than trying to insert a slaved store into places.
      
      Note: `test_typing.py` is heavily inspired by `test_receipts.py`
      Unverified
      fce66388
  10. Apr 22, 2020
  11. Apr 06, 2020
    • Erik Johnston's avatar
      Move client command handling out of TCP protocol (#7185) · 5016b162
      Erik Johnston authored
      The aim here is to move the command handling out of the TCP protocol classes and to also merge the client and server command handling (so that we can reuse them for redis protocol). This PR simply moves the client paths to the new `ReplicationCommandHandler`, a future PR will move the server paths too.
      Unverified
      5016b162
  12. Mar 25, 2020
  13. Mar 23, 2020
  14. Mar 04, 2020
  15. Feb 07, 2020
  16. Jan 16, 2020
  17. Jan 15, 2020
    • Erik Johnston's avatar
      Add `local_current_membership` table (#6655) · 28c98e51
      Erik Johnston authored
      Currently we rely on `current_state_events` to figure out what rooms a
      user was in and their last membership event in there. However, if the
      server leaves the room then the table may be cleaned up and that
      information is lost. So lets add a table that separately holds that
      information.
      Unverified
      28c98e51
  18. Dec 18, 2019
  19. Dec 06, 2019
  20. Nov 27, 2019
  21. Oct 23, 2019
  22. May 10, 2019
  23. Apr 02, 2019
    • Richard van der Hoff's avatar
      Fix sync bug when accepting invites (#4956) · 297bf254
      Richard van der Hoff authored
      Hopefully this time we really will fix #4422.
      
      We need to make sure that the cache on
      `get_rooms_for_user_with_stream_ordering` is invalidated *before* the
      SyncHandler is notified for the new events, and we can now do so reliably via
      the `events` stream.
      Unverified
      297bf254
  24. Mar 27, 2019
  25. Mar 25, 2019
  26. Mar 06, 2019
  27. Mar 05, 2019
    • Brendan Abolivier's avatar
    • Brendan Abolivier's avatar
      Add rate-limiting on registration (#4735) · a4c3a361
      Brendan Abolivier authored
      
      * Rate-limiting for registration
      
      * Add unit test for registration rate limiting
      
      * Add config parameters for rate limiting on auth endpoints
      
      * Doc
      
      * Fix doc of rate limiting function
      
      Co-Authored-By: default avatarbabolivier <contact@brendanabolivier.com>
      
      * Incorporate review
      
      * Fix config parsing
      
      * Fix linting errors
      
      * Set default config for auth rate limiting
      
      * Fix tests
      
      * Add changelog
      
      * Advance reactor instead of mocked clock
      
      * Move parameters to registration specific config and give them more sensible default values
      
      * Remove unused config options
      
      * Don't mock the rate limiter un MAU tests
      
      * Rename _register_with_store into register_with_store
      
      * Make CI happy
      
      * Remove unused import
      
      * Update sample config
      
      * Fix ratelimiting test for py2
      
      * Add non-guest test
      Unverified
      a4c3a361
  28. Nov 02, 2018
  29. Oct 02, 2018
  30. Sep 18, 2018
    • Richard van der Hoff's avatar
      Refactor matrixfederationclient to fix logging (#3906) · 31c15dcb
      Richard van der Hoff authored
      We want to wait until we have read the response body before we log the request
      as complete, otherwise a confusing thing happens where the request appears to
      have completed, but we later fail it.
      
      To do this, we factor the salient details of a request out to a separate
      object, which can then keep track of the txn_id, so that it can be logged.
      Unverified
      31c15dcb
  31. Sep 03, 2018
  32. Aug 13, 2018
  33. Aug 10, 2018
  34. Aug 09, 2018
  35. Jul 25, 2018
    • Richard van der Hoff's avatar
      Fix unit tests · f59be4eb
      Richard van der Hoff authored
      on_notifier_poke no longer runs synchonously, so we have to do a different hack
      to make sure that the replication data has been sent. Let's actually listen for
      its arrival.
      f59be4eb
Loading