summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Be stricter about JSON that is accepted by Synapse (#8106)Patrick Cloke2020-08-191-4/+3
|
* Convert the roommember database to async/await. (#8070)Patrick Cloke2020-08-121-1/+0
|
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-051-3/+3
|
* Consistently use `db_to_json` to convert from database values to JSON ↵Patrick Cloke2020-07-161-2/+2
| | | | objects. (#7849)
* remove `builtins.buffer` code from storage codeRichard van der Hoff2020-05-151-8/+0
| | | | this is no longer needed on python 3
* Support any process writing to cache invalidation stream. (#7436)Erik Johnston2020-05-071-0/+3
|
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-211-1/+1
| | | | Ensure good comprehension hygiene using flake8-comprehensions.
* Allow streaming cache invalidate all to workers. (#6749)Erik Johnston2020-01-221-5/+13
|
* Add a background update to clear tombstoned rooms from the directory (#6648)Richard van der Hoff2020-01-071-1/+3
| | | | | | * Add a background update to clear tombstoned rooms from the directory * use the ABC metaclass
* Add database config class (#6513)Erik Johnston2019-12-181-1/+1
| | | | | This encapsulates config for a given database and is the way to get new connections.
* Pass Database into the data storeErik Johnston2019-12-061-1/+1
|
* Change DataStores to accept 'database' param.Erik Johnston2019-12-061-1/+1
|
* CommentsErik Johnston2019-12-051-1/+7
|
* Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-051-1462/+6
|
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-041-73/+69
|
* Don't call SQLBaseStore methods from outside storesErik Johnston2019-12-041-8/+0
|
* Revert "Move get_user_count_txn out of base store"Erik Johnston2019-12-041-0/+12
| | | | | | This reverts commit 00f0d67566cdfe8eae44aeae1c982c42a255cfcd. Its going to get removed soon, so lets not make merge conflicts.
* Move get_user_count_txn out of base storeErik Johnston2019-12-041-12/+0
|
* Move cache invalidation to main data storeErik Johnston2019-12-041-104/+0
|
* Move event fetch vars to EventWorkStoreErik Johnston2019-12-041-12/+0
|
* Move account validity bg updates to registration storeErik Johnston2019-12-041-66/+0
|
* Make sure that we close cursors before returning from a query (#6408)Richard van der Hoff2019-11-251-9/+42
| | | | | | There are lots of words in the comment as to why this is a good idea. Fixes #6403.
* Clean up newline quote marks around the codebase (#6362)Andrew Morgan2019-11-211-1/+1
|
* Fix guest -> real account upgrade with account validity enabled (#6359)Andrew Morgan2019-11-141-6/+3
|
* Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-311-3/+3
| | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
* Fix SQLite take 2Erik Johnston2019-10-101-1/+1
|
* Remove add_in_list_sql_clauseErik Johnston2019-10-101-29/+6
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/postgres_anyErik Johnston2019-10-101-3/+4
|\
| * Patch inlinecallbacks for log contextsErik Johnston2019-09-271-3/+4
| |
* | Add helper funcs to use postgres ANYErik Johnston2019-10-101-8/+56
|/ | | | | This means that we can write queries with `col = ANY(?)`, which helps postgres.
* Fix a cache-invalidation bug for worker-based deployments (#5920)Richard van der Hoff2019-08-281-8/+16
| | | | | | | | Some of the caches on worker processes were not being correctly invalidated when a room's state was changed in a way that did not affect the membership list of the room. We need to make sure we send out cache invalidations even when no memberships are changing.
* Replace returnValue with return (#5736)Amber Brown2019-07-231-7/+7
|
* LoggingTransaction accepts None for callback lists.Erik Johnston2019-07-191-2/+16
| | | | | Its a bit disingenuousto give LoggingTransaction lists to append callbacks to if we're not going to run the callbacks.
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-1/+1
|
* Merge pull request #5499 from matrix-org/rav/cleanup_metricsRichard van der Hoff2019-06-241-22/+13
|\ | | | | Cleanups and sanity-checking in cpu and db metrics
| * blackRichard van der Hoff2019-06-241-6/+2
| |
| * Merge branch 'develop' into rav/cleanup_metricsRichard van der Hoff2019-06-241-4/+2
| |\
| * | Simplify PerformanceCounters.update interfaceRichard van der Hoff2019-06-191-11/+12
| | | | | | | | | | | | | | | we already have the duration for the update, so may as well use it rather than passing extra params around and recalculating it.
| * | Remove unused _get_event_countersRichard van der Hoff2019-06-191-7/+1
| | | | | | | | | | | | This has been redundant since cdb3757942fefdcdc3d33b9c6d7c9e44decefd6f.
* | | Merge pull request #5498 from matrix-org/rav/fix_clock_reversalRichard van der Hoff2019-06-241-6/+14
|\ \ \ | |_|/ |/| | Use monotonic clock where possible for metrics
| * | Use monotonic clock where possible for metricsRichard van der Hoff2019-06-191-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | Fixes intermittent errors observed on Apple hardware which were caused by time.clock() appearing to go backwards when called from different threads. Also fixes a bug where database activity times were logged as 1/1000 of their correct ratio due to confusion between milliseconds and seconds.
* | | Run Black. (#5482)Amber Brown2019-06-201-4/+2
| |/ |/|
* | Don't send renewal emails to deactivated usersBrendan Abolivier2019-06-141-2/+2
|/
* Add ability to perform password reset via email without trusting the ↵Andrew Morgan2019-06-061-1/+5
| | | | | | | | | | | | identity server (#5377) Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option. This PR is a culmination of 3 smaller PRs which have each been separately reviewed: * #5308 * #5345 * #5368
* Merge pull request #5276 from matrix-org/babolivier/account_validity_job_deltaErik Johnston2019-05-311-2/+20
|\ | | | | Allow configuring a range for the account validity startup job
| * Move delta from +10% to -10%Brendan Abolivier2019-05-311-2/+2
| |
| * Make max_delta equal to period * 10%Brendan Abolivier2019-05-311-4/+3
| |
| * Allow configuring a range for the account validity startup jobBrendan Abolivier2019-05-281-2/+21
| | | | | | | | | | When enabling the account validity feature, Synapse will look at startup for registered account without an expiration date, and will set one equals to 'now + validity_period' for them. On large servers, it can mean that a large number of users will have the same expiration date, which means that they will all be sent a renewal email at the same time, which isn't ideal. In order to mitigate this, this PR allows server admins to define a 'max_delta' so that the expiration date is a random value in the [now + validity_period ; now + validity_period + max_delta] range. This allows renewal emails to be progressively sent over a configured period instead of being sent all in one big batch.
* | Log actual number of entries deletedErik Johnston2019-05-291-3/+9
|/
* Do the select and insert in a single transactionBrendan Abolivier2019-05-211-10/+6
|
* Add startup background job for account validityBrendan Abolivier2019-05-171-0/+62
| | | | If account validity is enabled in the server's configuration, this job will run at startup as a background job and will stick an expiration date to any registered account missing one.
* Clean up the database pagination code (#5007)Amber Brown2019-04-051-60/+50
| | | | | | | | * rewrite & simplify * changelog * cleanup potential sql injection
* Run black on the rest of the storage module (#4996)Amber Brown2019-04-031-223/+173
|
* Fix sync bug when accepting invites (#4956)Richard van der Hoff2019-04-021-5/+0
| | | | | | | | | | Hopefully this time we really will fix #4422. We need to make sure that the cache on `get_rooms_for_user_with_stream_ordering` is invalidated *before* the SyncHandler is notified for the new events, and we can now do so reliably via the `events` stream.
* fixesAmber Brown2019-03-121-3/+10
|
* Limit cache invalidation replication line length (#4748)Erik Johnston2019-02-271-4/+11
|
* Add database version to phonehome stats. (#4753)Richard van der Hoff2019-02-271-0/+8
|
* Fix state cache invalidation on workersErik Johnston2019-02-221-6/+34
|
* UPSERT many functionality (#4644)Amber Brown2019-02-201-12/+134
|
* DocsErik Johnston2019-02-191-2/+3
|
* Use itertoolsErik Johnston2019-02-191-2/+2
|
* DocumentationErik Johnston2019-02-191-4/+4
|
* Batch cache invalidation over replicationErik Johnston2019-02-181-1/+56
| | | | | | | | | | Currently whenever the current state changes in a room invalidate a lot of caches, which cause *a lot* of traffic over replication. Instead, lets batch up all those invalidations and send a single poke down the replication streams. Hopefully this will reduce load on the master process by substantially reducing traffic.
* Fix 'no unique or exclusion constraint' error (#4591)Richard van der Hoff2019-02-081-6/+21
| | | | | Add more tables to the list of tables which need a background update to complete before we can upsert into them, which fixes a race against the background updates.
* Fix typo in upserts code (#4505)Amber Brown2019-01-291-1/+1
| | | | | | * fix obvious problem :| * changelog
* Fix UPSERTs on SQLite 3.24+ (#4477)Amber Brown2019-01-281-2/+8
|
* Fix UPSERT check (#4459)Amber Brown2019-01-241-5/+28
|
* Use native UPSERTs where possible (#4306)Amber Brown2019-01-241-11/+137
|
* Fix adding new rows instead of updating them if one of the key values is a ↵Amber Brown2019-01-091-1/+9
| | | | NULL in upserts. (#4369)
* add more detail to logging regarding "More than one row matched" error (#4234)Ben Parsons2018-12-041-6/+6
|
* Fix UnicodeDecodeError when postgres is not configured in english (#4253)Richard van der Hoff2018-12-041-7/+8
| | | | This is a bit of a half-assed effort at fixing https://github.com/matrix-org/synapse/issues/4252. Fundamentally the right answer is to drop support for Python 2.
* Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase ↵Amber Brown2018-10-201-2/+2
| | | | on py3) (#4068)
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-1/+31
|
* initial cut at a room summary API (#3574)Matthew Hodgson2018-08-161-4/+3
|
* Fix another logcontext leak in _persist_eventsRichard van der Hoff2018-07-251-0/+6
| | | | | | | | We need to run the errback in the sentinel context to avoid losing our own context. Also: add logging to runInteraction to help identify where "Starting db connection from sentinel context" warnings are coming from
* revert 00bc979Richard van der Hoff2018-07-191-4/+3
| | | | | ... we've fixed the things that caused the warnings, so we should reinstate the warning.
* Disable logcontext warningRichard van der Hoff2018-07-191-3/+4
| | | | Temporary workaround to #3518 while we release 0.33.0.
* Attempt to include db threads in cpu usage stats (#3496)Richard van der Hoff2018-07-101-17/+15
| | | | | Let's try to include time spent in the DB threads in the per-request/block cpu usage metrics.
* run isortAmber Brown2018-07-091-10/+9
|
* update metrics to be in secondsAmber Brown2018-05-281-15/+15
|
* Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-281-18/+29
|\
| * Merge pull request #3278 from NotAFile/py3-storage-baseAmber Brown2018-05-241-17/+22
| |\ | | | | | | Py3 storage/_base.py
| | * Py3 storage/_base.pyAdrian Tschira2018-05-241-17/+22
| | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | use stand-in value if maxint is not availableAdrian Tschira2018-05-191-1/+7
| |/ | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* / rest of the changesAmber Brown2018-05-211-10/+7
|/
* Use psycopg2cffi module instead of psycopg2 if running on pypyVincent Breitmoser2018-04-101-1/+1
| | | | | | | 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 bug with delayed cache invalidation streamErik Johnston2018-03-021-12/+14
| | | | | | 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.
* Track DB scheduling delay per-requestRichard van der Hoff2018-01-161-1/+3
| | | | | | For each request, track the amount of time spent waiting for a db connection. This entails adding it to the LoggingContext and we may as well add metrics for it while we are passing.
* rework runInteraction in terms of runConnectionRichard van der Hoff2018-01-161-20/+31
| | | | ... so that we can share the code
* Merge branch 'develop' into matthew/search-all-local-usersMatthew Hodgson2017-11-301-9/+14
|\
| * Merge pull request #2697 from matrix-org/rav/fix_urlcache_index_errorRichard van der Hoff2017-11-271-9/+7
| |\ | | | | | | Fix error on sqlite 3.7
| | * fix sql failsRichard van der Hoff2017-11-221-1/+1
| | |
| | * Check database in has_completed_background_updatesRichard van der Hoff2017-11-221-9/+7
| | | | | | | | | | | | so that the right thing happens on workers.
| * | Avoid retrying forever on IntegrityErrorRichard van der Hoff2017-11-271-0/+7
| |/
* / untested WIP but might actually workMatthew Hodgson2017-11-291-1/+1
|/
* Fix broken ref to IntegrityErrorRichard van der Hoff2017-11-161-1/+1
|
* _simple_upsert: retry on IntegrityErrorRichard van der Hoff2017-11-161-6/+29
| | | | | | wrap the call to _simple_upsert_txn in a loop so that we retry on an integrityerror: this means we can avoid locking the table provided there is an unique index.
* Cleanup in _simple_upsert_txnRichard van der Hoff2017-11-161-16/+17
| | | | Bail out early to reduce indentation
* Revert "Revert "move _state_group_cache to statestore""Richard van der Hoff2017-11-141-6/+0
| | | | | | | We're going to fix this properly on this branch, so that the _state_group_cache can end up in StateGroupReadStore. This reverts commit ab335edb023d66cd0be439e045b10ca104b73cb5.
* Make __init__ consitstent across Store heirarchyRichard van der Hoff2017-11-131-1/+1
| | | | | | 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)
* Revert "move _state_group_cache to statestore"Erik Johnston2017-11-131-0/+6
| | | | This reverts commit f5cf3638e9c6086e1c33ddad8eda9298cf53a58e.
* move _state_group_cache to statestoreRichard van der Hoff2017-11-071-6/+0
| | | | this is internal to statestore, so let's keep it there.
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* Add _simple_updateErik Johnston2017-08-251-19/+32
|
* Define CACHE_SIZE_FACTOR onceErik Johnston2017-07-041-4/+1
|
* Merge pull request #2259 from matrix-org/erikj/fix_state_woesErik Johnston2017-06-071-8/+21
|\ | | | | Fix bug where state_group tables got corrupted
| * Fix bug where state_group tables got corruptedErik Johnston2017-06-071-8/+21
| | | | | | | | | | | | | | | | 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.
* | Split the table in twoErik Johnston2017-06-011-0/+5
|/
* Prefill state cachesErik Johnston2017-05-151-4/+4
|
* Revert "Prefill state caches"Erik Johnston2017-05-041-4/+4
|
* Prefill state cachesErik Johnston2017-05-021-4/+4
|
* Use iter(items|values)Erik Johnston2017-03-241-6/+6
|
* User Cursor.__iter__ instead of fetchallErik Johnston2017-03-231-5/+8
| | | | This prevents unnecessary construction of lists
* Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-0/+41
| | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review.
* 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`.
* Intern table column names onceErik Johnston2017-02-281-3/+2
|
* Strip newlines from SQL queriesErik Johnston2017-02-231-0/+6
|
* admin,storage: added more administrator functionalitiesMorteza Araby2017-02-021-0/+159
| | | | | | | | | | | | | | 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>
* Add basic implementation of local device list changesErik Johnston2017-01-251-0/+6
|
* Increase state_group_cache_sizeErik Johnston2017-01-171-1/+1
|
* Limit number of entries to prefill from cacheErik Johnston2017-01-101-2/+3
| | | | | | | | | Some tables, like device_inbox, take a long time to query at startup for the stream change cache prefills. This is likely because they are slower growing streams and so are more fragmented on disk. For now, lets pull fewer entries out to make startup quicker. In future, we should add a better index to make it even faster.
* Fix testsErik Johnston2016-11-211-2/+2
|
* Store federation stream positions in the databaseErik Johnston2016-11-211-4/+14
|
* Refactor test_filter to use real DataStorepik2016-10-181-1/+0
| | | | * add tests for filter api errors
* Remove lru optionErik Johnston2016-08-191-1/+1
|
* Do it in storage functionErik Johnston2016-08-161-0/+3
|
* Use cached get_user_by_access_token in slavesErik Johnston2016-08-161-0/+1
|
* Doc get_next() context manager usageErik Johnston2016-08-151-0/+4
|
* Rename table. Add docs.Erik Johnston2016-08-151-2/+10
|
* Implement cache replication streamErik Johnston2016-08-151-12/+35
|
* Add some invalidations to a cache_streamErik Johnston2016-08-151-0/+18
|
* Always run txn.after_callbacksErik Johnston2016-08-151-7/+8
|
* More doc-commentsRichard van der Hoff2016-07-201-7/+12
| | | | Fix some more comments on some things
* Feature: Add deactivate account admin APIErik Johnston2016-06-301-0/+5
| | | | | | | | | | Allows server admins to "deactivate" accounts, which: - Revokes all access tokens - Removes all threepids - Removes password The API is a POST to `/admin/deactivate/<user_id>`
* Fix setting the _clock in SQLBaseStoreMark Haines2016-06-021-0/+1
|
* Make deleting push actions more efficientDavid Baker2016-05-201-1/+0
| | | | There's no index on received_ts, so manually binary search using the stream_ordering index, and only update it once an hour.
* SpellingErik Johnston2016-05-131-1/+1
|
* Fixup add_pusherErik Johnston2016-05-131-1/+7
|
* Remove some unused functions (#711)Mark Haines2016-04-081-6/+0
| | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want
* Move _get_cache_dict into the SQLBaseStoreMark Haines2016-04-061-0/+34
|
* Intern all the thingsErik Johnston2016-03-231-1/+2
|
* Make stateGroupCache honour CACHE_SIZE_FACTORErik Johnston2016-03-221-1/+7
|
* Add a stream for push rule updatesMark Haines2016-03-011-7/+18
|
* Fix up logcontextsErik Johnston2016-02-081-9/+9
|
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-2/+5
|
* Add a Homeserver.setup method.Erik Johnston2016-01-261-26/+23
| | | | | | 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.
* Guard against empty iterablesErik Johnston2016-01-251-0/+6
|
* Correct docstringErik Johnston2016-01-251-1/+0
|
* Implement a _simple_select_many_batchErik Johnston2016-01-251-0/+67
|
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Track the time spent in the database per request.Mark Haines2015-12-071-2/+7
| | | | and track the number of transactions that request started.
* Add basic full text search impl.Erik Johnston2015-10-091-1/+1
|
* synapse/storage/_base.py:_simple_max_id was unusedMark Haines2015-09-231-18/+0
|
* synapse/storage/_base.py:_simple_delete was unusedMark Haines2015-09-231-10/+0
|
* synapse/storage/_base.py:_simple_selectupdate_one was unusedMark Haines2015-09-231-31/+0
|
* synapse/storage/_base.py:_execute_and_decode was unusedMark Haines2015-09-221-3/+0
|
* synapse/storage/_base.py:Table was unusedMark Haines2015-09-221-128/+0
|
* Merge branch 'release-v0.10.0' of github.com:matrix-org/synapse into developErik Johnston2015-09-011-1/+1
|\
| * Lower size of 'stateGroupCache' now that we have data from matrix.org to ↵Erik Johnston2015-09-011-1/+1
| | | | | | | | support doing so
* | /tokenrefresh POST endpointDaniel Wagner-Hall2015-08-201-0/+1
|/ | | | | | | | This allows refresh tokens to be exchanged for (access_token, refresh_token). It also starts issuing them on login, though no clients currently interpret them.
* Move all the caches into their own package, synapse.util.cachesErik Johnston2015-08-111-332/+3
|
* CommentsErik Johnston2015-08-111-0/+2
|
* CommentErik Johnston2015-08-111-0/+2
|
* DocsErik Johnston2015-08-111-0/+9
|
* CommentsErik Johnston2015-08-101-0/+6
|
* Merge branch 'erikj/cache_varargs_interface' of ↵Erik Johnston2015-08-101-5/+5
|\ | | | | | | github.com:matrix-org/synapse into erikj/dictionary_cache
| * Rename keyargs to args in CacheDescriptorErik Johnston2015-08-101-5/+5
| |
* | Merge branch 'erikj/cache_varargs_interface' of ↵Erik Johnston2015-08-101-9/+9
|\| | | | | | | github.com:matrix-org/synapse into erikj/dictionary_cache
| * Rename keyargs to args in CacheErik Johnston2015-08-101-9/+9
| |
| * Merge branch 'erikj/cache_deferreds' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-071-3/+3
| |\ | | | | | | | | | erikj/cache_varargs_interface
| * \ Merge branch 'erikj/cache_deferreds' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-071-3/+4
| |\ \ | | | | | | | | | | | | erikj/cache_varargs_interface
| * | | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-30/+31
| | | |
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-071-3/+4
|\ \ \ \ | | |_|/ | |/| | | | | | erikj/dictionary_cache
| * | | s/observed/observer/Erik Johnston2015-08-071-3/+3
| | |/ | |/|
| * | Propogate stale cache errors to calling functionsErik Johnston2015-08-071-3/+4
| |/
* | Implement a CacheListDescriptorErik Johnston2015-08-071-0/+106
| |
* | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-50/+35
| |
* | Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cacheErik Johnston2015-08-061-3/+27
|\|
| * DocsErik Johnston2015-08-061-0/+3
| |
| * Remove failed deferreds from cacheErik Johnston2015-08-061-1/+7
| |
| * Re-implement DEBUG_CACHES flagErik Johnston2015-08-061-2/+17
| |
* | Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cacheErik Johnston2015-08-061-13/+8
|\|
| * Merge branch 'erikj/cached_keyword_args' into erikj/cache_deferredsErik Johnston2015-08-061-3/+3
| |\
| | * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-061-3/+3
| | |\ | | | | | | | | | | | | erikj/cached_keyword_args
| * | | Make @cached cache deferreds rather than the deferreds' valuesErik Johnston2015-08-061-13/+8
| |/ /
* | | Merge branch 'erikj/cached_keyword_args' of github.com:matrix-org/synapse ↵Erik Johnston2015-08-051-6/+34
|\| | | | | | | | | | | into erikj/dictionary_cache
| * | Add support for using keyword arguments with cached functionsErik Johnston2015-07-271-6/+34
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-051-3/+3
|\ \ \ | | |/ | |/| | | | erikj/dictionary_cache
| * | Use LRU cache by defaultErik Johnston2015-08-051-3/+3
| |/
* | Use dictionary cache to do group -> state fetchingErik Johnston2015-08-051-13/+26
| |
* | Speed up event filtering (for ACL) logicErik Johnston2015-08-041-2/+8
|/
* Add basic storage functions for handling of receiptsErik Johnston2015-07-011-1/+2
|
* Caches should be bound to instances.Erik Johnston2015-06-031-14/+31
| | | | | Before, caches were global and so different instances of the stores would share caches. This caused problems in the unit tests.
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2015-05-221-0/+6
|\
| * Add caches for things requested by the pushersMark Haines2015-05-211-0/+1
| |
| * Add a cache for get_current_state with state_keyMark Haines2015-05-211-0/+5
| |
* | Remove unused metricErik Johnston2015-05-181-1/+0
| |
* | Newline, remove debug loggingErik Johnston2015-05-181-1/+0
| |
* | PEP8Erik Johnston2015-05-151-1/+0
| |
* | Add a waitErik Johnston2015-05-151-1/+1
| |
* | Fix daedlockErik Johnston2015-05-151-16/+10
| |
* | Remove race conditionErik Johnston2015-05-141-61/+107
| |
* | Count and loopErik Johnston2015-05-141-1/+1
| |
* | Awful idea for speeding up fetching of eventsErik Johnston2015-05-141-0/+4
| |
* | Move from _base to eventsErik Johnston2015-05-141-232/+1
| |
* | Jump out earlyErik Johnston2015-05-141-0/+6
| |
* | Actually, we probably want to run this in a transactionErik Johnston2015-05-141-15/+12
| |
* | Preemptively jump into a transaction if we ask for get_prev_contentErik Johnston2015-05-141-12/+22
| |
* | loop -> gatherResultsErik Johnston2015-05-141-10/+14
| |
* | Err, we probably want a bigger limitErik Johnston2015-05-141-1/+1
| |
* | Refactor _get_eventsErik Johnston2015-05-141-252/+94
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perfErik Johnston2015-05-141-0/+1
|\ \
| * | Add ID generator for push_rules_enable to #resolve SYN-378David Baker2015-05-141-0/+1
| | |
* | | Actually use async methodErik Johnston2015-05-131-3/+1
| | |
* | | Fetch events from events_id in their own transactionsErik Johnston2015-05-131-3/+151
| | |
* | | TypoErik Johnston2015-05-131-1/+1
| | |
* | | Don't insert NoneErik Johnston2015-05-131-1/+4
| | |
* | | Don't return NoneErik Johnston2015-05-131-1/+1
| | |
* | | Limit batch sizeErik Johnston2015-05-131-5/+10
| | |
* | | Fetch events in bulkErik Johnston2015-05-131-13/+62
| | |
* | | Don't fetch redaction and rejection stuff for each event, so we can use ↵Erik Johnston2015-05-131-4/+19
| | | | | | | | | | | | index only scan
* | | Load events for state group seperatelyErik Johnston2015-05-131-2/+2
|/ /
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-05-121-0/+1
|\| | | | | | | erikj/logging_context
| * push_rules table expects an 'id' fieldErik Johnston2015-05-111-0/+1
| |
* | Change the way we do logging contexts so that they survive divergencesErik Johnston2015-05-081-5/+6
|/
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/executemanyErik Johnston2015-05-051-9/+59
|\
| * Merge pull request #139 from matrix-org/bugs/SYN-369Mark Haines2015-05-051-9/+59
| |\ | | | | | | Fix race with cache invalidation. SYN-369
| | * Add some doc-stringMark Haines2015-05-051-0/+4
| | |
| | * Collect the invalidate callbacks on the transaction object rather than ↵Mark Haines2015-05-051-5/+13
| | | | | | | | | | | | passing around a separate list
| | * SYN-369: Add comments to the sequence number logic in the cacheMark Haines2015-05-051-0/+7
| | |
| | * Add debug flag in synapse/storage/_base.py for debugging the cache logic by ↵Mark Haines2015-05-051-1/+12
| | | | | | | | | | | | comparing what is in the cache with what was in the database on every access
| | * Sequence the modifications to the cache so that selects don't race with insertsMark Haines2015-05-051-3/+23
| | |
* | | Add a comment about the zip(*[zip(sorted(...),...)])Erik Johnston2015-05-051-0/+8
| | |
* | | Add support for using executemanyErik Johnston2015-05-051-13/+41
|/ /
* / Don't call 'encode_parameter' no-opErik Johnston2015-05-051-4/+0
|/
* Don't lock user_ips table for upsert.Erik Johnston2015-05-011-4/+7
|
* Fix bug where we reconnected to the database on every query.Erik Johnston2015-05-011-0/+1
|
* Shuffle operations so that locking upsert happens last in the txn. This ↵Erik Johnston2015-04-271-0/+3
| | | | ensures the lock is held for the least amount of time possible.
* Handle the fact that postgres databases can be restarted from under usErik Johnston2015-04-271-1/+27
|
* Go back to storing JSON in TEXTErik Johnston2015-04-161-3/+0
|
* Remove debug loggingErik Johnston2015-04-151-2/+0
|
* pushers table requires a unique id.Erik Johnston2015-04-151-3/+7
|
* Don't pass in removed flagErik Johnston2015-04-151-1/+0
|
* Postgres does not allow you to continue using a cursor after a DB exception ↵Erik Johnston2015-04-151-11/+14
| | | | has been raised, so move _simple_insert or_ignore flag out of transaction
* Add support for postgres instead of mysql. Change sql accourdingly. blob + ↵Erik Johnston2015-04-141-1/+1
| | | | varbinary -> bytea. No support for UNSIGNED or CREATE INDEX IF NOT EXISTS.
* Handle the fact that in sqlite binary data might be stored as unicode or bytesErik Johnston2015-04-101-2/+5
|
* Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-091-19/+28
|\
| * Merge pull request #114 from matrix-org/improve_get_event_cacheMark Haines2015-04-081-19/+28
| |\ | | | | | | Improve get event cache
| | * Appease pep8Paul "LeoNerd" Evans2015-03-261-1/+2
| | |
| | * Implement the main getEvent cache using Cache() instead of a custom ↵Paul "LeoNerd" Evans2015-03-251-12/+7
| | | | | | | | | | | | application of LruCache; also unify its two-level structure into just one