Erik Johnston
|
0af5f5efaf
|
Don't use multiple UNIQUE constraints; it will cause deadlocks
|
2015-04-07 12:08:35 +01:00 |
Erik Johnston
|
c8d3f6486d
|
Implement or_ignore flag on inserts
|
2015-04-07 12:06:22 +01:00 |
Erik Johnston
|
304111afd0
|
Don't use AUTOINCREMENT, use an in memory version
|
2015-04-07 12:05:36 +01:00 |
Erik Johnston
|
779f7b0f44
|
Fix unicode support
|
2015-04-02 10:06:22 +01:00 |
Erik Johnston
|
9236136f3a
|
Make work in both Maria and SQLite. Fix tests
|
2015-04-01 14:12:33 +01:00 |
Kegan Dougal
|
5e88a09a42
|
Add same user_id char checks as registration.
|
2015-03-31 14:00:25 +01:00 |
Kegan Dougal
|
cf1fa59f4b
|
Use a sender localpart instead of a user ID.
Form the user ID at runtime instead, This gives less room for error in AS
config files since they cannot specify the domain of another HS.
|
2015-03-31 13:48:03 +01:00 |
Kegan Dougal
|
c217504949
|
Edit SQL schema to use string IDs not ints. Use token as ID. Update tests.
|
2015-03-31 12:07:56 +01:00 |
Kegan Dougal
|
b59aa74556
|
Fix tests and missing returns on deferreds.
|
2015-03-31 11:35:45 +01:00 |
Kegan Dougal
|
d33ae65efc
|
Remove more reg/unreg methods. Read config not database for cache.
|
2015-03-31 11:00:00 +01:00 |
Paul "LeoNerd" Evans
|
3e420aebd8
|
Revert "Add another @cached wrapper, this time on get_presence_state()"
This reverts commit ff1fa0fbf8 .
|
2015-03-27 16:16:58 +00:00 |
Paul "LeoNerd" Evans
|
ff1fa0fbf8
|
Add another @cached wrapper, this time on get_presence_state()
|
2015-03-27 15:57:16 +00:00 |
Paul "LeoNerd" Evans
|
a198894bf7
|
Appease pep8
|
2015-03-26 11:53:58 +00:00 |
Kegan Dougal
|
32206dde3f
|
Fixes from PR comments
|
2015-03-26 10:11:52 +00:00 |
Kegan Dougal
|
4edcbcee3b
|
Merge branch 'develop' into application-services-txn-reliability
Conflicts:
synapse/storage/__init__.py
|
2015-03-26 10:07:59 +00:00 |
Paul "LeoNerd" Evans
|
953e40f9dc
|
Implement the main getEvent cache using Cache() instead of a custom application of LruCache; also unify its two-level structure into just one
|
2015-03-25 19:12:16 +00:00 |
Paul "LeoNerd" Evans
|
f173d40a32
|
Use FrozenEvent's reject_reason to decide whether to return it; don't include allow_rejected in the main getEvents cache key
|
2015-03-25 19:06:05 +00:00 |
Paul "LeoNerd" Evans
|
1b988b051b
|
Store the rejected reason in (Frozen)Event structs
|
2015-03-25 19:06:05 +00:00 |
Paul "LeoNerd" Evans
|
033a517feb
|
Indirect invalidations of _get_event_cache via a helper method to keep all uses of the cache lexically within one .py file
|
2015-03-25 19:06:05 +00:00 |
Paul "LeoNerd" Evans
|
9ba6487b3f
|
Allow a choice of LRU behaviour for Cache() by using LruCache() or OrderedDict()
|
2015-03-25 19:05:34 +00:00 |
Erik Johnston
|
0e8f5095c7
|
Fix unicode database support
|
2015-03-25 17:15:20 +00:00 |
Erik Johnston
|
0ba393924a
|
Escape non printing ascii character
|
2015-03-24 16:31:52 +00:00 |
Erik Johnston
|
f488293d96
|
Don't reinsert into event_edges
|
2015-03-24 16:20:26 +00:00 |
Erik Johnston
|
1aa44939fc
|
Fix bugs in transactions storage
|
2015-03-24 16:20:05 +00:00 |
Erik Johnston
|
5a447098dd
|
Don't use room hosts table
|
2015-03-24 16:19:24 +00:00 |
Erik Johnston
|
9e98f1022a
|
Don't order by rowid
|
2015-03-24 16:19:01 +00:00 |
Erik Johnston
|
9115421ace
|
Use _simple_upsert
|
2015-03-24 16:17:39 +00:00 |
Erik Johnston
|
6e7131f02f
|
Remove uses of REPLACE and ON CONFLICT IGNORE to make the SQL more portable.
|
2015-03-23 15:38:56 +00:00 |
Erik Johnston
|
9a7f496298
|
Sanitize RoomMemberStore
|
2015-03-23 15:29:04 +00:00 |
Erik Johnston
|
d5272b1d2c
|
Use 'update or insert' rather than on 'conflict replace'
|
2015-03-23 14:02:34 +00:00 |
Erik Johnston
|
278149f533
|
Sanitize TransactionStore
|
2015-03-23 13:43:21 +00:00 |
Paul "LeoNerd" Evans
|
72d8406409
|
Put a cache on get_aliases_for_room
|
2015-03-20 19:21:13 +00:00 |
Paul "LeoNerd" Evans
|
a63b4f7101
|
Remember the 'last seen' time for a given user/IP/device combination and only bother INSERTing another if it's stale
|
2015-03-20 18:25:49 +00:00 |
Paul "LeoNerd" Evans
|
0f86312c4c
|
Pull out the cache logic from the @cached wrapper into its own class we can reuse
|
2015-03-20 18:25:42 +00:00 |
Paul "LeoNerd" Evans
|
b1022ed8b5
|
func(*EXPR) is valid Python syntax, really...
|
2015-03-20 17:47:45 +00:00 |
Erik Johnston
|
f6583796fe
|
Merge branch 'develop' of github.com:matrix-org/synapse into mysql
|
2015-03-20 16:31:48 +00:00 |
Erik Johnston
|
80cd08c190
|
PEP8
|
2015-03-20 16:03:25 +00:00 |
Erik Johnston
|
9517f4da4d
|
Merge branch 'develop' of github.com:matrix-org/synapse into store_rearrangement
|
2015-03-20 16:02:47 +00:00 |
Erik Johnston
|
dc0c989ef4
|
Give sensible names for '_simple_...' transactions
|
2015-03-20 15:59:18 +00:00 |
Paul "LeoNerd" Evans
|
ceb61daa70
|
Add the tiniest of tiny one-element caches to get_room_events_max_id() as it's read every time someone hits eventstream
|
2015-03-20 15:44:06 +00:00 |
Erik Johnston
|
fce0114005
|
Start removing Tables
|
2015-03-20 15:05:44 +00:00 |
Erik Johnston
|
7e282a53a5
|
Tidy up _simple_... methods
|
2015-03-20 15:05:10 +00:00 |
Paul "LeoNerd" Evans
|
91cb46191d
|
Allow @cached-wrapped functions to have more or fewer than 1 argument; assert on the total count of them though
|
2015-03-20 14:59:45 +00:00 |
Erik Johnston
|
87db64b839
|
Rearrange storage modules
|
2015-03-20 14:11:38 +00:00 |
Erik Johnston
|
cb8162d3d1
|
Rearrange storage modules
|
2015-03-20 13:52:56 +00:00 |
Erik Johnston
|
d288d273e1
|
Generate transaction id in code
|
2015-03-20 10:57:44 +00:00 |
Erik Johnston
|
d4f50f3ae5
|
decode_result takes an iterable
|
2015-03-20 10:57:26 +00:00 |
Erik Johnston
|
0d0610870d
|
Fix up schemas some more
|
2015-03-20 10:55:31 +00:00 |
Erik Johnston
|
d7a0496f3e
|
Convert storage layer to be mysql compatible
|
2015-03-19 15:59:48 +00:00 |
Erik Johnston
|
58ed393235
|
Remove redundant key
|
2015-03-19 15:12:05 +00:00 |
Erik Johnston
|
fae059cc18
|
Fix up schemas to work with mariadb
|
2015-03-19 13:42:39 +00:00 |
Erik Johnston
|
bb24609158
|
Clean out event_forward_extremities table when the server rejoins the room
|
2015-03-18 11:19:47 +00:00 |
Erik Johnston
|
89036579ed
|
Update schema to work with mariadb
|
2015-03-18 11:18:49 +00:00 |
Paul "LeoNerd" Evans
|
93978c5e2b
|
@cached() annotate get_user_by_token() - achieves a minor DB performance improvement
|
2015-03-17 17:24:51 +00:00 |
Paul "LeoNerd" Evans
|
1489521ee5
|
Be polite and ensure we use @functools.wraps() when creating a function decorator
|
2015-03-17 17:19:22 +00:00 |
Paul "LeoNerd" Evans
|
be170b1426
|
Add a metric for the scheduling latency of SQL queries
|
2015-03-16 17:21:59 +00:00 |
Erik Johnston
|
cd2539ab2a
|
Merge pull request #110 from matrix-org/fix_ban
Fix ban
|
2015-03-16 15:36:52 +00:00 |
Kegan Dougal
|
f0d6f724a2
|
Set the service ID as soon as it is known.
|
2015-03-16 15:24:32 +00:00 |
Erik Johnston
|
f1d2b94e0b
|
Copy dict of context.current_state before changing it.
|
2015-03-16 15:13:05 +00:00 |
Kegan Dougal
|
835e01fc70
|
Minor PR comment tweaks.
|
2015-03-16 10:16:59 +00:00 |
Kegan Dougal
|
f9232c7917
|
Merge branch 'develop' into application-services-txn-reliability
Conflicts:
synapse/storage/appservice.py
|
2015-03-16 10:09:15 +00:00 |
Paul "LeoNerd" Evans
|
e75fa8bbbf
|
Bugfix to sql_txn_timer increment - add only the per-TXN duration, not the total time ever spent since boot
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
63cb7ece62
|
Rename the timer metrics exported by synapse.storage to append _time, so the meaning of ':total' is clearer
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
f1fbe3e09f
|
Rename TimerMetric to DistributionMetric; as it could count more than just time
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
642f725fd7
|
Pretend the 'getEvent' cache is just another cache in the set of all the others for metric
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
b0cf867319
|
Use _ instead of . as a metric namespacing separator, for Prometheus
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
f9478e475b
|
Rename Metrics' "keys" to "labels"
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
fa319a5786
|
Add TimerMetrics to shadow the PerformanceCounters in synapse.storage; with the view to eventually replacing them entirely
|
2015-03-12 16:24:51 +00:00 |
Paul "LeoNerd" Evans
|
25187ab674
|
Collect per-SQL-verb timer stats on query execution time
|
2015-03-12 16:24:50 +00:00 |
Paul "LeoNerd" Evans
|
e1a7e3564f
|
Delete a couple of TODO markers of monitoring stats now done
|
2015-03-12 16:24:50 +00:00 |
Paul "LeoNerd" Evans
|
8664599af7
|
Rename CacheCounterMetric to just CacheMetric; add a CallbackMetric component to give the size of the cache
|
2015-03-12 16:24:50 +00:00 |
Paul "LeoNerd" Evans
|
b0cdf097f4
|
Sprinkle some CacheCounterMetrics around the synapse.storage layer
|
2015-03-12 16:24:50 +00:00 |
Paul "LeoNerd" Evans
|
a7a28f85ae
|
Appease pep8
|
2015-03-11 17:32:43 +00:00 |
Paul "LeoNerd" Evans
|
59a5f012cc
|
Also give _execute() a description
|
2015-03-11 17:19:17 +00:00 |
Paul "LeoNerd" Evans
|
099e4b88d8
|
Add a description to storage layer's _execute_and_decode()
|
2015-03-11 17:08:57 +00:00 |
David Baker
|
04f8478aaa
|
Add the master push rule for the break-my-push button. Allow server default rules to be disabled by default.
|
2015-03-10 17:26:25 +00:00 |
David Baker
|
8916acbc13
|
These aren't defined for redacted events so don't crash
|
2015-03-10 11:21:37 +00:00 |
Kegan Dougal
|
db1fbc6c6f
|
Fix remaining scheduler bugs. Add more informative logging.
|
2015-03-10 10:04:20 +00:00 |
Kegan Dougal
|
7e0bba555c
|
Remove unused import
|
2015-03-09 17:48:37 +00:00 |
Kegan Dougal
|
04c9751f24
|
Bug fixes whilst putting it all together
|
2015-03-09 17:45:41 +00:00 |
Kegan Dougal
|
b98cd03193
|
Use event IDs instead of dumping event content in the txns table.
|
2015-03-09 17:25:20 +00:00 |
Kegan Dougal
|
21fd84dcb8
|
Use seconds; start gluing in the AS scheduler into the AS handler.
|
2015-03-09 17:01:19 +00:00 |
Kegan Dougal
|
0a60bbf4fa
|
Finish appservice txn storage impl and tests.
|
2015-03-09 15:53:03 +00:00 |
Kegan Dougal
|
1ead1caa18
|
Implement create_appservice_txn with tests.
|
2015-03-09 13:54:20 +00:00 |
Kegan Dougal
|
1c2dcf762a
|
Partially implement txn store methods with tests.
|
2015-03-09 13:10:31 +00:00 |
Kegan Dougal
|
406d32f8b5
|
Start implementing ApplicationServiceTransactionStore
|
2015-03-06 17:35:14 +00:00 |
Kegan Dougal
|
34ce2ca62f
|
Merge branch 'develop' into application-services-txn-reliability
|
2015-03-06 17:28:49 +00:00 |
Kegan Dougal
|
4a6afa6abf
|
Assign the AS ID from the database; replace old placeholder txn id.
|
2015-03-06 17:27:55 +00:00 |
Kegan Dougal
|
01c099d9ef
|
Add appservice txns sql schema
|
2015-03-06 17:16:47 +00:00 |
Kegan Dougal
|
2602ddc379
|
Apply clarity and docstrings
|
2015-03-06 16:16:14 +00:00 |
Kegan Dougal
|
0354659f9d
|
Finish synapse.appservice.scheduler implementation.
With tests to assert behaviour. Not hooked up yet. Stub datastore methods
not implemented yet.
|
2015-03-06 16:09:05 +00:00 |
Kegan Dougal
|
f260cb72cd
|
Flesh out more stub functions.
|
2015-03-06 15:12:24 +00:00 |
Kegan Dougal
|
141ec04d19
|
Add stub ApplicationServiceTransactionStore. Bootstrap Recoverers. Fill in stub Transaction functions.
|
2015-03-06 14:53:35 +00:00 |
David Baker
|
cf66ddc1b4
|
Schema change as delta in v14
|
2015-03-06 14:11:49 +00:00 |
David Baker
|
ed72fc3a50
|
Merge branch 'develop' into pushrules2
Conflicts:
synapse/storage/schema/pusher.sql
|
2015-03-04 15:24:21 +00:00 |
Erik Johnston
|
d56c01fff4
|
Note that we don't specify execution order
|
2015-03-04 15:10:05 +00:00 |
Erik Johnston
|
17d319a20d
|
s/schema_deltas/applied_schema_deltas/
|
2015-03-04 15:06:22 +00:00 |
David Baker
|
92b3dc3219
|
Merge branch 'develop' into pushrules2
|
2015-03-04 14:56:41 +00:00 |
Erik Johnston
|
5681264faa
|
s/%r/%s/
|
2015-03-04 14:21:53 +00:00 |
Erik Johnston
|
f701197227
|
Add example directory structures in doc
|
2015-03-04 14:20:14 +00:00 |