summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | * Use FrozenEvent's reject_reason to decide whether to return it; don't ↵Paul "LeoNerd" Evans2015-03-251-10/+14
| | | | | | | | | | | | include allow_rejected in the main getEvents cache key
| | * Store the rejected reason in (Frozen)Event structsPaul "LeoNerd" Evans2015-03-251-2/+8
| | |
| | * Indirect invalidations of _get_event_cache via a helper method to keep all ↵Paul "LeoNerd" Evans2015-03-251-0/+3
| | | | | | | | | | | | uses of the cache lexically within one .py file
* | | Stream ordering and out of order insertions.Erik Johnston2015-04-091-43/+3
| | | | | | | | | | | | | | | | | | | | | Handle the fact that events can be persisted out of order, and so to get the "current max" stream token becomes non trivial - as we need to make sure that *all* stream tokens less than the current max have also successfully been persisted.
* | | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-081-1/+2
|\| |
| * | Move database timer logging to seperate loggerErik Johnston2015-04-081-1/+2
| |/
* | Retry transaction, not SQL queryErik Johnston2015-04-081-21/+25
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-071-39/+61
|\|
| * Allow a choice of LRU behaviour for Cache() by using LruCache() or OrderedDict()Paul "LeoNerd" Evans2015-03-251-8/+12
| |
| * Pull out the cache logic from the @cached wrapper into its own class we can ↵Paul "LeoNerd" Evans2015-03-201-35/+54
| | | | | | | | reuse
| * func(*EXPR) is valid Python syntax, really...Paul "LeoNerd" Evans2015-03-201-2/+1
| |
* | Retry on deadlockErik Johnston2015-04-071-3/+13
| |
* | Don't use multiple UNIQUE constraints; it will cause deadlocksErik Johnston2015-04-071-2/+2
| |
* | Implement or_ignore flag on insertsErik Johnston2015-04-071-4/+9
| |
* | Don't use AUTOINCREMENT, use an in memory versionErik Johnston2015-04-071-6/+48
| |
* | Fix unicode supportErik Johnston2015-04-021-10/+12
| |
* | Make work in both Maria and SQLite. Fix testsErik Johnston2015-04-011-9/+21
| |
* | Fix unicode database supportErik Johnston2015-03-251-0/+4
| |
* | Don't order by rowidErik Johnston2015-03-241-1/+1
| |
* | Remove uses of REPLACE and ON CONFLICT IGNORE to make the SQL more portable.Erik Johnston2015-03-231-9/+4
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-03-201-63/+110
|\|
| * PEP8Erik Johnston2015-03-201-1/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into store_rearrangementErik Johnston2015-03-201-13/+27
| |\
| | * Allow @cached-wrapped functions to have more or fewer than 1 argument; ↵Paul "LeoNerd" Evans2015-03-201-13/+27
| | | | | | | | | | | | assert on the total count of them though
| * | Give sensible names for '_simple_...' transactionsErik Johnston2015-03-201-16/+21
| | |
| * | Tidy up _simple_... methodsErik Johnston2015-03-201-39/+60
| | |
| * | Rearrange storage modulesErik Johnston2015-03-201-0/+7
| |/
| * Be polite and ensure we use @functools.wraps() when creating a function ↵Paul "LeoNerd" Evans2015-03-171-0/+2
| | | | | | | | decorator
* | Rearrange storage modulesErik Johnston2015-03-201-0/+7
| |
* | Convert storage layer to be mysql compatibleErik Johnston2015-03-191-13/+17
|/
* Add a metric for the scheduling latency of SQL queriesPaul "LeoNerd" Evans2015-03-161-0/+5
|
* Bugfix to sql_txn_timer increment - add only the per-TXN duration, not the ↵Paul "LeoNerd" Evans2015-03-121-7/+5
| | | | total time ever spent since boot
* Rename the timer metrics exported by synapse.storage to append _time, so the ↵Paul "LeoNerd" Evans2015-03-121-3/+3
| | | | meaning of ':total' is clearer
* Rename TimerMetric to DistributionMetric; as it could count more than just timePaul "LeoNerd" Evans2015-03-121-7/+7
|
* Pretend the 'getEvent' cache is just another cache in the set of all the ↵Paul "LeoNerd" Evans2015-03-121-6/+5
| | | | others for metric
* Use _ instead of . as a metric namespacing separator, for PrometheusPaul "LeoNerd" Evans2015-03-121-5/+13
|
* Rename Metrics' "keys" to "labels"Paul "LeoNerd" Evans2015-03-121-3/+3
|
* Add TimerMetrics to shadow the PerformanceCounters in synapse.storage; with ↵Paul "LeoNerd" Evans2015-03-121-3/+20
| | | | the view to eventually replacing them entirely
* Collect per-SQL-verb timer stats on query execution timePaul "LeoNerd" Evans2015-03-121-5/+11
|
* Delete a couple of TODO markers of monitoring stats now donePaul "LeoNerd" Evans2015-03-121-1/+0
|
* Rename CacheCounterMetric to just CacheMetric; add a CallbackMetric ↵Paul "LeoNerd" Evans2015-03-121-3/+3
| | | | component to give the size of the cache
* Sprinkle some CacheCounterMetrics around the synapse.storage layerPaul "LeoNerd" Evans2015-03-121-1/+15
|
* Also give _execute() a descriptionPaul "LeoNerd" Evans2015-03-111-4/+3
|
* Add a description to storage layer's _execute_and_decode()Paul "LeoNerd" Evans2015-03-111-1/+2
|
* Modify _simple_select_list to allow an empty WHERE clause. Use it for ↵Kegan Dougal2015-03-021-7/+15
| | | | get_all_rooms and get_all_users.
* Use OrderedDict for @cached backing store, so we can evict the oldest key ↵Paul "LeoNerd" Evans2015-02-231-7/+4
| | | | unbiased
* Use cache.pop() instead of a separate membership test + del []Paul "LeoNerd" Evans2015-02-231-2/+1
|
* Fix code style warningMark Haines2015-02-231-1/+1
|
* Pull the _get_event_cache.setdefault() call out of the try block, as it ↵Paul "LeoNerd" Evans2015-02-231-1/+2
| | | | doesn't need to be there and is confusing
* Allow @cached-wrapped functions to have a prefill method for setting entriesPaul "LeoNerd" Evans2015-02-231-8/+15
|
* Remove a TODO notePaul "LeoNerd" Evans2015-02-191-1/+0
|
* Take named arguments to @cached() decorator, add a 'max_entries' limitPaul "LeoNerd" Evans2015-02-191-15/+24
|
* Move @cached decorator out into synapse.storage._base; add minimal docsPaul "LeoNerd" Evans2015-02-191-0/+35
|
* Merge branch 'develop' of github.com:matrix-org/synapse into use-simplejsonErik Johnston2015-02-111-4/+20
|\
| * Fix formattingMark Haines2015-02-111-2/+0
| |
| * Add a cache for get_eventMark Haines2015-02-111-3/+21
| |
* | Blunty replace json with simplejsonErik Johnston2015-02-111-1/+1
|/
* Code-style fixesMark Haines2015-02-101-3/+3
|
* Fix pyflakesMark Haines2015-02-101-3/+3
|
* Add performance counters for different stages of loading eventsMark Haines2015-02-101-24/+60
|
* Use the transaction 'desc' rather than 'name', increment the txn_ids inMark Haines2015-02-091-3/+3
| | | | txn names
* FormattingMark Haines2015-02-091-1/+0
|
* Performance counters for database transaction namesMark Haines2015-02-091-1/+31
|
* Fix typoErik Johnston2015-02-091-1/+1
|
* Log database time every 10s and log as percentageErik Johnston2015-02-091-2/+2
|
* Time how long we're spending on the database threadErik Johnston2015-02-091-0/+25
|
* Be more specific in naming columns in selects.Erik Johnston2015-01-301-1/+1
|
* Merge branch 'develop' of github.com:matrix-org/synapse into rejections_storageErik Johnston2015-01-301-2/+46
|\ | | | | | | | | | | Conflicts: synapse/storage/__init__.py synapse/storage/schema/delta/v12.sql
| * unnecessary newlinesDavid Baker2015-01-281-2/+0
| |
| * More magic commas (including the place I copied it from...)David Baker2015-01-281-4/+4
| |
| * Google doc styleDavid Baker2015-01-281-4/+5
| |
| * Merge branch 'develop' into pushersDavid Baker2015-01-131-17/+35
| |\
| * \ Merge branch 'develop' into pushersDavid Baker2014-12-181-103/+55
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: synapse/api/errors.py synapse/server.py synapse/storage/__init__.py
| * | | after a few rethinks, a working implementation of pushers.David Baker2014-12-181-0/+45
| | | |
* | | | Add support for storing rejected events in EventContext and data storesErik Johnston2015-01-221-8/+13
| |_|/ |/| |
* | | Use time.time() instead of time.clock()Erik Johnston2015-01-061-4/+4
| | |
* | | Don't include None's in _get_events_txnErik Johnston2015-01-061-1/+3
| | |
* | | Merge pull request #28 from matrix-org/erikj-perfMark Haines2015-01-061-11/+25
|\ \ \ | | | | | | | | Database performance improvements.
| * | | PEP8Erik Johnston2015-01-061-2/+4
| | | |