Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Spread out sending device lists to remote hosts (#12132) | Erik Johnston | 2022-03-04 | 1 | -1/+1 |
| | |||||
* | Convert all namedtuples to attrs. (#11665) | Patrick Cloke | 2021-12-30 | 1 | -24/+23 |
| | | | To improve type hints throughout the code. | ||||
* | Add most of the missing type hints to `synapse.federation`. (#11483) | Patrick Cloke | 2021-12-02 | 1 | -12/+13 |
| | | | This skips a few methods which are difficult to type. | ||||
* | Use inline type hints in various other places (in `synapse/`) (#10380) | Jonathan de Jong | 2021-07-15 | 1 | -14/+12 |
| | |||||
* | Fix (final) Bugbear violations (#9838) | Jonathan de Jong | 2021-04-20 | 1 | -2/+2 |
| | |||||
* | Don't send normal presence updates over federation replication stream (#9828) | Erik Johnston | 2021-04-19 | 1 | -68/+2 |
| | |||||
* | Remove redundant "coding: utf-8" lines (#9786) | Jonathan de Jong | 2021-04-14 | 1 | -1/+0 |
| | | | | | | | Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>` | ||||
* | Add type hints for the federation sender. (#9681) | Patrick Cloke | 2021-03-29 | 1 | -31/+57 |
| | | | | Includes an abstract base class which both the FederationSender and the FederationRemoteSendQueue must implement. | ||||
* | Update black, and run auto formatting over the codebase (#9381) | Eric Eastwood | 2021-02-16 | 1 | -3/+5 |
| | | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version | ||||
* | Fix not sending events over federation when using sharded event persisters ↵ | Erik Johnston | 2020-10-14 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | (#8536) * Fix outbound federaion with multiple event persisters. We incorrectly notified federation senders that the minimum persisted stream position had advanced when we got an `RDATA` from an event persister. Notifying of federation senders already correctly happens in the notifier, so we just delete the offending line. * Change some interfaces to use RoomStreamToken. By enforcing use of `RoomStreamTokens` we make it less likely that people pass in random ints that they got from somewhere random. | ||||
* | Stop sub-classing object (#8249) | Patrick Cloke | 2020-09-04 | 1 | -2/+2 |
| | |||||
* | Convert stream database to async/await. (#8074) | Patrick Cloke | 2020-08-17 | 1 | -1/+1 |
| | |||||
* | Update worker docs with recent enhancements (#7969) | Erik Johnston | 2020-07-29 | 1 | -1/+1 |
| | |||||
* | Add ability to shard the federation sender (#7798) | Erik Johnston | 2020-07-10 | 1 | -1/+13 |
| | |||||
* | Fix some spelling mistakes / typos. (#7811) | Patrick Cloke | 2020-07-09 | 1 | -1/+1 |
| | |||||
* | Replace iteritems/itervalues/iterkeys with native versions. (#7692) | Patrick Cloke | 2020-06-15 | 1 | -5/+3 |
| | |||||
* | Fix typing annotations in synapse/federation (#7382) | Richard van der Hoff | 2020-05-05 | 1 | -15/+31 |
| | | | | We're pretty close to having mypy working for `synapse.federation`, so let's finish the job. | ||||
* | Fix catchup-on-reconnect for the Federation Stream (#7374) | Richard van der Hoff | 2020-05-05 | 1 | -16/+24 |
| | | | | looks like we managed to break this during the refactorathon. | ||||
* | Convert `*StreamRow` classes to inner classes (#7116) | Richard van der Hoff | 2020-03-23 | 1 | -1/+1 |
| | | | | | This just helps keep the rows closer to their streams, so that it's easier to see what the format of each stream is. | ||||
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) | Patrick Cloke | 2020-02-21 | 1 | -2/+2 |
| | | | | Ensure good comprehension hygiene using flake8-comprehensions. | ||||
* | Remove unused DeviceRow class (#6800) | Erik Johnston | 2020-01-29 | 1 | -20/+1 |
| | |||||
* | Fix race in federation sender that delayed device updates. (#6799) | Erik Johnston | 2020-01-29 | 1 | -29/+3 |
| | | | | | | | | | | | | We were sending device updates down both the federation stream and device streams. This mean there was a race if the federation sender worker processed the federation stream first, as when the sender checked if there were new device updates the slaved ID generator hadn't been updated with the new stream IDs and so returned nothing. This situation is correctly handled by events/receipts/etc by not sending updates down the federation stream and instead having the federation sender worker listen on the other streams and poke the transaction queues as appropriate. | ||||
* | Port synapse.replication.tcp to async/await (#6666) | Erik Johnston | 2020-01-16 | 1 | -1/+3 |
| | | | | | | | | | | * Port synapse.replication.tcp to async/await * Newsfile * Correctly document type of on_<FOO> functions as async * Don't be overenthusiastic with the asyncing.... | ||||
* | Port receipt and read markers to async/wait | Erik Johnston | 2019-10-29 | 1 | -1/+3 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -73/+72 |
| | |||||
* | Use event streams to calculate presence | Erik Johnston | 2019-03-27 | 1 | -2/+71 |
| | | | | | | | | | | | | | | | | | Primarily this fixes a bug in the handling of remote users joining a room where the server sent out the presence for all local users in the room to all servers in the room. We also change to using the state delta stream, rather than the distributor, as it will make it easier to split processing out of the master process (as well as being more flexible). Finally, when sending presence states to newly joined servers we filter out old presence states to reduce the number sent. Initially we filter out states that are offline and have a last active more than a week ago, though this can be changed down the line. Fixes #3962 | ||||
* | Rename and move the classes | Richard van der Hoff | 2019-03-13 | 1 | -7/+7 |
| | |||||
* | Move client receipt processing to federation sender worker. | Richard van der Hoff | 2019-03-13 | 1 | -0/+9 |
| | | | | | This is mostly a prerequisite for #4730, but also fits with the general theme of "move everything off the master that we possibly can". | ||||
* | Avoid rebuilding Edu objects in worker mode (#4770) | Richard van der Hoff | 2019-03-04 | 1 | -7/+7 |
| | | | | | In worker mode, on the federation sender, when we receive an edu for sending over the replication socket, it is parsed into an Edu object. There is no point extracting the contents of it so that we can then immediately build another Edu. | ||||
* | fix #3445 | Krombel | 2018-08-29 | 1 | -2/+2 |
| | | | | | itervalues(d) calls d.itervalues() [PY2] and d.values() [PY3] but SortedDict only implements d.values() | ||||
* | Remove pdu_failures from transactions | Travis Ralston | 2018-07-30 | 1 | -62/+1 |
| | | | The field is never read from, and all the opportunities given to populate it are not utilized. It should be very safe to remove this. | ||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -7/+7 |
| | |||||
* | federation/send_queue.py: fix usage of sortedcontainers.SortedDict | Ivan Shapovalov | 2018-06-06 | 1 | -27/+22 |
| | |||||
* | Port to sortedcontainers (with tests!) (#3332) | Amber Brown | 2018-06-06 | 1 | -7/+7 |
| | |||||
* | federation/send_queue.py: fix usage of LaterGauge | Ivan Shapovalov | 2018-06-03 | 1 | -1/+1 |
| | | | | | Fixes a startup crash due to commit df9f72d9e5fe264b86005208e0f096156eb03e4b "replacing portions". | ||||
* | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵ | Amber Brown | 2018-05-31 | 1 | -1/+1 |
| | | | | they're not meant to be lazy (#3307) | ||||
* | cleanup | Amber Brown | 2018-05-22 | 1 | -3/+2 |
| | |||||
* | replacing portions | Amber Brown | 2018-05-21 | 1 | -6/+2 |
| | |||||
* | Use six.itervalues in some places | Adrian Tschira | 2018-04-15 | 1 | -6/+8 |
| | | | | | | There's more where that came from Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Revert "Use sortedcontainers instead of blist" | Richard van der Hoff | 2018-04-13 | 1 | -7/+7 |
| | | | | | | | | | | | This reverts commit 9fbe70a7dc3afabfdac176ba1f4be32dd44602aa. It turns out that sortedcontainers.SortedDict is not an exact match for blist.sorteddict; in particular, `popitem()` removes things from the opposite end of the dict. This is trivial to fix, but I want to add some unit tests, and potentially some more thought about it, before we do so. | ||||
* | Use sortedcontainers instead of blist | Vincent Breitmoser | 2018-04-10 | 1 | -7/+7 |
| | | | | | | | | This commit drop-in replaces blist with SortedContainers. They are written in pure python so work with pypy, but perform as good as native implementations, at least in a couple benchmarks: http://www.grantjenks.com/docs/sortedcontainers/performance.html | ||||
* | Merge pull request #2115 from matrix-org/erikj/dedupe_federation_repl | Erik Johnston | 2017-04-12 | 1 | -35/+34 |
|\ | | | | | Reduce federation replication traffic | ||||
| * | Comment | Erik Johnston | 2017-04-11 | 1 | -1/+7 |
| | | |||||
| * | Comments | Erik Johnston | 2017-04-11 | 1 | -7/+7 |
| | | |||||
| * | Reduce federation presence replication traffic | Erik Johnston | 2017-04-10 | 1 | -27/+20 |
| | | | | | | | | | | | | | | | | This is mainly done by moving the calculation of where to send presence updates from the presence handler to the transaction queue, so we only need to send the presence event (and not the destinations) across the replication connection. Before we were duplicating by sending the full state across once per destination. | ||||
* | | Add some comments | Erik Johnston | 2017-04-12 | 1 | -0/+15 |
| | | |||||
* | | Use generators | Erik Johnston | 2017-04-10 | 1 | -2/+2 |
| | | |||||
* | | Dedupe KeyedEdu and Devices federation repl traffic | Erik Johnston | 2017-04-10 | 1 | -6/+9 |
|/ | |||||
* | Rename variable | Erik Johnston | 2017-04-10 | 1 | -7/+7 |
| | |||||
* | Revert to sending the same data type as before | Erik Johnston | 2017-04-10 | 1 | -2/+2 |
| | |||||
* | Change name | Erik Johnston | 2017-04-10 | 1 | -2/+2 |
| | |||||
* | Comments | Erik Johnston | 2017-04-10 | 1 | -4/+6 |
| | |||||
* | Comment | Erik Johnston | 2017-04-07 | 1 | -2/+15 |
| | |||||
* | Add logging | Erik Johnston | 2017-04-07 | 1 | -0/+8 |
| | |||||
* | Fix up federation SendQueue and document types | Erik Johnston | 2017-04-07 | 1 | -26/+220 |
| | |||||
* | Don't double json encode federation replication data | Erik Johnston | 2017-04-05 | 1 | -10/+9 |
| | |||||
* | Make federation send queue take the current position | Erik Johnston | 2017-03-30 | 1 | -15/+25 |
| | |||||
* | Notify on new federation traffic | Erik Johnston | 2017-03-27 | 1 | -0/+7 |
| | |||||
* | Explicit federation ack | Erik Johnston | 2016-11-23 | 1 | -2/+11 |
| | |||||
* | Comments | Erik Johnston | 2016-11-21 | 1 | -0/+2 |
| | |||||
* | Add some metrics | Erik Johnston | 2016-11-21 | 1 | -48/+68 |
| | |||||
* | Comments | Erik Johnston | 2016-11-21 | 1 | -0/+26 |
| | |||||
* | Remove explicit calls to send_pdu | Erik Johnston | 2016-11-21 | 1 | -4/+0 |
| | |||||
* | Handle sending events and device messages over federation | Erik Johnston | 2016-11-17 | 1 | -7/+31 |
| | |||||
* | Hook up the send queue and create a federation sender worker | Erik Johnston | 2016-11-16 | 1 | -21/+68 |
| | |||||
* | Add initial cut of federation send queue | Erik Johnston | 2016-11-16 | 1 | -0/+174 |