Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Only get cached state from context in persist_event | Erik Johnston | 2018-07-23 | 1 | -1/+3 |
| | | | | | | We don't want to bother pulling out the current state from the DB since until we know we have to. Checking the context for state is just an optimisation. | ||||
* | Use new getters | Erik Johnston | 2018-07-23 | 3 | -5/+11 |
| | |||||
* | Merge branch 'develop' into matthew/sync_deleted_devices | Matthew Hodgson | 2018-07-23 | 6 | -23/+49 |
|\ | |||||
| * | revert 00bc979 | Richard van der Hoff | 2018-07-19 | 1 | -4/+3 |
| | | | | | | | | | | ... we've fixed the things that caused the warnings, so we should reinstate the warning. | ||||
| * | Merge remote-tracking branch 'origin/release-v0.33.0' into develop | Richard van der Hoff | 2018-07-19 | 1 | -3/+4 |
| |\ | |||||
| | * | Disable logcontext warning | Richard van der Hoff | 2018-07-19 | 1 | -3/+4 |
| | | | | | | | | | | | | Temporary workaround to #3518 while we release 0.33.0. | ||||
| * | | Run things as background processes | Richard van der Hoff | 2018-07-18 | 4 | -16/+29 |
| |/ | | | | | | | | | | | | | | | 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 #3505 from matrix-org/erikj/receipts_cahce | Erik Johnston | 2018-07-12 | 1 | -6/+19 |
| |\ | | | | | | | Use stream cache in get_linearized_receipts_for_room | ||||
| | * | Update return value docstring | Erik Johnston | 2018-07-12 | 1 | -1/+1 |
| | | | |||||
| | * | Use 'is not None' and add comments | Erik Johnston | 2018-07-10 | 1 | -2/+6 |
| | | | |||||
| | * | Use stream cache in get_linearized_receipts_for_room | Erik Johnston | 2018-07-10 | 1 | -4/+13 |
| | | | | | | | | | | | | | | | This avoids us from uncessarily hitting the database when there has been no change for the room | ||||
* | | | add trailing comma | Matthew Hodgson | 2018-07-23 | 1 | -1/+1 |
| | | | |||||
* | | | yes, we do need to invalidate the device_id_exists_cache when deleting a ↵ | Matthew Hodgson | 2018-07-19 | 1 | -1/+0 |
| | | | | | | | | | | | | remote device | ||||
* | | | spell out that include_deleted_devices requires include_all_devices | Matthew Hodgson | 2018-07-19 | 1 | -1/+5 |
| | | | |||||
* | | | shift to using an explicit deleted flag on m.device_list_update EDUs | Matthew Hodgson | 2018-07-12 | 2 | -20/+25 |
| | | | | | | | | | | | | and generally make it work. | ||||
* | | | WIP to announce deleted devices over federation | Matthew Hodgson | 2018-07-12 | 2 | -13/+43 |
|/ / | | | | | | | | | | | Previously we queued up the poke correctly when the device was deleted, but then the actual EDU wouldn't get sent, as the device was no longer known. Instead, we now send EDUs for deleted devices too if there's a poke for them. | ||||
* / | s/becuase/because/g | Matthew Hodgson | 2018-07-10 | 1 | -2/+2 |
|/ | |||||
* | Attempt to include db threads in cpu usage stats (#3496) | Richard van der Hoff | 2018-07-10 | 2 | -18/+17 |
| | | | | | Let's try to include time spent in the DB threads in the per-request/block cpu usage metrics. | ||||
* | Add CPU metrics for _fetch_event_list | Richard van der Hoff | 2018-07-09 | 1 | -19/+32 |
| | | | | | add a Measure block on _fetch_event_list, in the hope that we can better measure CPU usage here. | ||||
* | run isort | Amber Brown | 2018-07-09 | 49 | -246/+244 |
| | |||||
* | Invalidate cache on correct thread | Erik Johnston | 2018-07-02 | 1 | -1/+2 |
| | |||||
* | Attempt to be more performant on PyPy (#3462) | Amber Brown | 2018-06-28 | 19 | -28/+35 |
| | |||||
* | Fix error on deleting users pending deactivation | David Baker | 2018-06-26 | 1 | -1/+3 |
| | | | | Use simple_delete instead of simple_delete_one as commented | ||||
* | Revert "Revert "Merge pull request #3431 from ↵ | Erik Johnston | 2018-06-25 | 3 | -0/+126 |
| | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd. | ||||
* | Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility" | Richard van der Hoff | 2018-06-22 | 3 | -126/+0 |
| | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e. | ||||
* | Deleting from event_push_actions needs to use an index | Mark Haines | 2018-06-22 | 1 | -1/+8 |
| | |||||
* | Merge pull request #3432 from matrix-org/rav/joined_hosts_cache_non_iterable | Richard van der Hoff | 2018-06-22 | 1 | -1/+1 |
|\ | | | | | Make _get_joined_hosts_cache cache non-iterable | ||||
| * | Make _get_joined_hosts_cache cache non-iterable | Erik Johnston | 2018-06-22 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #3430 from matrix-org/rav/configurable_push_action_rotation | Richard van der Hoff | 2018-06-22 | 1 | -3/+5 |
|\ \ | |/ |/| | Make push actions rotation configurable | ||||
| * | Make push actions rotation configurable | Erik Johnston | 2018-06-22 | 1 | -3/+5 |
| | | |||||
* | | Merge pull request #3431 from matrix-org/rav/erasure_visibility | Erik Johnston | 2018-06-22 | 3 | -0/+126 |
|\ \ | | | | | | | Support hiding events from deleted users | ||||
| * | | UserErasureStore | Richard van der Hoff | 2018-06-12 | 3 | -0/+126 |
| | | | | | | | | | | | | to store which users have been erased | ||||
* | | | Merge pull request #3427 from matrix-org/erikj/remove_filters | Erik Johnston | 2018-06-22 | 1 | -20/+1 |
|\| | | |/ |/| | remove dead filter_events_for_clients | ||||
| * | remove dead filter_events_for_clients | Richard van der Hoff | 2018-06-12 | 1 | -20/+1 |
| | | | | | | | | | | | | 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. | ||||
* | | Disable partial state group caching for wildcard lookups | Richard van der Hoff | 2018-06-22 | 1 | -13/+43 |
| | | | | | | | | | | | | | | 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_groups | Richard van der Hoff | 2018-06-22 | 1 | -5/+1 |
|\ \ | | | | | | | Optimise state_group_cache update | ||||
| * | | Optimise state_group_cache update | Richard van der Hoff | 2018-06-11 | 1 | -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_request | Richard van der Hoff | 2018-06-22 | 1 | -0/+4 |
|\ \ \ | | | | | | | | | Log number of events fetched from DB | ||||
| * | | | Indirect evt_count updates via method call | Richard van der Hoff | 2018-06-22 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | so that we can stub it for the sentinel and not have a billion failing UTs | ||||
| * | | | Log number of events fetched from DB | Richard van der Hoff | 2018-06-21 | 1 | -0/+4 |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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.] | ||||
* / | | Pass around the reactor explicitly (#3385) | Amber Brown | 2018-06-22 | 4 | -9/+9 |
|/ / | |||||
* | | Merge pull request #3276 from matrix-org/dbkr/unbind | David Baker | 2018-06-11 | 1 | -9/+0 |
|\ \ | | | | | | | Remove email addresses / phone numbers from ID servers when they're removed from synapse | ||||
| * \ | Merge remote-tracking branch 'origin/develop' into dbkr/unbind | David Baker | 2018-05-24 | 1 | -9/+6 |
| |\ \ | |||||
| * | | | Hit the 3pid unbind endpoint on deactivation | David Baker | 2018-05-23 | 1 | -9/+0 |
| | | | | |||||
* | | | | Fix sql error in _get_state_groups_from_groups | Richard van der Hoff | 2018-06-06 | 1 | -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 #3324 from matrix-org/rav/remove_dead_method | Richard van der Hoff | 2018-06-04 | 1 | -26/+0 |
|\ \ \ \ | | | | | | | | | | | Remove was_forgotten_at | ||||
| * | | | | Remove was_forgotten_at | Richard van der Hoff | 2018-06-01 | 1 | -26/+0 |
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | This is unused. IT MUST DIE!!!1 ̧̪͈̱̹̳͖͙H̵̰̤̰͕̖e̛ ͚͉̗̼̞w̶̩̥͉̮h̩̺̪̩͘ͅọ͎͉̟ ̜̩͔̦̘ͅW̪̫̩̣̲͔̳a͏͔̳͖i͖͜t͓̤̠͓͙s̘̰̩̥̙̝ͅ ̲̠̬̥Be̡̙̫̦h̰̩i̛̫͙͔̭̤̗̲n̳͞d̸ ͎̻͘T̛͇̝̲̹̠̗ͅh̫̦̝ͅe̩̫͟ ͓͖̼W͕̳͎͚̙̥ą̙l̘͚̺͔͞ͅl̳͍̙̤̤̮̳.̢ ̟̺̜̙͉Z̤̲̙̙͎̥̝A͎̣͔̙͘L̥̻̗̳̻̳̳͢G͉̖̯͓̞̩̦O̹̹̺!̙͈͎̞̬ * | ||||
* / | | | Add hacky cache factor override system | Erik Johnston | 2018-06-04 | 1 | -2/+2 |
|/ / / | |||||
* | | | Merge pull request #3264 from matrix-org/neil/sign-up-stats | Neil Johnson | 2018-06-01 | 3 | -1/+56 |
|\ \ \ | | | | | | | | | daily user type phone home stats | ||||
| * | | | remove unnecessary INSERT | Neil Johnson | 2018-06-01 | 1 | -1/+0 |
| | | | | |||||
| * | | | create users index on creation_ts | Neil Johnson | 2018-05-29 | 1 | -0/+20 |
| | | | | |||||
| * | | | create index in background | Neil Johnson | 2018-05-29 | 1 | -0/+7 |
| | | | | |||||
| * | | | bump version | Neil Johnson | 2018-05-29 | 1 | -1/+1 |
| | | | | |||||
| * | | | daily user type phone home stats | Neil Johnson | 2018-05-22 | 1 | -0/+29 |
| |/ / | |||||
* | | | Handle RRs which arrive before their events | Richard van der Hoff | 2018-06-01 | 1 | -25/+19 |
| | | | |||||
* | | | Ignore depth when updating read-receipts | Richard van der Hoff | 2018-06-01 | 1 | -30/+37 |
| | | | | | | | | | | | | Order read receipts by stream ordering instead of depth | ||||
* | | | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵ | Amber Brown | 2018-05-31 | 5 | -54/+59 |
| | | | | | | | | | | | | they're not meant to be lazy (#3307) | ||||
* | | | Merge pull request #3303 from NotAFile/py3-memoryview | Amber Brown | 2018-05-30 | 3 | -6/+30 |
|\ \ \ | | | | | | | | | use memoryview in py3 | ||||
| * | | | add remaining memoryview changes | Adrian Tschira | 2018-05-29 | 2 | -4/+12 |
| | | | | |||||
| * | | | use memoryview in py3 | Adrian Tschira | 2018-05-29 | 2 | -2/+18 |
| | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | | | Merge pull request #3281 from NotAFile/py3-six-isinstance | Amber Brown | 2018-05-30 | 1 | -2/+3 |
|\ \ \ \ | | | | | | | | | | | remaining isintance fixes | ||||
| * | | | | remaining isintance fixes | Adrian Tschira | 2018-05-24 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | | | | Exempt AS-registered users from doing gdpr | Richard van der Hoff | 2018-05-29 | 1 | -0/+1 |
| |/ / / |/| | | | |||||
* | | | | update metrics to be in seconds | Amber Brown | 2018-05-28 | 1 | -15/+15 |
| | | | | |||||
* | | | | Merge remote-tracking branch 'origin/develop' into 3218-official-prom | Amber Brown | 2018-05-28 | 10 | -43/+60 |
|\ \ \ \ | |||||
| * \ \ \ | Merge pull request #3279 from NotAFile/py3-more-iteritems | Amber Brown | 2018-05-24 | 1 | -4/+6 |
| |\ \ \ \ | | | | | | | | | | | | | more six iteritems | ||||
| | * | | | | more iteritems | Adrian Tschira | 2018-05-24 | 1 | -4/+6 |
| | |/ / / | |||||
| * / / / | Misc. py3 fixes | Adrian Tschira | 2018-05-24 | 3 | -3/+3 |
| |/ / / | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
| * | | | Merge pull request #3278 from NotAFile/py3-storage-base | Amber Brown | 2018-05-24 | 1 | -17/+22 |
| |\ \ \ | | | | | | | | | | | Py3 storage/_base.py | ||||
| | * | | | Py3 storage/_base.py | Adrian Tschira | 2018-05-24 | 1 | -17/+22 |
| | | |/ | | |/| | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
| * | | | Merge pull request #3244 from NotAFile/py3-six-4 | Amber Brown | 2018-05-24 | 4 | -9/+16 |
| |\ \ \ | | | | | | | | | | | replace some iteritems with six | ||||
| | * | | | replace some iteritems with six | Adrian Tschira | 2018-05-19 | 4 | -9/+16 |
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
| * | | | | Merge pull request #3247 from NotAFile/py3-misc | Amber Brown | 2018-05-24 | 1 | -1/+7 |
| |\ \ \ \ | | |_|/ / | |/| | | | Misc Python3 fixes | ||||
| | * | | | use stand-in value if maxint is not available | Adrian Tschira | 2018-05-19 | 1 | -1/+7 |
| | |/ / | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
| * | | | Remove unused string formatting param | Erik Johnston | 2018-05-22 | 1 | -1/+0 |
| | | | | |||||
| * | | | Don't support limitless pagination | Erik Johnston | 2018-05-22 | 1 | -8/+6 |
| | |/ | |/| | | | | | | | | | | | | | | | | The pagination storage function supported not specifiying a limit on the number of events returned. This was triggered when using the search or context API with a limit of zero, which the storage function took to mean not being limited. | ||||
* | | | cleanup | Amber Brown | 2018-05-22 | 1 | -3/+6 |
| | | | |||||
* | | | Merge remote-tracking branch 'origin/develop' into 3218-official-prom | Amber Brown | 2018-05-22 | 11 | -75/+286 |
|\| | | |||||
| * | | Send users a server notice about consent | Richard van der Hoff | 2018-05-22 | 2 | -7/+59 |
| | | | | | | | | | | | | | | | When a user first syncs, we will send them a server notice asking them to consent to the privacy policy if they have not already done so. | ||||
| * | | Tighter filtering for user_daily_visits | Neil Johnson | 2018-05-18 | 1 | -1/+5 |
| |/ | |||||
| * | fix psql compatability bug | Neil Johnson | 2018-05-18 | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #3235 from matrix-org/rav/fix_receipts_deferred | Richard van der Hoff | 2018-05-18 | 1 | -7/+11 |
| |\ | | | | | | | Fix error in handling receipts | ||||
| | * | Fix error in handling receipts | Richard van der Hoff | 2018-05-18 | 1 | -7/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes an error which has been happening ever since #2158 (v0.21.0-rc1): > TypeError: argument of type 'ObservableDeferred' is not iterable fixes #3234 | ||||
| * | | Merge pull request #3221 from matrix-org/erikj/purge_token | Erik Johnston | 2018-05-18 | 1 | -24/+53 |
| |\ \ | | |/ | |/| | Make purge_history operate on tokens | ||||
| | * | Clarify comment | Erik Johnston | 2018-05-16 | 1 | -1/+2 |
| | | | |||||
| | * | Comments | Erik Johnston | 2018-05-16 | 1 | -0/+8 |
| | | | |||||
| | * | Move and rename variable | Erik Johnston | 2018-05-16 | 1 | -3/+3 |
| | | | |||||
| | * | Make purge_history operate on tokens | Erik Johnston | 2018-05-15 | 1 | -8/+9 |
| | | | | | | | | | | | | As we're soon going to change how topological_ordering works | ||||
| | * | Use events_to_purge table rather than token | Erik Johnston | 2018-05-15 | 1 | -15/+34 |
| | | | |||||
| * | | Merge pull request #3212 from matrix-org/erikj/epa_stream | Erik Johnston | 2018-05-17 | 2 | -38/+16 |
| |\ \ | | | | | | | | | Use stream rather depth ordering for push actions | ||||
| | * | | Use stream rather depth ordering for push actions | Erik Johnston | 2018-05-11 | 2 | -38/+16 |
| | | | | | | | | | | | | | | | | | | | | | | | | This simplifies things as it is, but will also allow us to change the way we traverse topologically without having to update the way push actions work. | ||||
| * | | | Merge pull request #3163 from matrix-org/cohort_analytics | Neil Johnson | 2018-05-16 | 5 | -5/+113 |
| |\ \ \ | | | | | | | | | | | user visit data | ||||
| | * | | | remove empty line | Neil Johnson | 2018-05-16 | 1 | -1/+0 |
| | | | | | |||||
| | * | | | style and further contraining query | Neil Johnson | 2018-05-16 | 1 | -8/+12 |
| | | | | | |||||
| | * | | | Limit query load of generate_user_daily_visits | Neil Johnson | 2018-05-15 | 1 | -13/+47 |
| | | | | | | | | | | | | | | | | | | | | The aim is to keep track of when it was last called and only query from that point in time | ||||
| | * | | | instead of inserting user daily visit data at the end of the day, instead ↵ | Neil Johnson | 2018-05-14 | 1 | -40/+14 |
| | | | | | | | | | | | | | | | | | | | | insert incrementally through the day | ||||
| | * | | | Merge branch 'develop' of https://github.com/matrix-org/synapse into ↵ | Neil Johnson | 2018-05-14 | 10 | -290/+380 |
| | |\| | | | | | | | | | | | | | | | | | cohort_analytics | ||||
| | * | | | remove user agent from data model, will just join on user_ips | Neil Johnson | 2018-05-01 | 1 | -12/+11 |
| | | | | | |||||
| | * | | | add inidexes based on usage | Neil Johnson | 2018-05-01 | 1 | -6/+2 |
| | | | | | |||||
| | * | | | pep8 | Neil Johnson | 2018-04-25 | 1 | -3/+4 |
| | | | | | |||||
| | * | | | Generate user daily stats | Neil Johnson | 2018-04-25 | 5 | -5/+106 |
| | | | | | |||||
| * | | | | Merge pull request #3213 from matrix-org/rav/consent_handler | Richard van der Hoff | 2018-05-16 | 2 | -0/+36 |
| |\ \ \ \ | | |_|_|/ | |/| | | | ConsentResource to gather policy consent from users | ||||
| | * | | | ConsentResource to gather policy consent from users | Richard van der Hoff | 2018-05-15 | 2 | -0/+36 |
| | | |/ | | |/| | | | | | | | | | | | | | Hopefully there are enough comments and docs in this that it makes sense on its own. | ||||
* | / | | rest of the changes | Amber Brown | 2018-05-21 | 2 | -27/+18 |
|/ / / | |||||
* | | | Merge pull request #3201 from matrix-org/dbkr/leave_rooms_on_deactivate | David Baker | 2018-05-14 | 2 | -0/+64 |
|\ \ \ | |/ / |/| | | Part user from rooms on account deactivate | ||||
| * | | Many docstrings | David Baker | 2018-05-10 | 1 | -0/+12 |
| | | | |||||
| * | | Add the schema file | David Baker | 2018-05-09 | 1 | -0/+25 |
| | | | |||||
| * | | Part deactivated users in the background | David Baker | 2018-05-09 | 1 | -0/+27 |
| | | | | | | | | | | | | | | | One room at a time so we don't take out the whole server with leave events, and restart at server restart. | ||||
* | | | Merge pull request #3199 from matrix-org/erikj/pagination_sync | Erik Johnston | 2018-05-09 | 1 | -39/+36 |
|\ \ \ | | | | | | | | | Refactor sync APIs to reuse pagination API | ||||
| * | | | Refactor sync APIs to reuse pagination API | Erik Johnston | 2018-05-09 | 1 | -38/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | The sync API often returns events in a topological rather than stream ordering, e.g. when the user joined the room or on initial sync. When this happens we can reuse existing pagination storage functions. | ||||
| * | | | Don't unnecessarily require token to be stream token | Erik Johnston | 2018-05-09 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | This allows calling the `get_recent_event_ids_for_room` function in more situations. | ||||
* | | | | Merge pull request #3198 from matrix-org/erikj/fixup_return_pagination | Erik Johnston | 2018-05-09 | 1 | -1/+15 |
|\ \ \ \ | | | | | | | | | | | Refactor get_recent_events_for_room return type | ||||
| * | | | | Fix up comment | Erik Johnston | 2018-05-09 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-05-09 | 1 | -5/+6 |
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | erikj/fixup_return_pagination | ||||
| * | | | | Refactor get_recent_events_for_room return type | Erik Johnston | 2018-05-09 | 1 | -1/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no reason to return a tuple of tokens when the last token is always the token passed as an argument. Changing it makes it consistent with other storage APIs | ||||
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-05-09 | 1 | -5/+6 |
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | erikj/remove_membership_change | ||||
| * | | | | Update comments | Erik Johnston | 2018-05-09 | 1 | -5/+6 |
| |/ / / | |||||
* / / / | Remove unused code path from member change DB func | Erik Johnston | 2018-05-09 | 1 | -24/+10 |
|/ / / | | | | | | | | | | | | | The function is never called without a from_key, so we can remove all the handling for that scenario. | ||||
* | | | Refactor pagination DB API to return concrete type | Erik Johnston | 2018-05-09 | 1 | -28/+48 |
| | | | | | | | | | | | | | | | This makes it easier to document what is being returned by the storage functions and what some functions expect as arguments. | ||||
* | | | Remove unused from_token param | Erik Johnston | 2018-05-09 | 1 | -7/+4 |
| | | | |||||
* | | | Refactor recent events func to use pagination func | Erik Johnston | 2018-05-09 | 1 | -48/+27 |
| | | | | | | | | | | | | This also removes a cache that is unlikely to ever get hit. | ||||
* | | | Fix up comments and make function private | Erik Johnston | 2018-05-09 | 1 | -7/+7 |
| | | | |||||
* | | | Reuse existing pagination code for context API | Erik Johnston | 2018-05-08 | 1 | -75/+15 |
| | | | |||||
* | | | Parse tokens before calling DB function | Erik Johnston | 2018-05-08 | 1 | -14/+18 |
| | | | |||||
* | | | Only fetch required fields from database | Erik Johnston | 2018-05-08 | 1 | -1/+2 |
| | | | |||||
* | | | Split paginate_room_events storage function | Erik Johnston | 2018-05-08 | 1 | -28/+72 |
|/ / | |||||
* | | Merge pull request #3141 from matrix-org/erikj/fixup_state | Erik Johnston | 2018-05-03 | 1 | -37/+67 |
|\ \ | | | | | | | Refactor event storage to prepare for changes in state calculations | ||||
| * | | Fix up grammar | Erik Johnston | 2018-05-03 | 1 | -3/+3 |
| | | | |||||
| * | | Refactor event storage to not require state | Erik Johnston | 2018-04-27 | 1 | -37/+67 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for using contexts that may or may not have the current_state_ids set. This will allow us to avoid unnecessarily pulling out state for an event on the master process when using workers. We also add a check to see if the state groups of the old extremities are the same as the new ones. | ||||
* | | | Merge pull request #3129 from matrix-org/matthew/fix_group_dups | Matthew Hodgson | 2018-04-30 | 1 | -0/+57 |
|\ \ \ | | | | | | | | | remove duplicates from groups tables | ||||
| * | | | fix missing import | Matthew Hodgson | 2018-04-28 | 1 | -0/+1 |
| | | | | |||||
| * | | | pep8 | Matthew Hodgson | 2018-04-28 | 1 | -3/+5 |
| | | | | |||||
| * | | | make it work with sqlite | Matthew Hodgson | 2018-04-28 | 2 | -34/+54 |
| | | | | |||||
| * | | | remove duplicates from groups tables | Matthew Hodgson | 2018-04-25 | 1 | -0/+34 |
| | |/ | |/| | | | | | | | | | | and rename inconsistently named indexes. Based on https://github.com/matrix-org/synapse/pull/3128 - thanks @vurpo\! | ||||
* | | | Merge branch 'develop' into py3-xrange-1 | Richard van der Hoff | 2018-04-30 | 2 | -4/+6 |
|\ \ \ | |||||
| * \ \ | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background | Richard van der Hoff | 2018-04-27 | 2 | -8/+18 |
| |\ \ \ | |||||
| * | | | | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 2 | -4/+6 |
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object. | ||||
* | | | | Move more xrange to six | Adrian Tschira | 2018-04-28 | 4 | -4/+12 |
| |/ / |/| | | | | | | | | | | | | | | plus a bonus next() Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | | Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptions | Richard van der Hoff | 2018-04-27 | 1 | -7/+17 |
|\ \ \ | | | | | | | | | Improve exception handling for background processes | ||||
| * | | | Improve exception handling for background processes | Richard van der Hoff | 2018-04-27 | 1 | -7/+17 |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background. | ||||
* / / | Add missing consumeErrors | Richard van der Hoff | 2018-04-27 | 1 | -1/+1 |
|/ / | | | | | | | | | In general we want defer.gatherResults to consumeErrors, rather than having exceptions hanging around and getting logged as CRITICAL unhandled errors. | ||||
* | | Fix media admin APIs | Erik Johnston | 2018-04-26 | 1 | -2/+2 |
| | | |||||
* | | Also fix reindexing of search | Erik Johnston | 2018-04-25 | 1 | -1/+1 |
| | | |||||
* | | Fix quarantine media admin API | Erik Johnston | 2018-04-25 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #3110 from NotAFile/py3-six-queue | Richard van der Hoff | 2018-04-20 | 1 | -2/+4 |
|\ | | | | | Replace Queue with six.moves.queue | ||||
| * | Replace Queue with six.moves.queue | Adrian Tschira | 2018-04-16 | 1 | -2/+4 |
| | | | | | | | | | | | | and a six.range change which I missed the last time Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Merge pull request #3117 from matrix-org/rav/refactor_have_events | Richard van der Hoff | 2018-04-20 | 1 | -7/+42 |
|\ \ | | | | | | | Refactor store.have_events | ||||
| * | | Refactor store.have_events | Richard van der Hoff | 2018-04-20 | 1 | -7/+42 |
| |/ | | | | | | | | | | | It turns out that most of the time we were calling have_events, we were only using half of the result. Replace have_events with have_seen_events and get_rejection_reasons, so that we can see what's going on a bit more clearly. | ||||
* / | Avoid creating events with huge numbers of prev_events | Richard van der Hoff | 2018-04-16 | 1 | -16/+41 |
|/ | | | | | | In most cases, we limit the number of prev_events for a given event to 10 events. This fixes a particular code path which created events with huge numbers of prev_events. | ||||
* | Format docstring | Erik Johnston | 2018-04-12 | 1 | -2/+3 |
| | |||||
* | Doc we raise on unknown event | Erik Johnston | 2018-04-12 | 1 | -2/+3 |
| | |||||
* | Track last processed event received_ts | Erik Johnston | 2018-04-11 | 1 | -0/+18 |
| | |||||
* | Track where event stream processing have gotten up to | Erik Johnston | 2018-04-11 | 1 | -0/+3 |
| | |||||
* | Merge pull request #2760 from Valodim/pypy | Richard van der Hoff | 2018-04-11 | 2 | -1/+6 |
|\ | | | | | Synapse on PyPy | ||||
| * | Fix pep8 error on psycopg2cffi hack | Richard van der Hoff | 2018-04-10 | 1 | -6/+5 |
| | | |||||
| * | Use psycopg2cffi module instead of psycopg2 if running on pypy | Vincent Breitmoser | 2018-04-10 | 2 | -2/+8 |
| | | | | | | | | | | | | | | The psycopg2 package isn't available for PyPy. This commit adds a check if the runtime is PyPy, and if it is uses psycopg2cffi module in favor of psycopg2. This is almost a drop-in replacement, except for one place where an additional cast to string is required. | ||||
* | | fix typo | Neil Johnson | 2018-04-10 | 1 | -2/+2 |
| | | |||||
* | | remove errant print v0.27.3-rc2 | Neil Johnson | 2018-04-09 | 1 | -1/+1 |
| | | |||||
* | | Fix msec to sec, again | Neil Johnson | 2018-04-09 | 1 | -3/+3 |
| | | |||||
* | | Fix msec to sec | Neil Johnson | 2018-04-09 | 1 | -1/+1 |
| | | |||||
* | | Fix psycopg2 interpolation | Neil Johnson | 2018-04-09 | 1 | -5/+5 |
|/ | |||||
* | Don't use redundant inlineCallbacks | Luke Barnard | 2018-04-06 | 1 | -4/+1 |
| | |||||
* | join_rule -> join_policy | Luke Barnard | 2018-04-06 | 1 | -1/+1 |
| | |||||
* | is_joinable -> join_rule | Luke Barnard | 2018-04-06 | 1 | -4/+1 |
| | |||||
* | pep8 | David Baker | 2018-04-06 | 1 | -1/+2 |
| | |||||
* | Implement group join API | David Baker | 2018-04-06 | 1 | -3/+9 |
| | |||||
* | Merge pull request #3045 from matrix-org/dbkr/group_joinable | Luke Barnard | 2018-04-05 | 3 | -0/+42 |
|\ | | | | | Add joinability for groups | ||||
| * | NON NULL -> NOT NULL | Luke Barnard | 2018-04-05 | 1 | -1/+1 |
| | | |||||
| * | Use DEFAULT join_policy of "invite" in db | Luke Barnard | 2018-04-05 | 1 | -1/+1 |
| | | |||||
| * | Document set_group_join_policy | Luke Barnard | 2018-04-05 | 1 | -0/+6 |
| | | |||||
| * | Use join_policy API instead of joinable | Luke Barnard | 2018-04-03 | 2 | -4/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open". | ||||
| * | OK, smallint it is then | David Baker | 2018-03-28 | 1 | -1/+1 |
| | | |||||
| * | Grr. Copy the definition from is_admin | David Baker | 2018-03-28 | 1 | -1/+1 |
| | | |||||
| * | Make column definition that works on both dbs | David Baker | 2018-03-28 | 1 | -1/+1 |
| | | |||||
| * | Add schema delta file | David Baker | 2018-03-28 | 1 | -0/+16 |
| | | |||||
| * | Add joinability for groups | David Baker | 2018-03-28 | 2 | -1/+15 |
| | | | | | | | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table. | ||||
* | | Merge pull request #3041 from matrix-org/r30_stats | Neil Johnson | 2018-04-05 | 4 | -7/+111 |
|\ \ | | | | | | | R30 stats | ||||
| * | | Review comments | Neil Johnson | 2018-04-05 | 1 | -4/+5 |
| | | | | | | | | | | | | | | | Use iteritems over item to loop over dict formatting | ||||
| * | | pep8 | Neil Johnson | 2018-03-29 | 1 | -2/+4 |
| | | | |||||
| * | | Remove need for sqlite specific query | Neil Johnson | 2018-03-29 | 1 | -30/+57 |
| | | | |||||
| * | | fix pep8 errors | Neil Johnson | 2018-03-28 | 1 | -3/+0 |
| | | | |||||
| * | | remove twisted deferral cruft | Neil Johnson | 2018-03-28 | 1 | -6/+3 |
| | | | |||||
| * | | bump schema version | Neil Johnson | 2018-03-28 | 1 | -1/+1 |
| | | | |||||
| * | | Support multi client R30 for psql | Neil Johnson | 2018-03-28 | 1 | -8/+28 |
| | | | |||||
| * | | Add user_ips last seen index | Neil Johnson | 2018-03-28 | 2 | -0/+24 |
| | | | |||||
| * | | No need to cast in count_daily_users | Neil Johnson | 2018-03-28 | 1 | -2/+2 |
| | | | |||||
| * | | query and call for r30 stats | Neil Johnson | 2018-03-28 | 1 | -0/+36 |
| | | | |||||
| * | | count_daily_users failed if db was sqlite due to type failure - presumably ↵ | Neil Johnson | 2018-03-28 | 1 | -1/+1 |
| |/ | | | | | | | this prevcented all sqlite homeservers reporting home | ||||
* | | Merge pull request #3060 from matrix-org/rav/kill_event_content | Richard van der Hoff | 2018-04-05 | 3 | -7/+12 |
|\ \ | | | | | | | Remove uses of events.content | ||||
| * | | Remove uses of events.content | Richard van der Hoff | 2018-03-29 | 3 | -7/+12 |
| | | | |||||
* | | | Merge pull request #3049 from matrix-org/rav/use_staticjson | Richard van der Hoff | 2018-04-03 | 1 | -15/+8 |
|\ \ \ | | | | | | | | | Use static JSONEncoders | ||||
| * | | | Use static JSONEncoders | Richard van der Hoff | 2018-03-29 | 1 | -15/+8 |
| |/ / | | | | | | | | | | | | | 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. | ||||
* / / | Use simplejson throughout | Richard van der Hoff | 2018-03-29 | 1 | -1/+2 |
|/ / | | | | | | | Let's use simplejson rather than json, for consistency. | ||||
* | | Fix search_user_dir multiple sqlite versions do different things | Neil Johnson | 2018-03-28 | 1 | -2/+2 |
| | | |||||
* | | Merge pull request #3029 from matrix-org/erikj/linearize_generate_user_id | Erik Johnston | 2018-03-28 | 1 | -3/+1 |
|\ \ | | | | | | | Linearize calls to _generate_user_id | ||||
| * | | Don't use _cursor_to_dict in find_next_generated_user_id_localpart | Erik Johnston | 2018-03-26 | 1 | -3/+1 |
| |/ | |||||
* | | Merge pull request #3030 from matrix-org/erikj/no_ujson | Erik Johnston | 2018-03-28 | 1 | -1/+1 |
|\ \ | | | | | | | Remove last usage of ujson | ||||
| * | | Remove last usage of ujson | Erik Johnston | 2018-03-26 | 1 | -1/+1 |
| |/ | |||||
* | | Comment | Erik Johnston | 2018-03-27 | 1 | -4/+5 |
| | | |||||
* | | Fix indent | Erik Johnston | 2018-03-27 | 1 | -1/+1 |
| | | |||||
* | | Comment | Erik Johnston | 2018-03-27 | 1 | -0/+7 |
| | | |||||
* | | Add counter metrics for calculating state delta | Erik Johnston | 2018-03-27 | 1 | -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 branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2018-03-19 | 17 | -26/+25 |
|\ | |||||
| * | Remove wrong comment | Erik Johnston | 2018-03-16 | 1 | -1/+0 |
| | | |||||
| * | Replace ujson with simplejson | Erik Johnston | 2018-03-15 | 17 | -26/+26 |
| | | |||||
* | | Replace some ujson with simplejson to make it work | Erik Johnston | 2018-03-16 | 2 | -2/+2 |
| | | |||||
* | | Merge pull request #2988 from matrix-org/erikj/split_profile_store | Erik Johnston | 2018-03-14 | 1 | -24/+26 |
|\ \ | | | | | | | Split up ProfileStore | ||||
| * | | Split up ProfileStore | Erik Johnston | 2018-03-13 | 1 | -24/+26 |
| | | | |||||
* | | | Merge pull request #2993 from matrix-org/erikj/is_blocked | Erik Johnston | 2018-03-14 | 1 | -13/+17 |
|\ \ \ | | | | | | | | | Add is_blocked to worker store | ||||
| * | | | Add is_blocked to worker store | Erik Johnston | 2018-03-13 | 1 | -13/+17 |
| |/ / | |||||
* / / | fix bug #2926 (loading all state for a given type from the DB if the ↵ | Matthew Hodgson | 2018-03-13 | 1 | -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. | ||||
* | | Add Measure block for persist_events | Richard van der Hoff | 2018-03-13 | 1 | -4/+5 |
| | | | | | | | | This seems like a useful thing to measure. | ||||
* | | Fix race in sync when joining room | Erik Johnston | 2018-03-07 | 2 | -2/+27 |
| | | | | | | | | | | | | | | | | | | | | | | 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 #2946 from matrix-org/rav/timestamp_to_purge | Richard van der Hoff | 2018-03-06 | 1 | -0/+27 |
|\ \ | | | | | | | Implement purge_history by timestamp | ||||
| * | | Provide a means to pass a timestamp to purge_history | Richard van der Hoff | 2018-03-05 | 1 | -0/+27 |
| | | | |||||
* | | | Merge pull request #2948 from matrix-org/erikj/kill_as_sync | Erik Johnston | 2018-03-06 | 2 | -153/+5 |
|\ \ \ | | | | | | | | | Remove ability for AS users to call /events and /sync | ||||
| * | | | Remove ability for AS users to call /events and /sync | Erik Johnston | 2018-03-05 | 2 | -153/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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_store | Erik Johnston | 2018-03-05 | 1 | -23/+27 |
|\ \ \ \ | |_|/ / |/| | | | Split Directory store | ||||
| * | | | Fix cache invalidation on deletion | Erik Johnston | 2018-03-05 | 1 | -1/+4 |
| | | | | |||||
| * | | | Split Directory store | Erik Johnston | 2018-03-05 | 1 | -22/+23 |
| |/ / | |||||
* | | | Merge pull request #2943 from ↵ | Richard van der Hoff | 2018-03-05 | 1 | -12/+71 |
|\ \ \ | |/ / |/| | | | | | | | | matrix-org/rav/fix_find_first_stream_ordering_after_ts Test and fix find_first_stream_ordering_after_ts | ||||
| * | | Test and fix find_first_stream_ordering_after_ts | Richard van der Hoff | 2018-03-05 | 1 | -15/+53 |
| | | | | | | | | | | | | It seemed to suffer from a bunch of off-by-one errors. | ||||
| * | | Add find_first_stream_ordering_after_ts | Richard van der Hoff | 2018-03-05 | 1 | -0/+21 |
| | | | | | | | | | | | | Expose this as a public function which can be called outside a txn | ||||
* | | | Merge pull request #2934 from matrix-org/erikj/cache_fix | Erik Johnston | 2018-03-05 | 2 | -13/+15 |
|\ \ \ | | | | | | | | | Fix bug with delayed cache invalidation stream | ||||
| * | | | Fix bug with delayed cache invalidation stream | Erik Johnston | 2018-03-02 | 2 | -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. | ||||
* | | | | Split registration store | Erik Johnston | 2018-03-02 | 1 | -57/+61 |
|/ / / | |||||
* | | | Merge pull request #2925 from matrix-org/erikj/split_sig_fed | Erik Johnston | 2018-03-01 | 2 | -133/+143 |
|\ \ \ | |/ / |/| | | Split out SignatureStore and EventFederationStore | ||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_sig_fed | Erik Johnston | 2018-03-01 | 4 | -371/+406 |
| |\ \ | |||||
| * | | | Stub out broken function only used for cache | Erik Johnston | 2018-03-01 | 1 | -1/+3 |
| | | | | |||||
| * | | | Split out SignatureStore and EventFederationStore | Erik Johnston | 2018-03-01 | 2 | -132/+140 |
| | | | | |||||
* | | | | Merge pull request #2927 from matrix-org/erikj/read_marker_caches | Erik Johnston | 2018-03-01 | 2 | -2/+39 |
|\ \ \ \ | |_|/ / |/| | | | Improve caching for read_marker API | ||||
| * | | | Fewer lies are better | Erik Johnston | 2018-03-01 | 1 | -2/+2 |
| | | | | |||||
| * | | | Improve caching for read_marker API | Erik Johnston | 2018-03-01 | 1 | -0/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | 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 API | Erik Johnston | 2018-03-01 | 2 | -2/+4 |
| |/ / | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-03-01 | 3 | -197/+206 |
|\ \ \ | | | | | | | | | | | | | erikj/split_stream_store | ||||
| * \ \ | Merge pull request #2923 from matrix-org/erikj/stream_ago_worker | Erik Johnston | 2018-03-01 | 2 | -79/+85 |
| |\ \ \ | | | | | | | | | | | Calculate stream_ordering_month_ago correctly on workers | ||||
| | * | | | Default stream_ordering_*_ago to None | Erik Johnston | 2018-03-01 | 1 | -2/+2 |
| | | | | | |||||
| | * | | | Fix comment typo | Erik Johnston | 2018-03-01 | 1 | -1/+1 |
| | | | | | |||||
| | * | | | Calculate stream_ordering_month_ago correctly on workers | Erik Johnston | 2018-03-01 | 2 | -79/+85 |
| | |/ / | |||||
| * / / | Split up RoomStore | Erik Johnston | 2018-03-01 | 1 | -118/+121 |
| |/ / | |||||
* | | | Remove unused variables | Erik Johnston | 2018-03-01 | 1 | -8/+1 |
| | | | |||||
* | | | Document abstract class and method better | Erik Johnston | 2018-03-01 | 1 | -8/+13 |
| | | | |||||
* | | | Split out stream store | Erik Johnston | 2018-03-01 | 2 | -165/+193 |
|/ / | |||||
* | | Move storage functions for push calculations | Erik Johnston | 2018-02-27 | 4 | -87/+99 |
| | | | | | | | | This will allow push actions for an event to be calculated on workers. | ||||
* | | Merge pull request #2904 from matrix-org/erikj/receipt_cache_invalidation | Erik Johnston | 2018-02-27 | 1 | -14/+14 |
|\ \ | | | | | | | Fix missing invalidations for receipt storage | ||||
| * | | Fix missing invalidations for receipt storage | Erik Johnston | 2018-02-21 | 1 | -14/+14 |
| | | | |||||
* | | | Merge pull request #2903 from matrix-org/erikj/split_roommember_store | Erik Johnston | 2018-02-27 | 1 | -179/+182 |
|\ \ \ | | | | | | | | | Split out RoomMemberStore | ||||
| * \ \ | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-02-23 | 8 | -501/+607 |
| |\ \ \ | | | | | | | | | | | | | | | | erikj/split_roommember_store | ||||
| * | | | | Update copyright | Erik Johnston | 2018-02-23 | 2 | -0/+2 |
| | | | | | |||||
| * | | | | Split out RoomMemberStore | Erik Johnston | 2018-02-21 | 1 | -179/+181 |
| | | | | |