Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Batch upsert user ips | Erik Johnston | 2017-06-27 | 1 | -19/+38 |
| | |||||
* | Fix up indices for users_who_share_rooms | Erik Johnston | 2017-06-26 | 1 | -1/+2 |
| | |||||
* | Store URL cache preview downloads seperately | Erik Johnston | 2017-06-23 | 2 | -2/+22 |
| | | | | This makes it easier to clear old media out at a later date | ||||
* | Add desc | Erik Johnston | 2017-06-22 | 1 | -0/+1 |
| | |||||
* | Merge pull request #2296 from matrix-org/erikj/dont_appserver_shar | Erik Johnston | 2017-06-21 | 1 | -15/+20 |
|\ | | | | | Don't work out users who share room with appservice users | ||||
| * | Initialise exclusive_user_regex | Erik Johnston | 2017-06-21 | 1 | -15/+20 |
| | | |||||
* | | Merge branch 'develop' into avoid_duplicate_filters | Krombel | 2017-06-21 | 25 | -223/+1652 |
|\| | |||||
| * | Handle thumbnail urls | Erik Johnston | 2017-06-19 | 1 | -12/+14 |
| | | |||||
| * | Add API to quarantine media | Erik Johnston | 2017-06-19 | 3 | -2/+89 |
| | | |||||
| * | Add shutdown room API | Erik Johnston | 2017-06-19 | 3 | -0/+59 |
| | | |||||
| * | Merge pull request #2286 from matrix-org/erikj/split_out_user_dir | Erik Johnston | 2017-06-16 | 1 | -0/+18 |
| |\ | | | | | | | Split out user directory to a separate process | ||||
| | * | Initial worker impl | Erik Johnston | 2017-06-16 | 1 | -0/+18 |
| | | | |||||
| * | | Merge pull request #2280 from matrix-org/erikj/share_room_user_dir | Erik Johnston | 2017-06-16 | 3 | -31/+299 |
| |\| | | | | | | | Include users who you share a room with in user directory | ||||
| | * | Include users who share room with requester in user directory | Erik Johnston | 2017-06-15 | 1 | -22/+39 |
| | | | |||||
| | * | Implement updating users who share rooms on the fly | Erik Johnston | 2017-06-15 | 1 | -1/+110 |
| | | | |||||
| | * | Implement initial population of users who share rooms table | Erik Johnston | 2017-06-15 | 1 | -7/+117 |
| | | | |||||
| | * | Add DB schema for tracking users who share rooms | Erik Johnston | 2017-06-15 | 2 | -1/+33 |
| | | | |||||
| * | | Merge pull request #2281 from matrix-org/erikj/phone_home_stats | Erik Johnston | 2017-06-15 | 3 | -70/+70 |
| |\ \ | | |/ | |/| | Fix phone home stats | ||||
| | * | Add some more stats | Erik Johnston | 2017-06-15 | 2 | -0/+28 |
| | | | |||||
| | * | Fix phone home stats | Erik Johnston | 2017-06-14 | 2 | -71/+43 |
| | | | |||||
| * | | Fix user directory insertion due to missing room_id | Erik Johnston | 2017-06-13 | 1 | -1/+2 |
| | | | |||||
| * | | Fix up sql | Erik Johnston | 2017-06-13 | 1 | -10/+12 |
| | | | |||||
| * | | Fix user dir to not assume existence of user | Erik Johnston | 2017-06-13 | 1 | -22/+37 |
| | | | |||||
| * | | Merge pull request #2274 from matrix-org/erikj/cache_is_host_joined | Erik Johnston | 2017-06-13 | 2 | -1/+6 |
| |\ \ | | | | | | | | | Add cache for is_host_joined | ||||
| | * | | Add cache for is_host_joined | Erik Johnston | 2017-06-13 | 2 | -1/+6 |
| | | | | |||||
| * | | | Tweak the ranking of PG user dir search | Erik Johnston | 2017-06-13 | 1 | -13/+40 |
| |/ / | |||||
| * | | Merge pull request #2266 from matrix-org/erikj/host_in_room | Erik Johnston | 2017-06-12 | 1 | -29/+26 |
| |\ \ | | | | | | | | | Change is_host_joined to use current_state table | ||||
| | * | | Tweak SQL | Erik Johnston | 2017-06-09 | 1 | -3/+6 |
| | | | | |||||
| | * | | Change is_host_joined to use current_state table | Erik Johnston | 2017-06-09 | 1 | -29/+23 |
| | | | | | | | | | | | | | | | | | | | | | | | | This bypasses a bug where using the state groups to figure out if a host is in a room sometimes errors if the servers isn't in the room. (For example when the server rejected an invite to a remote room) | ||||
| * | | | Fix replication | Erik Johnston | 2017-06-09 | 1 | -1/+1 |
| | | | | |||||
| * | | | Comments | Erik Johnston | 2017-06-09 | 1 | -0/+3 |
| | | | | |||||
| * | | | Cache state deltas | Erik Johnston | 2017-06-09 | 1 | -3/+12 |
| |/ / | |||||
| * | | Ensure we don't use unpersisted state group as prev group | Erik Johnston | 2017-06-08 | 1 | -0/+13 |
| | | | |||||
| * | | Merge pull request #2259 from matrix-org/erikj/fix_state_woes | Erik Johnston | 2017-06-07 | 3 | -10/+24 |
| |\ \ | | | | | | | | | Fix bug where state_group tables got corrupted | ||||
| | * | | Fix bug where state_group tables got corrupted | Erik Johnston | 2017-06-07 | 3 | -10/+24 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | This is due to the fact that we prefilled caches using txn.call_after, which always gets called including on error. We fix this by making txn.call_after only fire when a transaction completes successfully, which is what we want most of the time anyway. | ||||
| * | | Merge pull request #2248 from matrix-org/erikj/state_fixup | Erik Johnston | 2017-06-07 | 2 | -21/+122 |
| |\ \ | | | | | | | | | Faster cache for get_joined_hosts | ||||
| | * | | Comments | Erik Johnston | 2017-06-07 | 2 | -0/+15 |
| | | | | |||||
| | * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_fixup | Erik Johnston | 2017-06-07 | 7 | -9/+624 |
| | |\ \ | |||||
| | * | | | Remove spurious log lines | Erik Johnston | 2017-06-07 | 1 | -1/+0 |
| | | | | | |||||
| | * | | | Handle None state group correctly | Erik Johnston | 2017-05-26 | 1 | -1/+4 |
| | | | | | |||||
| | * | | | Faster cache for get_joined_hosts | Erik Johnston | 2017-05-25 | 2 | -21/+105 |
| | | | | | |||||
| * | | | | When pruning, delete from device_lists_outbound_last_success | Erik Johnston | 2017-06-07 | 1 | -0/+8 |
| | | | | | |||||
| * | | | | Keep pruning background task | Erik Johnston | 2017-06-07 | 1 | -0/+45 |
| | | | | | |||||
| * | | | | Split up device_lists_outbound_pokes table for faster updates. | Erik Johnston | 2017-06-07 | 2 | -58/+57 |
| | |/ / | |/| | | |||||
| * | | | Increase size of IP cache | Erik Johnston | 2017-06-07 | 1 | -1/+6 |
| | | | | |||||
| * | | | Handle profile updates in user directory | Erik Johnston | 2017-06-01 | 1 | -0/+49 |
| | | | | |||||
| * | | | Fix sqlite | Erik Johnston | 2017-06-01 | 1 | -1/+1 |
| | | | | |||||
| * | | | Split the table in two | Erik Johnston | 2017-06-01 | 3 | -4/+88 |
| | | | | |||||
| * | | | Tweak search query | Erik Johnston | 2017-06-01 | 1 | -1/+1 |
| | | | | |||||
| * | | | Tweak search query | Erik Johnston | 2017-06-01 | 1 | -2/+2 |
| | | | | |||||
| * | | | Remove spurious inlineCallbacks | Erik Johnston | 2017-06-01 | 1 | -1/+0 |
| | | | | |||||
| * | | | Bug fixes and logging | Erik Johnston | 2017-06-01 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | - Check if room is public when a user joins before adding to user dir - Fix typo of field name "content.join_rules" -> "content.join_rule" | ||||
| * | | | Order by if they have profile info | Erik Johnston | 2017-06-01 | 1 | -2/+11 |
| | | | | |||||
| * | | | Use prefix matching | Erik Johnston | 2017-06-01 | 1 | -5/+29 |
| | | | | |||||
| * | | | Comment on why arbitrary comments | Erik Johnston | 2017-05-31 | 1 | -2/+6 |
| | | | | |||||
| * | | | Use unique indices | Erik Johnston | 2017-05-31 | 1 | -2/+2 |
| | | | | |||||
| * | | | Convert to int | Erik Johnston | 2017-05-31 | 1 | -0/+1 |
| | | | | |||||
| * | | | Fix tests | Erik Johnston | 2017-05-31 | 1 | -0/+1 |
| | | | | |||||
| * | | | Fix typo | Erik Johnston | 2017-05-31 | 1 | -1/+1 |
| | | | | |||||
| * | | | Limit number of things we fetch out of the db | Erik Johnston | 2017-05-31 | 1 | -9/+30 |
| | | | | |||||
| * | | | Add stream change cache | Erik Johnston | 2017-05-31 | 3 | -1/+19 |
| | | | | |||||
| * | | | Split out directory and search tables | Erik Johnston | 2017-05-31 | 2 | -29/+56 |
| | | | | |||||
| * | | | Pull max id from correct table | Erik Johnston | 2017-05-31 | 1 | -0/+8 |
| | | | | |||||
| * | | | Handle the server leaving a public room | Erik Johnston | 2017-05-31 | 2 | -0/+15 |
| | | | | |||||
| * | | | Add comments | Erik Johnston | 2017-05-31 | 2 | -4/+37 |
| | | | | |||||
| * | | | Weight differently | Erik Johnston | 2017-05-31 | 1 | -10/+24 |
| | | | | |||||
| * | | | Add search | Erik Johnston | 2017-05-31 | 1 | -0/+35 |
| | | | | |||||
| * | | | Update room column when room becomes unpublic | Erik Johnston | 2017-05-31 | 1 | -0/+10 |
| | | | | |||||
| * | | | Add user_directory to database | Erik Johnston | 2017-05-31 | 3 | -0/+216 |
| | | | | |||||
| * | | | Add comment | Erik Johnston | 2017-05-30 | 1 | -1/+1 |
| | | | | |||||
| * | | | Add clobbered event_id | Erik Johnston | 2017-05-30 | 2 | -1/+3 |
| | | | | |||||
| * | | | Add current_state_delta_stream table | Erik Johnston | 2017-05-30 | 2 | -8/+48 |
| |/ / | |||||
| * | | Merge pull request #2247 from matrix-org/erikj/auth_event | Erik Johnston | 2017-05-24 | 4 | -7/+104 |
| |\ \ | | | | | | | | | Only store event_auth for state events | ||||
| | * | | Add background task to clear out old event_auth | Erik Johnston | 2017-05-24 | 3 | -1/+74 |
| | | | | |||||
| | * | | Only store event_auth for state events | Erik Johnston | 2017-05-24 | 2 | -6/+30 |
| | | | | |||||
| * | | | Remove redundant invalidation | Erik Johnston | 2017-05-23 | 1 | -3/+0 |
| | | | | |||||
| * | | | Missed an invalidation | Erik Johnston | 2017-05-23 | 1 | -0/+3 |
| | | | | |||||
| * | | | Stream count_e2e_one_time_keys cache invalidation | Erik Johnston | 2017-05-22 | 1 | -13/+18 |
| |/ / | |||||
| * | | Fix invalidation of get_users_with_read_receipts_in_room | Erik Johnston | 2017-05-19 | 1 | -1/+3 |
| | | | |||||
| * | | Increase size of push rule caches | Erik Johnston | 2017-05-18 | 1 | -2/+2 |
| | | | |||||
| * | | Make get_if_app_services_interested_in_user faster | Erik Johnston | 2017-05-18 | 2 | -10/+23 |
| | | | |||||
| * | | Merge pull request #2230 from matrix-org/erikj/speed_up_get_state | Erik Johnston | 2017-05-17 | 1 | -29/+11 |
| |\ \ | | | | | | | | | Make get_state_groups_from_groups faster. | ||||
| | * | | Make get_state_groups_from_groups faster. | Erik Johnston | 2017-05-17 | 1 | -29/+11 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | Most of the time was spent copying a dict to filter out sentinel values that indicated that keys did not exist in the dict. The sentinel values were added to ensure that we cached the non-existence of keys. By updating DictionaryCache to keep track of which keys were known to not exist itself we can remove a dictionary copy. | ||||
| * | | Merge pull request #2216 from slipeer/app_services_interested_in_user | Erik Johnston | 2017-05-17 | 2 | -3/+6 |
| |\ \ | | |/ | |/| | Fix users claimed non-exclusively by an app service don't get notific… | ||||
| | * | Fix users claimed non-exclusively by an app service don't get notifications ↵ | Slipeer | 2017-05-11 | 2 | -3/+6 |
| | | | | | | | | | | | | #2211 | ||||
| * | | Comment | Erik Johnston | 2017-05-17 | 1 | -0/+5 |
| | | | |||||
| * | | Short circuit when we have delta ids | Erik Johnston | 2017-05-17 | 1 | -3/+19 |
| | | | |||||
| * | | Speed up get_joined_hosts | Erik Johnston | 2017-05-16 | 1 | -1/+2 |
| | | | |||||
| * | | Merge pull request #2224 from matrix-org/erikj/prefill_state | Erik Johnston | 2017-05-16 | 3 | -9/+26 |
| |\ \ | | | | | | | | | Prefill state caches | ||||
| | * | | Remove spurious merge artifacts | Erik Johnston | 2017-05-16 | 1 | -13/+0 |
| | | | | |||||
| | * | | Take a copy before prefilling, as it may be a frozendict | Erik Johnston | 2017-05-16 | 1 | -1/+1 |
| | | | | |||||
| | * | | Update comment | Erik Johnston | 2017-05-15 | 1 | -1/+2 |
| | | | | |||||
| | * | | Comments | Erik Johnston | 2017-05-15 | 2 | -3/+6 |
| | | | | |||||
| | * | | Add more granular event send metrics | Erik Johnston | 2017-05-15 | 1 | -0/+12 |
| | | | | |||||
| | * | | Prefill state caches | Erik Johnston | 2017-05-15 | 3 | -6/+20 |
| | | | | |||||
* | | | | replaced json.dumps with encode_canonical_json | Krombel | 2017-06-21 | 1 | -1/+2 |
| | | | | |||||
* | | | | Merge branch 'develop' into avoid_duplicate_filters | Krombel | 2017-05-16 | 4 | -12/+63 |
|\| | | | |||||
| * | | | Add a comment to old delta | Richard van der Hoff | 2017-05-11 | 1 | -0/+4 |
| | | | | |||||
| * | | | Don't create event_search index on sqlite | Richard van der Hoff | 2017-05-11 | 2 | -3/+11 |
| | | | | | | | | | | | | | | | | ... because the table is virtual | ||||
| * | | | Add more logging for purging | Richard van der Hoff | 2017-05-11 | 1 | -7/+14 |
| | | | | | | | | | | | | | | | | Log the number of events we will be deleting at info. | ||||
| * | | | Add an index to event_search | Richard van der Hoff | 2017-05-11 | 3 | -3/+35 |
| |/ / | | | | | | | | | | - to make the purge API quicker | ||||
* | | | avoid access-error if no filter_id matches | Krombel | 2017-05-15 | 1 | -3/+3 |
| | | | |||||
* | | | insert whitespace to fix travis build | Krombel | 2017-05-12 | 1 | -1/+1 |
| | | | |||||
* | | | add check to only add a new filter if the same filter does not exist previously | Krombel | 2017-05-11 | 1 | -0/+9 |
|/ / | | | | | | | Signed-off-by: Matthias Kesler <krombel@krombel.de> | ||||
* | | Tidy purge code and add some comments | Richard van der Hoff | 2017-05-11 | 1 | -12/+19 |
| | | | | | | | | Try to make this clearer with more comments and some variable renames | ||||
* | | Don't de-delta state groups we're about to delete | Richard van der Hoff | 2017-05-10 | 1 | -11/+9 |
| | | |||||
* | | add some logging to purge_history | Richard van der Hoff | 2017-05-10 | 1 | -4/+21 |
|/ | |||||
* | Merge pull request #2208 from matrix-org/erikj/ratelimit_overrid | Erik Johnston | 2017-05-10 | 2 | -1/+57 |
|\ | | | | | Add per user ratelimiting overrides | ||||
| * | Add per user ratelimiting overrides | Erik Johnston | 2017-05-10 | 2 | -1/+57 |
| | | |||||
* | | Allow clients to upload one-time-keys with new sigs | Richard van der Hoff | 2017-05-09 | 1 | -20/+27 |
|/ | | | | | | | When a client retries a key upload, don't give an error if the signature has changed (but the key is the same). Fixes https://github.com/vector-im/riot-android/issues/1208, hopefully. | ||||
* | Merge pull request #2203 from matrix-org/erikj/event_cache_hit_ratio | Erik Johnston | 2017-05-08 | 2 | -2/+21 |
|\ | | | | | Don't update event cache hit ratio from get_joined_users | ||||
| * | Expand docstring a bit | Erik Johnston | 2017-05-08 | 1 | -1/+7 |
| | | |||||
| * | Don't update event cache hit ratio from get_joined_users | Erik Johnston | 2017-05-08 | 2 | -2/+15 |
| | | | | | | | | | | Otherwise the hit ration of plain get_events gets completely skewed by calls to get_joined_users* functions. | ||||
* | | Merge pull request #2201 from matrix-org/erikj/store_device_cache | Erik Johnston | 2017-05-08 | 1 | -3/+22 |
|\ \ | | | | | | | Cache check to see if device exists | ||||
| * | | Add missing yields | Erik Johnston | 2017-05-08 | 1 | -2/+4 |
| | | | |||||
| * | | Invalidate cache on device deletion | Erik Johnston | 2017-05-08 | 1 | -2/+6 |
| | | | |||||
| * | | Comment | Erik Johnston | 2017-05-08 | 1 | -0/+2 |
| | | | |||||
| * | | Cache check to see if device exists | Erik Johnston | 2017-05-08 | 1 | -1/+12 |
| |/ | |||||
* / | Cache one time key counts | Erik Johnston | 2017-05-08 | 1 | -0/+9 |
|/ | |||||
* | Increase client_ip cache size | Erik Johnston | 2017-05-08 | 1 | -0/+1 |
| | |||||
* | Revert "Remove unused import" | Erik Johnston | 2017-05-08 | 1 | -0/+1 |
| | | | | This reverts commit ab37bef83bebd7cdaeb7cfd98553d18883d09103. | ||||
* | Revert "We don't care about forgotten rooms" | Erik Johnston | 2017-05-08 | 1 | -0/+12 |
| | | | | This reverts commit ad8b316939d59230526e60660caf9094cff62c8f. | ||||
* | Revert "Speed up filtering of a single event in push" | Erik Johnston | 2017-05-08 | 2 | -16/+2 |
| | | | | This reverts commit 421fdf74609439edaaffce117436e6a6df147841. | ||||
* | Merge pull request #2176 from matrix-org/erikj/faster_get_joined | Erik Johnston | 2017-05-05 | 1 | -16/+42 |
|\ | | | | | Make get_joined_users faster | ||||
| * | Fixes | Erik Johnston | 2017-05-05 | 1 | -3/+4 |
| | | |||||
| * | Add comment | Erik Johnston | 2017-05-04 | 1 | -0/+3 |
| | | |||||
| * | Make get_joined_users faster | Erik Johnston | 2017-05-03 | 1 | -16/+38 |
| | | |||||
* | | Merge pull request #2185 from matrix-org/erikj/smaller_caches | Erik Johnston | 2017-05-05 | 1 | -2/+2 |
|\ \ | | | | | | | Optimise caches for single key | ||||
| * | | Reduce size of get_users_in_room | Erik Johnston | 2017-05-04 | 1 | -2/+2 |
| | | | |||||
* | | | Merge pull request #2174 from matrix-org/erikj/current_cache_hosts | Erik Johnston | 2017-05-05 | 1 | -0/+39 |
|\ \ \ | | | | | | | | | Add cache for get_current_hosts_in_room | ||||
| * | | | Intern host strings | Erik Johnston | 2017-05-04 | 1 | -1/+2 |
| | | | | |||||
| * | | | Make caches bigger | Erik Johnston | 2017-05-04 | 1 | -1/+1 |
| | | | | |||||
| * | | | Fix comment and num args | Erik Johnston | 2017-05-04 | 1 | -1/+1 |
| | | | | |||||
| * | | | Add cache for get_current_hosts_in_room | Erik Johnston | 2017-05-02 | 1 | -0/+38 |
| | |/ | |/| | |||||
* | | | Revert "Prefill state caches" | Erik Johnston | 2017-05-04 | 3 | -27/+9 |
| |/ |/| | |||||
* | | Update comment | Erik Johnston | 2017-05-03 | 1 | -1/+2 |
| | | |||||
* | | Comments | Erik Johnston | 2017-05-03 | 2 | -3/+6 |
| | | |||||
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/prefill_state | Erik Johnston | 2017-05-03 | 1 | -0/+18 |
|\ \ | |||||
| * | | Add more granular event send metrics | Erik Johnston | 2017-05-02 | 1 | -0/+16 |
| |/ | |||||
* / | Prefill state caches | Erik Johnston | 2017-05-02 | 3 | -6/+18 |
|/ | |||||
* | Merge pull request #2080 from matrix-org/erikj/filter_speed | Erik Johnston | 2017-04-28 | 2 | -2/+16 |
|\ | | | | | Speed up filtering of a single event in push | ||||
| * | Remove unused import | Erik Johnston | 2017-04-28 | 1 | -1/+0 |
| | | |||||
| * | We don't care about forgotten rooms | Erik Johnston | 2017-04-28 | 1 | -12/+0 |
| | | |||||
| * | Speed up filtering of a single event in push | Erik Johnston | 2017-04-28 | 2 | -2/+29 |
| | | |||||
* | | Fix bgupdate error if index already exists (#2167) | Richard van der Hoff | 2017-04-27 | 1 | -30/+53 |
|/ | | | | | | | | | When creating a new table index in the background, guard against it existing already. Fixes https://github.com/matrix-org/synapse/issues/2135. Also, make sure we restore the autocommit flag when we're done, otherwise we get more failures from other operations later on. Fixes https://github.com/matrix-org/synapse/issues/1890 (hopefully). | ||||
* | Make state caches cache in ascii | Erik Johnston | 2017-04-25 | 1 | -2/+3 |
| | |||||
* | Comment | Erik Johnston | 2017-04-25 | 1 | -0/+2 |
| | |||||
* | Reduce size of joined_user cache | Erik Johnston | 2017-04-25 | 1 | -8/+14 |
| | | | | | | | | The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size. | ||||
* | Reduce _get_state_group_for_event cache size | Erik Johnston | 2017-04-25 | 1 | -1/+1 |
| | |||||
* | 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. | ||||
* | Remove unused cache | Erik Johnston | 2017-04-24 | 1 | -6/+1 |
| | |||||
* | Merge pull request #2120 from matrix-org/luke/read-markers | Luke Barnard | 2017-04-13 | 1 | -0/+22 |
|\ | | | | | Implement Read Marker API | ||||
| * | Correct logic in is_event_after | Luke Barnard | 2017-04-13 | 1 | -1/+1 |
| | | |||||
| * | Simplify is_event_after logic | Luke Barnard | 2017-04-12 | 1 | -10/+3 |
| | | |||||
| * | travis flake8.. | Luke Barnard | 2017-04-11 | 1 | -0/+1 |
| | | |||||
| * | Refactor event ordering check to events store | Luke Barnard | 2017-04-11 | 1 | -0/+28 |
| | | |||||
* | | Bail on where clause instead | Erik Johnston | 2017-04-11 | 1 | -3/+4 |
| | | |||||
* | | Don't bother with outer check for now | Erik Johnston | 2017-04-11 | 1 | -3/+0 |
| | | |||||
* | | Fix getting latest device IP for user with no devices | Erik Johnston | 2017-04-11 | 1 | -0/+5 |
|/ | |||||
* | Comment | Erik Johnston | 2017-04-07 | 1 | -0/+9 |
| | |||||
* | Speed up get_current_state_ids | Erik Johnston | 2017-04-07 | 1 | -10/+17 |
| | | | | | | | | | | | | Using _simple_select_list is fairly expensive for functions that return a lot of rows and/or get called a lot. (This is because it carefully constructs a list of dicts). get_current_state_ids gets called a lot on startup and e.g. when the IRC bridge decided to send tonnes of joins/leaves (as it invalidates the cache). We therefore replace it with a custon txn function that builds up the final result dict without building up and intermediate representation. | ||||
* | Deduplicate new deviceinbox rows for replication | Erik Johnston | 2017-04-04 | 1 | -4/+7 |
| | |||||
* | Fix up docs | Erik Johnston | 2017-03-31 | 1 | -1/+1 |
| | |||||
* | Add new storage functions for new replication | Erik Johnston | 2017-03-30 | 3 | -3/+133 |
| | | | | | The new replication protocol will keep all the streams separate, rather than muxing multiple streams into one. | ||||
* | Use txn.fetchall() so we can reuse txn | Erik Johnston | 2017-03-30 | 1 | -1/+1 |
| | |||||
* | Increase cache size for _get_state_group_for_event | Erik Johnston | 2017-03-29 | 1 | -1/+1 |
| | |||||
* | Decrank last commit | Erik Johnston | 2017-03-29 | 1 | -4/+5 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2017-03-29 | 17 | -164/+164 |
|\ | | | | | | | erikj/e2e_one_time_upsert | ||||
| * | Merge pull request #2063 from matrix-org/erikj/device_list_batch | Erik Johnston | 2017-03-28 | 1 | -0/+4 |
| |\ | | | | | | | Batch sending of device list pokes | ||||
| | * | Batch sending of device list pokes | Erik Johnston | 2017-03-24 | 1 | -0/+4 |
| | | | |||||
| * | | Typo | Erik Johnston | 2017-03-27 | 1 | -1/+1 |
| | | | |||||
| * | | Short circuit if all new events have same state group | Erik Johnston | 2017-03-27 | 1 | -36/+51 |
| |/ | |||||
| * | Merge pull request #2062 from matrix-org/erikj/presence_replication | Erik Johnston | 2017-03-24 | 1 | -2/+2 |
| |\ | | | | | | | Use presence replication stream to invalidate cache | ||||
| | * | Actually call invalidate | Erik Johnston | 2017-03-24 | 1 | -1/+1 |
| | | | |||||
| | * | Use presence replication stream to invalidate cache | Erik Johnston | 2017-03-24 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | Instead of using the cache invalidation replication stream to invalidate the _get_presence_cache, we can instead rely on the presence replication stream. This reduces the amount of replication traffic considerably. | ||||
| * | | Cache hosts in room | Erik Johnston | 2017-03-24 | 1 | -0/+10 |
| |/ | |||||
| * | Replace some calls to cursor_to_dict | Erik Johnston | 2017-03-24 | 2 | -38/+13 |
| | | | | | | | | | | cursor_to_dict can be surprisinglh expensive for large result sets, so lets only call it when we need to. | ||||
| * | Use iter(items|values) | Erik Johnston | 2017-03-24 | 3 | -51/+48 |
| | | |||||
| * | User Cursor.__iter__ instead of fetchall | Erik Johnston | 2017-03-23 | 15 | -39/+38 |
| | | | | | | | | This prevents unnecessary construction of lists | ||||
* | | Correctly look up key | Erik Johnston | 2017-03-29 | 1 | -6/+5 |
| | | |||||
* | | The algorithm is part of the key id | Erik Johnston | 2017-03-28 | 1 | -4/+4 |
| | | |||||
* | | Raise a more helpful exception | Erik Johnston | 2017-03-23 | 1 | -2/+4 |
| | | |||||
* | | Don't user upsert to persist new one time keys | Erik Johnston | 2017-03-23 | 1 | -9/+48 |
|/ | | | | | Instead we no-op duplicate one time key uploads, an error if the key_id already exists but encodes a different key. | ||||
* | fix up some key verif docstrings | Richard van der Hoff | 2017-03-21 | 1 | -2/+3 |
| | |||||
* | Merge pull request #2033 from matrix-org/erikj/repl_speed | Erik Johnston | 2017-03-21 | 1 | -17/+14 |
|\ | | | | | Don't send the full event json over replication | ||||
| * | Don't send the full event json over replication | Erik Johnston | 2017-03-17 | 1 | -17/+14 |
| | | |||||
* | | Merge pull request #2027 from matrix-org/rav/logcontext_leaks | Richard van der Hoff | 2017-03-20 | 1 | -12/+3 |
|\ \ | | | | | | | A few fixes to logcontext things | ||||
| * | | Remove broken use of clock.call_later | Richard van der Hoff | 2017-03-18 | 1 | -12/+3 |
| |/ | | | | | | | | | | | | | | | | | background_updates was using `call_later` in a way that leaked the logcontext into the reactor. We could have rewritten it to do it properly, but given that we weren't using the fancier facilities provided by `call_later`, we might as well just use `async.sleep`, which does the logcontext stuff properly. | ||||
* | | Avoid resetting state on rejected events | Richard van der Hoff | 2017-03-17 | 2 | -4/+14 |
| | | | | | | | | | | | | | | When we get a rejected event, give it the same state_group as its prev_event, rather than no state_group at all. This should fix https://github.com/matrix-org/synapse/issues/1935. | ||||
* | | Refactoring and cleanups | Richard van der Hoff | 2017-03-17 | 2 | -72/+225 |
|/ | | | | | | | | | | | | A few non-functional changes: * A bunch of docstrings to document types * Split `EventsStore._persist_events_txn` up a bit. Hopefully it's a bit more readable. * Rephrase `EventFederationStore._update_min_depth_for_room_txn` to avoid mind-bending conditional. * Rephrase rejected/outlier conditional in `_update_outliers_txn` to avoid mind-bending conditional. | ||||
* | Comments | Erik Johnston | 2017-03-16 | 1 | -0/+2 |
| | |||||
* | Don't recreate so many sets | Erik Johnston | 2017-03-16 | 1 | -5/+6 |
| | |||||
* | Fix assertion to stop transaction queue getting wedged | Richard van der Hoff | 2017-03-15 | 3 | -4/+18 |
| | | | | | | | | ... and update some docstrings to correctly reflect the types being used. get_new_device_msgs_for_remote can return a long under some circumstances, which was being stored in last_device_list_stream_id_by_dest, and was then upsetting things on the next loop. | ||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2017-03-14 | 3 | -3/+86 |
|\ | | | | | | | erikj/public_list_speed | ||||
| * | Fix current_state_events table to not lie | Erik Johnston | 2017-03-14 | 1 | -3/+28 |
| | | | | | | | | | | If we try and persist two state events that have the same ancestor we calculate the wrong current state when persisting those events. | ||||
| * | Implement _simple_delete_many_txn, use it to delete devices | Luke Barnard | 2017-03-13 | 2 | -0/+58 |
| | | | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review. | ||||
* | | Assume rooms likely haven't changed | Erik Johnston | 2017-03-13 | 1 | -0/+3 |
| | | |||||
* | | Get current state by using current_state_events table | Erik Johnston | 2017-03-10 | 2 | -11/+21 |
|/ | |||||
* | Noop repated delete device inbox calls from /sync | Erik Johnston | 2017-03-10 | 1 | -1/+35 |
| | |||||
* | Remove spurious SQL logging (#1972) | Richard van der Hoff | 2017-03-08 | 1 | -8/+0 |
| | | | | | looks like the upsert function was accidentally sending sql logging to the general logger. We already log the sql in `txn.execute`. | ||||
* | Select distinct devices from DB | Erik Johnston | 2017-03-06 | 1 | -1/+1 |
| | | | | | Otherwise we might pull out tonnes of duplicate user_ids and this can make synapse sad. | ||||
* | Fix up | Erik Johnston | 2017-03-03 | 2 | -8/+8 |
| | |||||
* | Add index to device_lists_stream | Erik Johnston | 2017-03-01 | 3 | -4/+28 |
| | |||||
* | Clobber old device list stream entries | Erik Johnston | 2017-03-01 | 1 | -0/+10 |
| | |||||
* | Merge pull request #1959 from matrix-org/erikj/intern_once | Erik Johnston | 2017-02-28 | 1 | -3/+2 |
|\ | | | | | Intern table column names once | ||||
| * | Intern table column names once | Erik Johnston | 2017-02-28 | 1 | -3/+2 |
| | | |||||
* | | Add stream_id index to device_lists_outbound_pokes | Erik Johnston | 2017-02-28 | 2 | -1/+17 |
|/ | | | | As this is used for replication streaming | ||||
* | Fix up txn name | Erik Johnston | 2017-02-28 | 1 | -1/+1 |
| | |||||
* | Remove needless check | Erik Johnston | 2017-02-27 | 1 | -2/+0 |
| | |||||
* | It should be all | Erik Johnston | 2017-02-27 | 1 | -1/+1 |
| | |||||
* | Don't fetch current state in common case | Erik Johnston | 2017-02-27 | 1 | -0/+17 |
| | | | | | | Currently we fetch the list of current state events whenever we send something in a room. This is overkill for the common case of persisting a simple chain of non-state events, so lets handle that case specially. | ||||
* | Merge pull request #1954 from matrix-org/erikj/cache_device2 | Erik Johnston | 2017-02-27 | 1 | -45/+73 |
|\ | | | | | Cache get_user_devices_from_cache | ||||
| * | Cache get_user_devices_from_cache | Erik Johnston | 2017-02-27 | 1 | -45/+73 |
| | | |||||
* | | Strip newlines from SQL queries | Erik Johnston | 2017-02-23 | 1 | -0/+6 |
| | | |||||
* | | Remove lock from rotate notifs | Erik Johnston | 2017-02-22 | 1 | -3/+0 |
|/ | |||||
* | Store looping call | Erik Johnston | 2017-02-21 | 1 | -1/+3 |
| | |||||
* | Fix up notif rotation | Erik Johnston | 2017-02-18 | 1 | -14/+22 |
| | |||||
* | Use TEXT rather than VARCHAR | David Baker | 2017-02-17 | 1 | -6/+6 |
| | | | | While we're changing anyway | ||||
* | Make the pushers lang field column longer | David Baker | 2017-02-17 | 1 | -0/+39 |
| | | | | | | To accommodate things like zh-Hans-CN Fixes https://github.com/vector-im/riot-ios/issues/1031 | ||||
* | Comment | Erik Johnston | 2017-02-16 | 1 | -1/+4 |
| | |||||
* | Comment | Erik Johnston | 2017-02-16 | 1 | -7/+14 |
| | |||||
* | Store the default push actions in a more efficient manner | Erik Johnston | 2017-02-16 | 1 | -11/+40 |
| | |||||
* | Merge pull request #1916 from matrix-org/erikj/push_actions_delete | Erik Johnston | 2017-02-16 | 3 | -57/+248 |
|\ | | | | | Aggregate event push actions | ||||
| * | Less aggressive timers | Erik Johnston | 2017-02-14 | 1 | -2/+2 |
| | | |||||
| * | Aggregate event push actions | Erik Johnston | 2017-02-14 | 3 | -57/+248 |
| | | |||||
* | | Merge pull request #1921 from matrix-org/rav/fix_key_changes | Richard van der Hoff | 2017-02-15 | 2 | -2/+29 |
|\ \ | |/ |/| | Fix bugs in the /keys/changes api | ||||
| * | Fix bugs in the /keys/changes api | Richard van der Hoff | 2017-02-14 | 2 | -2/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `get_forward_extremeties_for_room` takes a numeric `stream_ordering`. We were passing a `RoomStreamToken`, which meant that it returned the *current* extremities, rather than those corresponding to the `from_token`. However: * `get_state_ids_for_events` required a second ('types') parameter; this meant that a `TypeError` was thrown and we ended up acting as though there was *no* prev state. * `get_state_ids_for_events` actually returns a map from event_id to state dictionary - just looking up the state keys in it again meant that we acted as though there was no prev state. We now check if each member's state has changed since *any* of the extremities. Also add/fix some comments. | ||||
* | | Merge pull request #1873 from matrix-org/erikj/delete_push_actions | Erik Johnston | 2017-02-14 | 1 | -3/+8 |
|\ \ | |/ |/| | Be more agressive about purging old room event_push_actions | ||||
| * | Be more agressive about purging old room event_push_actions | Erik Johnston | 2017-02-01 | 1 | -3/+8 |
| | | |||||
* | | Cache get_presence storage | Erik Johnston | 2017-02-13 | 1 | -3/+11 |
| | | |||||
* | | Make None check explicit | Erik Johnston | 2017-02-08 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #1892 from matrix-org/erikj/rejection_fwd_extrem | Erik Johnston | 2017-02-08 | 1 | -9/+6 |
|\ \ | | | | | | | Ignore new rejected events when working out forward extremities. | ||||
| * | | Ignore new rejected events when working out forward extremeties. | Erik Johnston | 2017-02-08 | 1 | -9/+6 |
| | | | |||||
* | | | Merge pull request #1784 from morteza-araby/user-admin | Erik Johnston | 2017-02-06 | 2 | -0/+235 |
|\ \ \ | |/ / |/| | | Administration functionalities | ||||
| * | | admin,storage: added more administrator functionalities | Morteza Araby | 2017-02-02 | 2 | -0/+235 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | administrators can now: - Set displayname of users - Update user avatars - Search for users by user_id - Browse all users in a paginated API - Reset user passwords - Deactivate users Helpers for doing paginated queries has also been added to storage Signed-off-by: Morteza Araby <morteza.araby@ericsson.com> | ||||
* | | Bump cache sizes for common membership queries | Erik Johnston | 2017-02-02 | 1 | -3/+3 |
| | | |||||
* | | Comment | Erik Johnston | 2017-02-02 | 1 | -1/+2 |
| | | |||||
* | | Make presence.get_new_events a bit faster | Erik Johnston | 2017-02-02 | 1 | -0/+16 |
|/ | | | | We do this by caching the set of users a user shares rooms with. | ||||
* | Doc args | Erik Johnston | 2017-02-01 | 1 | -0/+4 |
| | |||||
* | Comment | Erik Johnston | 2017-02-01 | 1 | -0/+3 |
| | |||||
* | Include newly joined users in /keys/changes API | Erik Johnston | 2017-02-01 | 1 | -0/+7 |
| | |||||
* | Merge pull request #1870 from matrix-org/erikj/cache_get_all_new_events | Erik Johnston | 2017-02-01 | 1 | -0/+2 |
|\ | | | | | Add a small cache get_all_new_events | ||||
| * | Add a small cache get_all_new_events | Erik Johnston | 2017-02-01 | 1 | -0/+2 |
| | | |||||
* | | Merge pull request #1868 from matrix-org/erikj/replication_cache | Erik Johnston | 2017-02-01 | 2 | -22/+0 |
|\ \ | | | | | | | Only invalidate membership caches based on the cache stream | ||||
| * | | Only invalidate membership caches based on the cache stream | Erik Johnston | 2017-01-31 | 2 | -22/+0 |
| | | | | | | | | | | | | | | | Before we completely invalidated get_users_in_room whenever we updated any current_state_events table. This was way too aggressive. | ||||
* | | | Add m.room.member type to query | Erik Johnston | 2017-02-01 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #1867 from matrix-org/erikj/member_index | Erik Johnston | 2017-02-01 | 3 | -1/+26 |
|\ \ \ | |_|/ |/| | | Add an index to make membership queries faster | ||||
| * | | Add an index to make membership queries faster | Erik Johnston | 2017-01-31 | 3 | -1/+26 |
| |/ | |||||
* / | Up get_latest_event_ids_in_room cache | Erik Johnston | 2017-02-01 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #1864 from matrix-org/erikj/device_list_fixes | Erik Johnston | 2017-01-31 | 1 | -8/+26 |
|\ | | | | | Fix clearing out old device list outbound pokes |