summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Batch upsert user ipsErik Johnston2017-06-271-19/+38
|
* Fix up indices for users_who_share_roomsErik Johnston2017-06-261-1/+2
|
* Store URL cache preview downloads seperatelyErik Johnston2017-06-232-2/+22
| | | | This makes it easier to clear old media out at a later date
* Add descErik Johnston2017-06-221-0/+1
|
* Merge pull request #2296 from matrix-org/erikj/dont_appserver_sharErik Johnston2017-06-211-15/+20
|\ | | | | Don't work out users who share room with appservice users
| * Initialise exclusive_user_regexErik Johnston2017-06-211-15/+20
| |
* | Merge branch 'develop' into avoid_duplicate_filtersKrombel2017-06-2125-223/+1652
|\|
| * Handle thumbnail urlsErik Johnston2017-06-191-12/+14
| |
| * Add API to quarantine mediaErik Johnston2017-06-193-2/+89
| |
| * Add shutdown room APIErik Johnston2017-06-193-0/+59
| |
| * Merge pull request #2286 from matrix-org/erikj/split_out_user_dirErik Johnston2017-06-161-0/+18
| |\ | | | | | | Split out user directory to a separate process
| | * Initial worker implErik Johnston2017-06-161-0/+18
| | |
| * | Merge pull request #2280 from matrix-org/erikj/share_room_user_dirErik Johnston2017-06-163-31/+299
| |\| | | | | | | Include users who you share a room with in user directory
| | * Include users who share room with requester in user directoryErik Johnston2017-06-151-22/+39
| | |
| | * Implement updating users who share rooms on the flyErik Johnston2017-06-151-1/+110
| | |
| | * Implement initial population of users who share rooms tableErik Johnston2017-06-151-7/+117
| | |
| | * Add DB schema for tracking users who share roomsErik Johnston2017-06-152-1/+33
| | |
| * | Merge pull request #2281 from matrix-org/erikj/phone_home_statsErik Johnston2017-06-153-70/+70
| |\ \ | | |/ | |/| Fix phone home stats
| | * Add some more statsErik Johnston2017-06-152-0/+28
| | |
| | * Fix phone home statsErik Johnston2017-06-142-71/+43
| | |
| * | Fix user directory insertion due to missing room_idErik Johnston2017-06-131-1/+2
| | |
| * | Fix up sqlErik Johnston2017-06-131-10/+12
| | |
| * | Fix user dir to not assume existence of userErik Johnston2017-06-131-22/+37
| | |
| * | Merge pull request #2274 from matrix-org/erikj/cache_is_host_joinedErik Johnston2017-06-132-1/+6
| |\ \ | | | | | | | | Add cache for is_host_joined
| | * | Add cache for is_host_joinedErik Johnston2017-06-132-1/+6
| | | |
| * | | Tweak the ranking of PG user dir searchErik Johnston2017-06-131-13/+40
| |/ /
| * | Merge pull request #2266 from matrix-org/erikj/host_in_roomErik Johnston2017-06-121-29/+26
| |\ \ | | | | | | | | Change is_host_joined to use current_state table
| | * | Tweak SQLErik Johnston2017-06-091-3/+6
| | | |
| | * | Change is_host_joined to use current_state tableErik Johnston2017-06-091-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 replicationErik Johnston2017-06-091-1/+1
| | | |
| * | | CommentsErik Johnston2017-06-091-0/+3
| | | |
| * | | Cache state deltasErik Johnston2017-06-091-3/+12
| |/ /
| * | Ensure we don't use unpersisted state group as prev groupErik Johnston2017-06-081-0/+13
| | |
| * | Merge pull request #2259 from matrix-org/erikj/fix_state_woesErik Johnston2017-06-073-10/+24
| |\ \ | | | | | | | | Fix bug where state_group tables got corrupted
| | * | Fix bug where state_group tables got corruptedErik Johnston2017-06-073-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_fixupErik Johnston2017-06-072-21/+122
| |\ \ | | | | | | | | Faster cache for get_joined_hosts
| | * | CommentsErik Johnston2017-06-072-0/+15
| | | |
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_fixupErik Johnston2017-06-077-9/+624
| | |\ \
| | * | | Remove spurious log linesErik Johnston2017-06-071-1/+0
| | | | |
| | * | | Handle None state group correctlyErik Johnston2017-05-261-1/+4
| | | | |
| | * | | Faster cache for get_joined_hostsErik Johnston2017-05-252-21/+105
| | | | |
| * | | | When pruning, delete from device_lists_outbound_last_successErik Johnston2017-06-071-0/+8
| | | | |
| * | | | Keep pruning background taskErik Johnston2017-06-071-0/+45
| | | | |
| * | | | Split up device_lists_outbound_pokes table for faster updates.Erik Johnston2017-06-072-58/+57
| | |/ / | |/| |
| * | | Increase size of IP cacheErik Johnston2017-06-071-1/+6
| | | |
| * | | Handle profile updates in user directoryErik Johnston2017-06-011-0/+49
| | | |
| * | | Fix sqliteErik Johnston2017-06-011-1/+1
| | | |
| * | | Split the table in twoErik Johnston2017-06-013-4/+88
| | | |
| * | | Tweak search queryErik Johnston2017-06-011-1/+1
| | | |
| * | | Tweak search queryErik Johnston2017-06-011-2/+2
| | | |
| * | | Remove spurious inlineCallbacksErik Johnston2017-06-011-1/+0
| | | |
| * | | Bug fixes and loggingErik Johnston2017-06-011-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 infoErik Johnston2017-06-011-2/+11
| | | |
| * | | Use prefix matchingErik Johnston2017-06-011-5/+29
| | | |
| * | | Comment on why arbitrary commentsErik Johnston2017-05-311-2/+6
| | | |
| * | | Use unique indicesErik Johnston2017-05-311-2/+2
| | | |
| * | | Convert to intErik Johnston2017-05-311-0/+1
| | | |
| * | | Fix testsErik Johnston2017-05-311-0/+1
| | | |
| * | | Fix typoErik Johnston2017-05-311-1/+1
| | | |
| * | | Limit number of things we fetch out of the dbErik Johnston2017-05-311-9/+30
| | | |
| * | | Add stream change cacheErik Johnston2017-05-313-1/+19
| | | |
| * | | Split out directory and search tablesErik Johnston2017-05-312-29/+56
| | | |
| * | | Pull max id from correct tableErik Johnston2017-05-311-0/+8
| | | |
| * | | Handle the server leaving a public roomErik Johnston2017-05-312-0/+15
| | | |
| * | | Add commentsErik Johnston2017-05-312-4/+37
| | | |
| * | | Weight differentlyErik Johnston2017-05-311-10/+24
| | | |
| * | | Add searchErik Johnston2017-05-311-0/+35
| | | |
| * | | Update room column when room becomes unpublicErik Johnston2017-05-311-0/+10
| | | |
| * | | Add user_directory to databaseErik Johnston2017-05-313-0/+216
| | | |
| * | | Add commentErik Johnston2017-05-301-1/+1
| | | |
| * | | Add clobbered event_idErik Johnston2017-05-302-1/+3
| | | |
| * | | Add current_state_delta_stream tableErik Johnston2017-05-302-8/+48
| |/ /
| * | Merge pull request #2247 from matrix-org/erikj/auth_eventErik Johnston2017-05-244-7/+104
| |\ \ | | | | | | | | Only store event_auth for state events
| | * | Add background task to clear out old event_authErik Johnston2017-05-243-1/+74
| | | |
| | * | Only store event_auth for state eventsErik Johnston2017-05-242-6/+30
| | | |
| * | | Remove redundant invalidationErik Johnston2017-05-231-3/+0
| | | |
| * | | Missed an invalidationErik Johnston2017-05-231-0/+3
| | | |
| * | | Stream count_e2e_one_time_keys cache invalidationErik Johnston2017-05-221-13/+18
| |/ /
| * | Fix invalidation of get_users_with_read_receipts_in_roomErik Johnston2017-05-191-1/+3
| | |
| * | Increase size of push rule cachesErik Johnston2017-05-181-2/+2
| | |
| * | Make get_if_app_services_interested_in_user fasterErik Johnston2017-05-182-10/+23
| | |
| * | Merge pull request #2230 from matrix-org/erikj/speed_up_get_stateErik Johnston2017-05-171-29/+11
| |\ \ | | | | | | | | Make get_state_groups_from_groups faster.
| | * | Make get_state_groups_from_groups faster.Erik Johnston2017-05-171-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_userErik Johnston2017-05-172-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 ↵Slipeer2017-05-112-3/+6
| | | | | | | | | | | | #2211
| * | CommentErik Johnston2017-05-171-0/+5
| | |
| * | Short circuit when we have delta idsErik Johnston2017-05-171-3/+19
| | |
| * | Speed up get_joined_hostsErik Johnston2017-05-161-1/+2
| | |
| * | Merge pull request #2224 from matrix-org/erikj/prefill_stateErik Johnston2017-05-163-9/+26
| |\ \ | | | | | | | | Prefill state caches
| | * | Remove spurious merge artifactsErik Johnston2017-05-161-13/+0
| | | |
| | * | Take a copy before prefilling, as it may be a frozendictErik Johnston2017-05-161-1/+1
| | | |
| | * | Update commentErik Johnston2017-05-151-1/+2
| | | |
| | * | CommentsErik Johnston2017-05-152-3/+6
| | | |
| | * | Add more granular event send metricsErik Johnston2017-05-151-0/+12
| | | |
| | * | Prefill state cachesErik Johnston2017-05-153-6/+20
| | | |
* | | | replaced json.dumps with encode_canonical_jsonKrombel2017-06-211-1/+2
| | | |
* | | | Merge branch 'develop' into avoid_duplicate_filtersKrombel2017-05-164-12/+63
|\| | |
| * | | Add a comment to old deltaRichard van der Hoff2017-05-111-0/+4
| | | |
| * | | Don't create event_search index on sqliteRichard van der Hoff2017-05-112-3/+11
| | | | | | | | | | | | | | | | ... because the table is virtual
| * | | Add more logging for purgingRichard van der Hoff2017-05-111-7/+14
| | | | | | | | | | | | | | | | Log the number of events we will be deleting at info.
| * | | Add an index to event_searchRichard van der Hoff2017-05-113-3/+35
| |/ / | | | | | | | | | - to make the purge API quicker
* | | avoid access-error if no filter_id matchesKrombel2017-05-151-3/+3
| | |
* | | insert whitespace to fix travis buildKrombel2017-05-121-1/+1
| | |
* | | add check to only add a new filter if the same filter does not exist previouslyKrombel2017-05-111-0/+9
|/ / | | | | | | Signed-off-by: Matthias Kesler <krombel@krombel.de>
* | Tidy purge code and add some commentsRichard van der Hoff2017-05-111-12/+19
| | | | | | | | Try to make this clearer with more comments and some variable renames
* | Don't de-delta state groups we're about to deleteRichard van der Hoff2017-05-101-11/+9
| |
* | add some logging to purge_historyRichard van der Hoff2017-05-101-4/+21
|/
* Merge pull request #2208 from matrix-org/erikj/ratelimit_overridErik Johnston2017-05-102-1/+57
|\ | | | | Add per user ratelimiting overrides
| * Add per user ratelimiting overridesErik Johnston2017-05-102-1/+57
| |
* | Allow clients to upload one-time-keys with new sigsRichard van der Hoff2017-05-091-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_ratioErik Johnston2017-05-082-2/+21
|\ | | | | Don't update event cache hit ratio from get_joined_users
| * Expand docstring a bitErik Johnston2017-05-081-1/+7
| |
| * Don't update event cache hit ratio from get_joined_usersErik Johnston2017-05-082-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_cacheErik Johnston2017-05-081-3/+22
|\ \ | | | | | | Cache check to see if device exists
| * | Add missing yieldsErik Johnston2017-05-081-2/+4
| | |
| * | Invalidate cache on device deletionErik Johnston2017-05-081-2/+6
| | |
| * | CommentErik Johnston2017-05-081-0/+2
| | |
| * | Cache check to see if device existsErik Johnston2017-05-081-1/+12
| |/
* / Cache one time key countsErik Johnston2017-05-081-0/+9
|/
* Increase client_ip cache sizeErik Johnston2017-05-081-0/+1
|
* Revert "Remove unused import"Erik Johnston2017-05-081-0/+1
| | | | This reverts commit ab37bef83bebd7cdaeb7cfd98553d18883d09103.
* Revert "We don't care about forgotten rooms"Erik Johnston2017-05-081-0/+12
| | | | This reverts commit ad8b316939d59230526e60660caf9094cff62c8f.
* Revert "Speed up filtering of a single event in push"Erik Johnston2017-05-082-16/+2
| | | | This reverts commit 421fdf74609439edaaffce117436e6a6df147841.
* Merge pull request #2176 from matrix-org/erikj/faster_get_joinedErik Johnston2017-05-051-16/+42
|\ | | | | Make get_joined_users faster
| * FixesErik Johnston2017-05-051-3/+4
| |
| * Add commentErik Johnston2017-05-041-0/+3
| |
| * Make get_joined_users fasterErik Johnston2017-05-031-16/+38
| |
* | Merge pull request #2185 from matrix-org/erikj/smaller_cachesErik Johnston2017-05-051-2/+2
|\ \ | | | | | | Optimise caches for single key
| * | Reduce size of get_users_in_roomErik Johnston2017-05-041-2/+2
| | |
* | | Merge pull request #2174 from matrix-org/erikj/current_cache_hostsErik Johnston2017-05-051-0/+39
|\ \ \ | | | | | | | | Add cache for get_current_hosts_in_room
| * | | Intern host stringsErik Johnston2017-05-041-1/+2
| | | |
| * | | Make caches biggerErik Johnston2017-05-041-1/+1
| | | |
| * | | Fix comment and num argsErik Johnston2017-05-041-1/+1
| | | |
| * | | Add cache for get_current_hosts_in_roomErik Johnston2017-05-021-0/+38
| | |/ | |/|
* | | Revert "Prefill state caches"Erik Johnston2017-05-043-27/+9
| |/ |/|
* | Update commentErik Johnston2017-05-031-1/+2
| |
* | CommentsErik Johnston2017-05-032-3/+6
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/prefill_stateErik Johnston2017-05-031-0/+18
|\ \
| * | Add more granular event send metricsErik Johnston2017-05-021-0/+16
| |/
* / Prefill state cachesErik Johnston2017-05-023-6/+18
|/
* Merge pull request #2080 from matrix-org/erikj/filter_speedErik Johnston2017-04-282-2/+16
|\ | | | | Speed up filtering of a single event in push
| * Remove unused importErik Johnston2017-04-281-1/+0
| |
| * We don't care about forgotten roomsErik Johnston2017-04-281-12/+0
| |
| * Speed up filtering of a single event in pushErik Johnston2017-04-282-2/+29
| |
* | Fix bgupdate error if index already exists (#2167)Richard van der Hoff2017-04-271-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 asciiErik Johnston2017-04-251-2/+3
|
* CommentErik Johnston2017-04-251-0/+2
|
* Reduce size of joined_user cacheErik Johnston2017-04-251-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 sizeErik Johnston2017-04-251-1/+1
|
* Reduce cache size by not storing deferredsErik Johnston2017-04-251-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 cacheErik Johnston2017-04-241-6/+1
|
* Merge pull request #2120 from matrix-org/luke/read-markersLuke Barnard2017-04-131-0/+22
|\ | | | | Implement Read Marker API
| * Correct logic in is_event_afterLuke Barnard2017-04-131-1/+1
| |
| * Simplify is_event_after logicLuke Barnard2017-04-121-10/+3
| |
| * travis flake8..Luke Barnard2017-04-111-0/+1
| |
| * Refactor event ordering check to events storeLuke Barnard2017-04-111-0/+28
| |
* | Bail on where clause insteadErik Johnston2017-04-111-3/+4
| |
* | Don't bother with outer check for nowErik Johnston2017-04-111-3/+0
| |
* | Fix getting latest device IP for user with no devicesErik Johnston2017-04-111-0/+5
|/
* CommentErik Johnston2017-04-071-0/+9
|
* Speed up get_current_state_idsErik Johnston2017-04-071-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 replicationErik Johnston2017-04-041-4/+7
|
* Fix up docsErik Johnston2017-03-311-1/+1
|
* Add new storage functions for new replicationErik Johnston2017-03-303-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 txnErik Johnston2017-03-301-1/+1
|
* Increase cache size for _get_state_group_for_eventErik Johnston2017-03-291-1/+1
|
* Decrank last commitErik Johnston2017-03-291-4/+5
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-03-2917-164/+164
|\ | | | | | | erikj/e2e_one_time_upsert
| * Merge pull request #2063 from matrix-org/erikj/device_list_batchErik Johnston2017-03-281-0/+4
| |\ | | | | | | Batch sending of device list pokes
| | * Batch sending of device list pokesErik Johnston2017-03-241-0/+4
| | |
| * | TypoErik Johnston2017-03-271-1/+1
| | |
| * | Short circuit if all new events have same state groupErik Johnston2017-03-271-36/+51
| |/
| * Merge pull request #2062 from matrix-org/erikj/presence_replicationErik Johnston2017-03-241-2/+2
| |\ | | | | | | Use presence replication stream to invalidate cache
| | * Actually call invalidateErik Johnston2017-03-241-1/+1
| | |
| | * Use presence replication stream to invalidate cacheErik Johnston2017-03-241-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 roomErik Johnston2017-03-241-0/+10
| |/
| * Replace some calls to cursor_to_dictErik Johnston2017-03-242-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 Johnston2017-03-243-51/+48
| |
| * User Cursor.__iter__ instead of fetchallErik Johnston2017-03-2315-39/+38
| | | | | | | | This prevents unnecessary construction of lists
* | Correctly look up keyErik Johnston2017-03-291-6/+5
| |
* | The algorithm is part of the key idErik Johnston2017-03-281-4/+4
| |
* | Raise a more helpful exceptionErik Johnston2017-03-231-2/+4
| |
* | Don't user upsert to persist new one time keysErik Johnston2017-03-231-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 docstringsRichard van der Hoff2017-03-211-2/+3
|
* Merge pull request #2033 from matrix-org/erikj/repl_speedErik Johnston2017-03-211-17/+14
|\ | | | | Don't send the full event json over replication
| * Don't send the full event json over replicationErik Johnston2017-03-171-17/+14
| |
* | Merge pull request #2027 from matrix-org/rav/logcontext_leaksRichard van der Hoff2017-03-201-12/+3
|\ \ | | | | | | A few fixes to logcontext things
| * | Remove broken use of clock.call_laterRichard van der Hoff2017-03-181-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 eventsRichard van der Hoff2017-03-172-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 cleanupsRichard van der Hoff2017-03-172-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.
* CommentsErik Johnston2017-03-161-0/+2
|
* Don't recreate so many setsErik Johnston2017-03-161-5/+6
|
* Fix assertion to stop transaction queue getting wedgedRichard van der Hoff2017-03-153-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 Johnston2017-03-143-3/+86
|\ | | | | | | erikj/public_list_speed
| * Fix current_state_events table to not lieErik Johnston2017-03-141-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 devicesLuke Barnard2017-03-132-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 changedErik Johnston2017-03-131-0/+3
| |
* | Get current state by using current_state_events tableErik Johnston2017-03-102-11/+21
|/
* Noop repated delete device inbox calls from /syncErik Johnston2017-03-101-1/+35
|
* Remove spurious SQL logging (#1972)Richard van der Hoff2017-03-081-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 DBErik Johnston2017-03-061-1/+1
| | | | | Otherwise we might pull out tonnes of duplicate user_ids and this can make synapse sad.
* Fix upErik Johnston2017-03-032-8/+8
|
* Add index to device_lists_streamErik Johnston2017-03-013-4/+28
|
* Clobber old device list stream entriesErik Johnston2017-03-011-0/+10
|
* Merge pull request #1959 from matrix-org/erikj/intern_onceErik Johnston2017-02-281-3/+2
|\ | | | | Intern table column names once
| * Intern table column names onceErik Johnston2017-02-281-3/+2
| |
* | Add stream_id index to device_lists_outbound_pokesErik Johnston2017-02-282-1/+17
|/ | | | As this is used for replication streaming
* Fix up txn nameErik Johnston2017-02-281-1/+1
|
* Remove needless checkErik Johnston2017-02-271-2/+0
|
* It should be allErik Johnston2017-02-271-1/+1
|
* Don't fetch current state in common caseErik Johnston2017-02-271-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_device2Erik Johnston2017-02-271-45/+73
|\ | | | | Cache get_user_devices_from_cache
| * Cache get_user_devices_from_cacheErik Johnston2017-02-271-45/+73
| |
* | Strip newlines from SQL queriesErik Johnston2017-02-231-0/+6
| |
* | Remove lock from rotate notifsErik Johnston2017-02-221-3/+0
|/
* Store looping callErik Johnston2017-02-211-1/+3
|
* Fix up notif rotationErik Johnston2017-02-181-14/+22
|
* Use TEXT rather than VARCHARDavid Baker2017-02-171-6/+6
| | | | While we're changing anyway
* Make the pushers lang field column longerDavid Baker2017-02-171-0/+39
| | | | | | To accommodate things like zh-Hans-CN Fixes https://github.com/vector-im/riot-ios/issues/1031
* CommentErik Johnston2017-02-161-1/+4
|
* CommentErik Johnston2017-02-161-7/+14
|
* Store the default push actions in a more efficient mannerErik Johnston2017-02-161-11/+40
|
* Merge pull request #1916 from matrix-org/erikj/push_actions_deleteErik Johnston2017-02-163-57/+248
|\ | | | | Aggregate event push actions
| * Less aggressive timersErik Johnston2017-02-141-2/+2
| |
| * Aggregate event push actionsErik Johnston2017-02-143-57/+248
| |
* | Merge pull request #1921 from matrix-org/rav/fix_key_changesRichard van der Hoff2017-02-152-2/+29
|\ \ | |/ |/| Fix bugs in the /keys/changes api
| * Fix bugs in the /keys/changes apiRichard van der Hoff2017-02-142-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_actionsErik Johnston2017-02-141-3/+8
|\ \ | |/ |/| Be more agressive about purging old room event_push_actions
| * Be more agressive about purging old room event_push_actionsErik Johnston2017-02-011-3/+8
| |
* | Cache get_presence storageErik Johnston2017-02-131-3/+11
| |
* | Make None check explicitErik Johnston2017-02-081-1/+1
| |
* | Merge pull request #1892 from matrix-org/erikj/rejection_fwd_extremErik Johnston2017-02-081-9/+6
|\ \ | | | | | | Ignore new rejected events when working out forward extremities.
| * | Ignore new rejected events when working out forward extremeties.Erik Johnston2017-02-081-9/+6
| | |
* | | Merge pull request #1784 from morteza-araby/user-adminErik Johnston2017-02-062-0/+235
|\ \ \ | |/ / |/| | Administration functionalities
| * | admin,storage: added more administrator functionalitiesMorteza Araby2017-02-022-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 queriesErik Johnston2017-02-021-3/+3
| |
* | CommentErik Johnston2017-02-021-1/+2
| |
* | Make presence.get_new_events a bit fasterErik Johnston2017-02-021-0/+16
|/ | | | We do this by caching the set of users a user shares rooms with.
* Doc argsErik Johnston2017-02-011-0/+4
|
* CommentErik Johnston2017-02-011-0/+3
|
* Include newly joined users in /keys/changes APIErik Johnston2017-02-011-0/+7
|
* Merge pull request #1870 from matrix-org/erikj/cache_get_all_new_eventsErik Johnston2017-02-011-0/+2
|\ | | | | Add a small cache get_all_new_events
| * Add a small cache get_all_new_eventsErik Johnston2017-02-011-0/+2
| |
* | Merge pull request #1868 from matrix-org/erikj/replication_cacheErik Johnston2017-02-012-22/+0
|\ \ | | | | | | Only invalidate membership caches based on the cache stream
| * | Only invalidate membership caches based on the cache streamErik Johnston2017-01-312-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 queryErik Johnston2017-02-011-1/+1
| | |
* | | Merge pull request #1867 from matrix-org/erikj/member_indexErik Johnston2017-02-013-1/+26
|\ \ \ | |_|/ |/| | Add an index to make membership queries faster
| * | Add an index to make membership queries fasterErik Johnston2017-01-313-1/+26
| |/
* / Up get_latest_event_ids_in_room cacheErik Johnston2017-02-011-1/+1
|/
* Merge pull request #1864 from matrix-org/erikj/device_list_fixesErik Johnston2017-01-311-8/+26
|\ | | | | Fix clearing out old device list outbound pokes