Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move storage classes into a main "data store". | Erik Johnston | 2019-10-21 | 1 | -536/+0 |
| | | | | | This is in preparation for having multiple data stores that offer different functionality, e.g. splitting out state or event storage. | ||||
* | Replace IN usage with helper funcs | Erik Johnston | 2019-10-10 | 1 | -23/+30 |
| | |||||
* | Remove unnecessary parentheses around return statements (#5931) | Andrew Morgan | 2019-08-30 | 1 | -1/+1 |
| | | | | | Python will return a tuple whether there are parentheses around the returned values or not. I'm just sick of my editor complaining about this all over the place :) | ||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -20/+16 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -1/+1 |
| | |||||
* | Run black on the rest of the storage module (#4996) | Amber Brown | 2019-04-03 | 1 | -102/+89 |
| | |||||
* | Fix bug where read-receipts lost their timestamps (#4927) | Richard van der Hoff | 2019-03-25 | 1 | -1/+3 |
| | | | | | Make sure that they are sent correctly over the replication stream. Fixes: #4898 | ||||
* | Add some debug about processing read receipts. | Richard van der Hoff | 2019-03-04 | 1 | -6/+20 |
| | | | | | I'm hoping to establish which rooms are having lots of RRs sent for them, and how old the events are when they are sent. | ||||
* | 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 | ||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -8/+8 |
| | |||||
* | Attempt to be more performant on PyPy (#3462) | Amber Brown | 2018-06-28 | 1 | -1/+2 |
| | |||||
* | 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 | ||||
* | 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 | ||||
* | Use stream rather depth ordering for push actions | Erik Johnston | 2018-05-11 | 1 | -1/+0 |
| | | | | | | 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 branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2018-03-19 | 1 | -1/+1 |
|\ | |||||
| * | Replace ujson with simplejson | Erik Johnston | 2018-03-15 | 1 | -1/+1 |
| | | |||||
* | | Fix missing invalidations for receipt storage | Erik Johnston | 2018-02-21 | 1 | -14/+14 |
| | | |||||
* | | Raise exception in abstract method | Erik Johnston | 2018-02-20 | 1 | -1/+1 |
| | | |||||
* | | Fix comment | Erik Johnston | 2018-02-20 | 1 | -1/+1 |
| | | |||||
* | | Use abstract base class to access stream IDs | Erik Johnston | 2018-02-20 | 1 | -15/+27 |
| | | |||||
* | | Split ReceiptsStore | Erik Johnston | 2018-02-20 | 1 | -45/+64 |
|/ | |||||
* | Make __init__ consitstent across Store heirarchy | Richard van der Hoff | 2017-11-13 | 1 | -2/+2 |
| | | | | | | Add db_conn parameters to the `__init__` methods of the *Store classes, so that they are all consistent, which makes the multiple inheritance work correctly (and so that we can later extract mixins which can be used in the slavedstores) | ||||
* | Fix invalidation of get_users_with_read_receipts_in_room | Erik Johnston | 2017-05-19 | 1 | -1/+3 |
| | |||||
* | Reduce cache size by not storing deferreds | Erik Johnston | 2017-04-25 | 1 | -4/+7 |
| | | | | | | | | | | | | | | | | | | | | Currently the cache descriptors store deferreds rather than raw values, this is a simple way of triggering only one database hit and sharing the result if two callers attempt to get the same value. However, there are a few caches that simply store a mapping from string to string (or int). These caches can have a large number of entries, under the assumption that each entry is small. However, the size of a deferred (specifically the size of ObservableDeferred) is signigicantly larger than that of the raw value, 2kb vs 32b. This PR therefore changes the cache descriptors to store the raw values rather than the deferreds. As a side effect cached storage function now either return a deferred or the actual value, as the cached list decriptor already does. This is fine as we always end up just yield'ing on the returned value eventually, which handles that case correctly. | ||||
* | User Cursor.__iter__ instead of fetchall | Erik Johnston | 2017-03-23 | 1 | -3/+2 |
| | | | | This prevents unnecessary construction of lists | ||||
* | Aggregate event push actions | Erik Johnston | 2017-02-14 | 1 | -0/+1 |
| | |||||
* | Fix result of insert_receipt | Richard van der Hoff | 2016-12-08 | 1 | -1/+1 |
| | | | | This should fix the absence of notifications when new receipts arrive. | ||||
* | Lower get_linearized_receipts_for_room cache size | Erik Johnston | 2016-08-31 | 1 | -1/+1 |
| | |||||
* | Merge branch 'develop' into dbkr/notifications_api | Matthew Hodgson | 2016-08-20 | 1 | -1/+1 |
|\ | |||||
| * | Remove lru option | Erik Johnston | 2016-08-19 | 1 | -1/+1 |
| | | |||||
* | | Explicit join | David Baker | 2016-08-18 | 1 | -2/+2 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_api | David Baker | 2016-08-11 | 1 | -0/+28 |
|\| | |||||
| * | Merge pull request #809 from matrix-org/erikj/cache_receipts_in_room | Erik Johnston | 2016-06-03 | 1 | -0/+28 |
| |\ | | | | | | | Add get_users_with_read_receipts_in_room cache | ||||
| | * | Add get_users_with_read_receipts_in_room cache | Erik Johnston | 2016-06-01 | 1 | -0/+28 |
| | | | |||||
* | | | Add GET /notifications API | David Baker | 2016-05-23 | 1 | -0/+25 |
|/ / | |||||
* / | Only delete push actions after 30 days | David Baker | 2016-05-20 | 1 | -1/+1 |
|/ | |||||
* | Allow receipts for events we haven't seen in the db | Mark Haines | 2016-05-13 | 1 | -4/+6 |
| | |||||
* | Merge pull request #769 from matrix-org/erikj/push_actions_delete | Erik Johnston | 2016-05-13 | 1 | -9/+17 |
|\ | | | | | Delete old pushers | ||||
| * | Delete old pushers | Erik Johnston | 2016-05-03 | 1 | -9/+17 |
| | | |||||
* | | Use tree cache for get_linearized_receipts_for_room | Erik Johnston | 2016-05-13 | 1 | -3/+3 |
|/ | |||||
* | Check that somethign has happend before running the selects | Mark Haines | 2016-04-27 | 1 | -0/+3 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2016-04-07 | 1 | -2/+2 |
|\ | | | | | | | dbkr/pushers_use_event_actions | ||||
| * | Make the cache objects be per instance rather than being global | Mark Haines | 2016-04-06 | 1 | -2/+2 |
| | | |||||
* | | Send badge count pushes. | David Baker | 2016-04-07 | 1 | -3/+6 |
|/ | | | | Also fix bugs with retrying. | ||||
* | Use a stream id generator for backfilled ids | Mark Haines | 2016-04-01 | 1 | -3/+3 |
| | |||||
* | Intern all the things | Erik Johnston | 2016-03-23 | 1 | -11/+10 |
| | |||||
* | Merge pull request #489 from matrix-org/markjh/replication | Mark Haines | 2016-03-01 | 1 | -0/+16 |
|\ | | | | | Add a /replication API for extracting the updates that happened on synapse. | ||||
| * | Add a /replication API for extracting the updates that happened on | Mark Haines | 2016-03-01 | 1 | -0/+16 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates. | ||||
* | | Load the current id in the IdGenerator constructor | Mark Haines | 2016-03-01 | 1 | -2/+2 |
|/ | | | | | | | | | Rather than loading them lazily. This allows us to remove all the yield statements and spurious arguments for the get_next methods. It also allows us to replace all instances of get_next_txn with get_next since get_next no longer needs to access the db. | ||||
* | Remove unused param from get_max_token | Erik Johnston | 2016-02-18 | 1 | -3/+3 |
| | |||||
* | Invalidate get_last_receipt_event_id_for_user cache | Erik Johnston | 2016-02-09 | 1 | -0/+5 |
| | |||||
* | Don't load all ephemeral state for a room on every sync | Erik Johnston | 2016-02-09 | 1 | -0/+14 |
| | |||||
* | Cache tags and account data | Erik Johnston | 2016-01-28 | 1 | -4/+4 |
| | |||||
* | Invalidate caches properly. Remove unused arg | Erik Johnston | 2016-01-28 | 1 | -4/+6 |
| | |||||
* | PEP8 | Erik Johnston | 2016-01-27 | 1 | -2/+0 |
| | |||||
* | Add cache to room stream | Erik Johnston | 2016-01-27 | 1 | -62/+3 |
| | |||||
* | Add a Homeserver.setup method. | Erik Johnston | 2016-01-26 | 1 | -3/+5 |
| | | | | | | This is for setting up dependencies that require work on startup. This is useful for the DataStore that wants to read a bunch from the database before initiliazing. | ||||
* | peppate | David Baker | 2016-01-20 | 1 | -3/+2 |
| | |||||
* | Add storage function to get all receipts for a user. Also add some cache ↵ | David Baker | 2016-01-20 | 1 | -21/+34 |
| | | | | invalidation to the receipts storage because there wasn't any, and remove a method that was unused. | ||||
* | Add regex cache. Only caculate push actions for users that have sent read ↵ | Erik Johnston | 2016-01-19 | 1 | -1/+13 |
| | | | | receipts, and are on that server | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Rename unhelpful variable name | Erik Johnston | 2015-08-18 | 1 | -7/+2 |
| | |||||
* | Comments | Erik Johnston | 2015-08-18 | 1 | -4/+14 |
| | |||||
* | Remove unused import | Erik Johnston | 2015-08-17 | 1 | -2/+0 |
| | |||||
* | Batch _get_linearized_receipts_for_rooms | Erik Johnston | 2015-08-14 | 1 | -15/+64 |
| | |||||
* | Add metrics to the receipts cache | Erik Johnston | 2015-08-13 | 1 | -0/+6 |
| | |||||
* | Move all the caches into their own package, synapse.util.caches | Erik Johnston | 2015-08-11 | 1 | -1/+2 |
| | |||||
* | Add support for using keyword arguments with cached functions | Erik Johnston | 2015-07-27 | 1 | -3/+2 |
| | |||||
* | Up default cache size for _RoomStreamChangeCache | Matrix | 2015-07-18 | 1 | -1/+1 |
| | |||||
* | Docs | Erik Johnston | 2015-07-14 | 1 | -3/+28 |
| | |||||
* | Comments | Erik Johnston | 2015-07-13 | 1 | -0/+11 |
| | |||||
* | Handle error slightly better | Erik Johnston | 2015-07-09 | 1 | -2/+2 |
| | |||||
* | Change format of receipts to allow inclusion of data | Erik Johnston | 2015-07-09 | 1 | -19/+20 |
| | |||||
* | Add a cache to fetching of receipt streams | Erik Johnston | 2015-07-08 | 1 | -3/+89 |
| | |||||
* | Hook up receipts to v1 initialSync | Erik Johnston | 2015-07-08 | 1 | -9/+20 |
| | |||||
* | Wire together receipts and the notifer/federation | Erik Johnston | 2015-07-07 | 1 | -9/+60 |
| | |||||
* | Fix various typos | Erik Johnston | 2015-07-07 | 1 | -6/+7 |
| | |||||
* | Add basic storage functions for handling of receipts | Erik Johnston | 2015-07-01 | 1 | -0/+162 |