summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | Move database timer logging to seperate loggerErik Johnston2015-04-081-1/+2
|/
* 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
|
* 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
* 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
| | | |
| * | | Don't do batching when getting events.Erik Johnston2015-01-061-35/+4
| | | |
| * | | Only fetch prev_content when a client is streaming/paginating. Use ↵Erik Johnston2015-01-061-9/+23
| | | | | | | | | | | | | | | | transactions for event streams.
| * | | Temporarily turn off 'redacted_because' and 'prev_content' keysErik Johnston2015-01-061-0/+2
| | | |
| * | | More debug loggingErik Johnston2015-01-061-0/+4
| | | |
| * | | ReformatErik Johnston2015-01-061-13/+14
| | | |
| * | | Test some ideas that might help performance a bitErik Johnston2014-12-171-6/+28
| | | |
* | | | Update copyright noticesMark Haines2015-01-061-1/+1
|/ / /
* | / Don't assume an event existsErik Johnston2014-12-161-2/+4
| |/ |/|
* | Persist internal_metadataErik Johnston2014-12-161-3/+4
| |
* | Fix bug where we ignored event_edge_hashes tableErik Johnston2014-12-151-1/+0
| |
* | PyflakesErik Johnston2014-12-121-1/+0
| |
* | Fix public room joining by making sure replaces_state never points to itself.Erik Johnston2014-12-111-2/+4
| |
* | Fix prev_contentErik Johnston2014-12-111-0/+6
| |
* | Fix redactions. Fix 'age' keyErik Johnston2014-12-111-24/+36
| |
* | Remove dead codeErik Johnston2014-12-101-25/+0
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into events_refactorErik Johnston2014-12-101-1/+1
|\ \
| * | track replication destination health, and perform exponential back-off when ↵Matthew Hodgson2014-12-071-1/+1
| |/ | | | | | | sending transactions. does *not* yet retry transactions, but drops them on the floor if waiting for a server to recover.
* | Change the way we implement get_events to be less suckyErik Johnston2014-12-091-19/+15
| |
* | Remove unused importErik Johnston2014-12-081-1/+0
| |
* | Start making more things use EventContext rather than event.*Erik Johnston2014-12-051-5/+3
| |
* | Store full JSON of events in dbErik Johnston2014-12-011-56/+21
|/
* SYN-163: Add an order by rowid to selects.Erik Johnston2014-11-241-5/+10
| | | | | | | This should fix the bug where the edges of the graph get returned in a different order than they were inserted in, and so no get_event no longer returned the exact same JSON as was inserted. This meant that signature checks failed.
* Fix pep8 codestyle warningsMark Haines2014-11-201-0/+1
|
* Use module loggers rather than the root logger. Exceptions caused by bad ↵Mark Haines2014-11-201-1/+1
| | | | clients shouldn't cause ERROR level logging. Fix sql logging to use 'repr' rather than 'str'
* Add a few missing yields, Move deferred lists inside PreserveLoggingContext ↵Mark Haines2014-11-201-1/+0
| | | | because they don't interact well with the logging contexts
* Merge PDUs and Events into one objectMark Haines2014-11-141-0/+8
|
* Merge branch 'develop' into request_loggingMark Haines2014-11-141-64/+191
|\ | | | | | | | | | | | | Conflicts: setup.py synapse/storage/_base.py synapse/util/async.py
| * Store all signatures on events rather than just dropping themErik Johnston2014-11-121-2/+5
| |
| * Add an EventValidator. Fix bugs in auth ++ storageErik Johnston2014-11-101-1/+1
| |
| * Fix regression where we did not return redacted events.Erik Johnston2014-11-101-1/+2
| |
| * Fix backfill to work. Add auth to backfill requestErik Johnston2014-11-101-0/+12
| |
| * Finish redaction algorithm.Erik Johnston2014-11-101-1/+1
| |
| * Start implementing auth chainsErik Johnston2014-11-071-0/+2
| |
| * Implement new replace_state and changed prev_stateErik Johnston2014-11-061-17/+49
| | | | | | | | | | `prev_state` is now a list of previous state ids, similiar to prev_events. `replace_state` now points to what we think was replaced.
| * Get correct prev_eventsErik Johnston2014-11-051-6/+5
| |
| * Remove unused importsErik Johnston2014-11-041-2/+0
| |
| * Start filling out and using new events tablesErik Johnston2014-10-291-6/+27
| |
| * Begin implementing all the PDU storage stuff in Events landErik Johnston2014-10-281-20/+33
| |
| * Add transaction level logging and timing information. Add a _simple_delete ↵Erik Johnston2014-10-281-16/+58
| | | | | | | | method
| * Clean up LoggingTransactionErik Johnston2014-10-281-10/+4
| |
| * Add timer to LoggingTransactionErik Johnston2014-10-281-3/+10
| |
* | Add a request-id to each log lineMark Haines2014-10-301-4/+12
|/
* keep 'origin_server_ts' as 'ts' in the database to avoid needlessly updating ↵Mark Haines2014-10-171-1/+2
| | | | schema
* SPEC-7: Rename 'ts' to 'origin_server_ts'Mark Haines2014-10-171-1/+1
|
* Respond with more helpful error messages for unsigned requestsMark Haines2014-10-131-4/+7
|
* Rename deletions to redactionsErik Johnston2014-09-241-9/+9
|
* Fix bug where we didn't correctly pull out the event_id of the deletionErik Johnston2014-09-241-2/+3
|
* Rename 'pruned' to 'pruned_because'Erik Johnston2014-09-231-1/+1
|
* Add m.room.deletion. If an event is deleted it will be returned to clients ↵Erik Johnston2014-09-231-3/+27
| | | | 'pruned', i.e. all client specified keys will be removed.
* Merge remote-tracking branch 'origin/develop' into test-sqlite-memoryPaul "LeoNerd" Evans2014-09-151-0/+4
|\
| * Correctly handle the 'age' key in events and pdusErik Johnston2014-09-151-0/+4
| |
* | Merge remote-tracking branch 'origin/develop' into test-sqlite-memoryPaul "LeoNerd" Evans2014-09-121-0/+8
|\| | | | | | | | | Conflicts: synapse/storage/pdu.py
| * Make the state resolution use actual power levels rather than taking them ↵Erik Johnston2014-09-121-0/+8
| | | | | | | | from a Pdu key.
* | Now don't need the other logger.debug() call in _executePaul "LeoNerd" Evans2014-09-121-5/+0
| |
* | Logging of all SQL queries via the 'synapse.storage.SQL' loggerPaul "LeoNerd" Evans2014-09-121-2/+43
| |
* | Add a .runInteraction() method on SQLBaseStore itself to wrap the .db_poolPaul "LeoNerd" Evans2014-09-121-8/+12
|/
* When getting a state event also include the previous contentErik Johnston2014-09-061-0/+19
|
* Add support to _simple_insert() to do INSERT OR REPLACEPaul "LeoNerd" Evans2014-09-031-4/+6
|
* fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵Matthew Hodgson2014-09-031-1/+1
| | | | hasn't been incorporated in time for launch.
* Merge branch 'develop' into storage_transactionsMark Haines2014-08-261-0/+5
|\ | | | | | | | | | | | | Conflicts: synapse/api/auth.py synapse/handlers/room.py synapse/storage/__init__.py
| * Stop internal keys from getting into SynapseEventsErik Johnston2014-08-211-0/+5
| |
* | Move the event storage into a single transactionMark Haines2014-08-261-5/+7
|/
* PEP8 cleanupsErik Johnston2014-08-151-1/+2
|
* Start chagning the events stream to work with the new DB schemaErik Johnston2014-08-151-1/+1
|
* Reimplement the get public rooms api to work with new DB schemaErik Johnston2014-08-151-1/+1
|
* Fix up typos and correct sql queriesErik Johnston2014-08-141-4/+5
|
* Start fixing places that use the data store.Erik Johnston2014-08-141-1/+1
|
* Rename _execute_queryErik Johnston2014-08-141-1/+1
|
* Fix up RoomMemberStore to work with the new schema.Erik Johnston2014-08-141-1/+5
|
* Actually encode dicts as json in the DBErik Johnston2014-08-141-1/+2
|
* Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-141-0/+2
|\ | | | | | | | | Conflicts: synapse/storage/_base.py
| * An initial hack at storing presence state-change mtimes in database and ↵Paul "LeoNerd" Evans2014-08-131-0/+1
| | | | | | | | presenting age durations to clients/federation events
| * Set datastore's .hs field in SQLBaseStore rather than in the toplevel ↵Paul "LeoNerd" Evans2014-08-131-0/+1
| | | | | | | | DataStore mixed-in result class
* | Initial stab at refactoring the SQL tables, including rejigging some of the ↵Erik Johnston2014-08-131-1/+16
|/ | | | storage layer.
* add in whitespace after copyright statements to improve legibilityMatthew Hodgson2014-08-131-0/+1
|
* Reference Matrix Home Servermatrix.org2014-08-121-0/+405