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 |
|
David Baker
|
2a45f3d448
|
Use if not results rather than len, as per feedback.
|
2015-03-04 14:17:59 +00:00 |
|
Erik Johnston
|
16dd87d848
|
Don't assume db conn is a Context Manager.
Twisted adbapi wrapped connections aren't context managers.
|
2015-03-04 14:03:41 +00:00 |
|
Erik Johnston
|
5eefd1f618
|
Add unique constraint on schema_version.lock schema. Use conflict clause in sql.
|
2015-03-04 13:52:18 +00:00 |
|
Erik Johnston
|
b4c38738f4
|
Change to use logger in db upgrade script
|
2015-03-04 13:43:35 +00:00 |
|
Erik Johnston
|
640e53935d
|
Use context manager with db conn to correctly commit and rollback
|
2015-03-04 13:43:17 +00:00 |
|
Erik Johnston
|
8c8354e85a
|
Actually add full_schemas dir
|
2015-03-04 13:34:38 +00:00 |
|
Erik Johnston
|
c3530c3fb3
|
More docs. Rename 'schema/current' to 'schema/full_schemas'
|
2015-03-04 13:34:11 +00:00 |
|
Erik Johnston
|
811355ccd0
|
Add some docs and remove unused variables
|
2015-03-04 13:11:01 +00:00 |
|
Erik Johnston
|
82b34e813d
|
SYN-67: Finish up implementing new database schema management
|
2015-03-04 12:04:19 +00:00 |
|
Erik Johnston
|
8d33adfbbb
|
SYN-67: Begin changing the way we handle schema versioning
|
2015-03-02 18:23:55 +00:00 |
|
David Baker
|
6fab7bd2c1
|
s/user_name/user/ as per mjark's comment
|
2015-03-02 18:17:19 +00:00 |
|
Erik Johnston
|
9f03553f48
|
Add missing comma
|
2015-03-02 16:38:40 +00:00 |
|
Erik Johnston
|
b41dc68773
|
We purposefully don't have a version 14 delta script.
|
2015-03-02 16:36:19 +00:00 |
|
David Baker
|
20436cdf75
|
Blank lines
|
2015-03-02 15:58:12 +00:00 |
|
Kegsay
|
8ad024ea80
|
Merge pull request #93 from matrix-org/application-services-exclusive
Application services exclusive flag support
|
2015-03-02 14:56:32 +00:00 |
|
Erik Johnston
|
0a036944bd
|
Merge branch 'develop' of github.com:matrix-org/synapse into batched_get_pdu
|
2015-03-02 13:53:30 +00:00 |
|
Kegan Dougal
|
c3c01641d2
|
Run deltas and bump user_version in upgrade script
|
2015-03-02 13:38:57 +00:00 |
|
Kegan Dougal
|
cb97ea3ec2
|
PEP8
|
2015-03-02 11:23:46 +00:00 |
|
Kegan Dougal
|
377ae369c1
|
Wrap all of get_app_service_rooms in a txn.
|
2015-03-02 11:20:51 +00:00 |
|
Kegan Dougal
|
b216b36892
|
JOIN state_events rather than parsing unrecognized_keys to pull out member state_keys
|
2015-03-02 10:41:35 +00:00 |
|
Kegan Dougal
|
3d73383d18
|
Modify _simple_select_list to allow an empty WHERE clause. Use it for get_all_rooms and get_all_users.
|
2015-03-02 10:16:24 +00:00 |
|
Kegan Dougal
|
ebc4830666
|
PR tweaks: set earlier on and use 'as json' for compat
|
2015-03-02 09:53:00 +00:00 |
|
Kegan Dougal
|
16b90764ad
|
Convert expected format for AS regex to include exclusivity.
Previously you just specified the regex as a string, now it expects a JSON
object with a 'regex' key and an 'exclusive' boolean, as per spec.
|
2015-02-27 10:44:32 +00:00 |
|
Kegan Dougal
|
806a6c886a
|
PEP8
|
2015-02-27 09:48:57 +00:00 |
|
David Baker
|
1959088156
|
Add API for getting/setting enabled-ness of push rules.
|
2015-02-26 18:07:44 +00:00 |
|
Kegan Dougal
|
f0995436e7
|
Check for membership invite events correctly.
|
2015-02-26 17:21:17 +00:00 |
|
Kegan Dougal
|
dcec7175dc
|
Finish impl to get new events for AS. ASes should now be able to poll /events
|
2015-02-26 16:23:01 +00:00 |
|