Mark Haines
77cba688ed
Fix typo
2016-03-24 18:02:37 +00:00
Mark Haines
191c7bef6b
Deduplicate identical /sync requests
2016-03-24 17:47:31 +00:00
Erik Johnston
8122ad7bab
Simplify intern_dict
2016-03-23 16:41:54 +00:00
Erik Johnston
acdfef7b14
Intern all the things
2016-03-23 16:25:54 +00:00
Erik Johnston
75daede92f
String intern
2016-03-23 14:53:53 +00:00
Erik Johnston
c4a8cbd15a
Make LruCache use a dedicated _Node class
2016-03-22 16:06:21 +00:00
Erik Johnston
a547e2df85
Return list, not generator.
2016-03-14 15:30:19 +00:00
Mark Haines
239badea9b
Use syntax that works on both py2.7 and py3
2016-03-07 20:13:10 +00:00
Erik Johnston
374f9b2f07
Limit stream change cache size too
2016-03-01 13:30:15 +00:00
Erik Johnston
ce2cdced61
Move cache size fiddling to descriptors only. Fix tests
2016-03-01 13:21:46 +00:00
Erik Johnston
910fc0f28f
Add enviroment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
2016-03-01 12:56:39 +00:00
Erik Johnston
72165e5b77
Reraise exception
2016-03-01 11:00:10 +00:00
Erik Johnston
ff2d7551c7
Correct cache miss detection
2016-03-01 10:59:17 +00:00
Erik Johnston
278d6c0527
Report size of ExpiringCache
2016-02-23 16:46:21 +00:00
Erik Johnston
c77dae7a1a
Change the way we figure out presence updates for small deltas
2016-02-23 14:54:40 +00:00
Erik Johnston
5614b4dafb
Add presence metrics
2016-02-19 09:50:54 +00:00
Erik Johnston
b8cdec92c7
WheelTimer: Don't scan list, use index.
2016-02-18 16:33:07 +00:00
Erik Johnston
e5999bfb1a
Initial cut
2016-02-17 15:40:50 +00:00
Erik Johnston
9e7900da1e
Add wheeltimer impl
2016-02-17 14:29:28 +00:00
Erik Johnston
e557dc80b8
Merge pull request #566 from matrix-org/erikj/logcontext
...
Don't bother copying records on parent context
2016-02-10 11:41:45 +00:00
Erik Johnston
4eb8f9ca8a
Remove comment
2016-02-10 11:29:21 +00:00
Erik Johnston
00c9ad49df
s/parent_context/previous_context/
2016-02-10 11:25:19 +00:00
Erik Johnston
9777c5f49a
Set parent context on instansiation
2016-02-10 11:23:32 +00:00
Erik Johnston
82631c5f94
Fix unit tests
2016-02-09 13:50:37 +00:00
Erik Johnston
9daa4e2a85
Don't create new logging context
2016-02-09 11:06:19 +00:00
Erik Johnston
3e2fcd67b2
Don't bother copying records on parent context
2016-02-09 10:50:31 +00:00
Erik Johnston
241b71852e
Fix bug in util.metrics.Measure
2016-02-09 10:28:13 +00:00
Erik Johnston
97294ef2fd
Create new context when measuring
2016-02-09 10:12:00 +00:00
Erik Johnston
c486b7b41c
Change logcontext warns to debug
2016-02-09 09:20:38 +00:00
Erik Johnston
2c1fbea531
Fix up logcontexts
2016-02-08 14:26:45 +00:00
Erik Johnston
13e6262659
Add metrics to pushers
2016-02-08 14:26:45 +00:00
Erik Johnston
d4f72a5bfb
Allowing tagging log contexts
2016-02-03 13:52:27 +00:00
Daniel Wagner-Hall
d83d004ccd
Fix flake8 warnings for new flake8
2016-02-02 17:18:50 +00:00
Erik Johnston
e70165039c
If stream pos is greater then earliest known key and entity hasn't changed, then entity hasn't changed
2016-01-29 16:41:32 +00:00
Erik Johnston
18579534ea
Prefill stream change caches
2016-01-29 14:37:59 +00:00
Erik Johnston
b18114e19e
Merge pull request #536 from matrix-org/erikj/sync
...
Make /sync "better".
2016-01-29 13:04:51 +00:00
Erik Johnston
fb7299800f
Directly set self.value
2016-01-29 11:29:14 +00:00
Erik Johnston
c046630c33
Remove spurious self.size
2016-01-29 11:17:54 +00:00
Erik Johnston
a30364c1f9
Correctly bookkeep the size of TreeCache
2016-01-29 10:44:46 +00:00
Erik Johnston
766526e114
Make TreeCache keep track of its own size.
2016-01-29 10:11:21 +00:00
Erik Johnston
50e18938a9
Reset size on clear
2016-01-29 10:00:45 +00:00
Erik Johnston
3f5dd18bd4
If the same as the earliest key, assume nothing has changed.
2016-01-28 18:11:41 +00:00
Erik Johnston
40431251cb
Correctly update _entity_to_key
2016-01-28 18:05:43 +00:00
Erik Johnston
82cf3a8043
Fix inequalities
2016-01-28 17:44:04 +00:00
Erik Johnston
0663c5bd52
Include cache hits with has_entity_changed
2016-01-28 17:27:28 +00:00
Erik Johnston
45cf827c8f
Change name and doc has_entity_changed
2016-01-28 16:39:18 +00:00
Erik Johnston
00cb3eb24b
Cache tags and account data
2016-01-28 16:37:41 +00:00
Erik Johnston
c23a8c7833
Ensure keys to RoomStreamChangeCache are ints
2016-01-28 15:55:26 +00:00
Erik Johnston
e1941442d4
Invalidate caches properly. Remove unused arg
2016-01-28 15:02:41 +00:00
Erik Johnston
b97f6626b6
Add cache to room stream
2016-01-27 17:33:26 +00:00
David Baker
7cd418d38e
Don't add the member functiopn if we're not using treecache
2016-01-22 13:40:37 +00:00
David Baker
cd80019eec
docs
2016-01-22 12:21:13 +00:00
David Baker
d552861346
Revert all the bits changing keys of eeverything that used LRUCaches to tuples
2016-01-22 12:18:14 +00:00
David Baker
10f76dc5da
Make LRU cache not default to treecache & add options to use it
2016-01-22 12:10:33 +00:00
David Baker
5b142788d2
Add __contains__
2016-01-22 11:49:59 +00:00
David Baker
eaa836e8ca
Docs for treecache
2016-01-22 11:47:22 +00:00
David Baker
8acc5cb60f
Add invalidate_many here too
2016-01-22 11:22:32 +00:00
David Baker
330be18ec5
peppate
2016-01-21 19:17:32 +00:00
David Baker
f1f8122120
Change LRUCache to be tree-based so we can delete subtrees.
2016-01-21 19:16:25 +00:00
Matthew Hodgson
6c28ac260c
copyrights
2016-01-07 04:26:29 +00:00
Mark Haines
d12c00bdc3
Add some docstring explaining the snapshot cache does
2015-12-23 15:18:11 +00:00
Mark Haines
7fa71e3267
Add a unit test for the snapshot cache
2015-12-23 11:48:03 +00:00
Mark Haines
9ac417fa88
Add a cache for initialSync responses that expires after 5 minutes
2015-12-22 18:27:56 +00:00
Mark Haines
6a5ff5f223
Track the time spent in the database per request.
...
and track the number of transactions that request started.
2015-12-07 17:56:11 +00:00
Mark Haines
3dd1630848
Add a setter for the current log context.
...
Move the resource tracking inside that setter so that it is easier
to make sure that the resource tracking isn't double counting the
resource usage.
2015-12-07 10:51:18 +00:00
Mark Haines
5231737369
Add comments to explain why we are hardcoding RUSAGE_THREAD
2015-12-04 11:53:38 +00:00
Mark Haines
d6059bdd2a
Fix warnings
2015-12-04 11:34:23 +00:00
Mark Haines
48a2526d62
Track the cpu used in the main thread by each logging context
2015-12-03 21:03:01 +00:00
Mark Haines
a412b9a465
Run the background updates when starting synapse.
2015-11-10 15:50:58 +00:00
Daniel Wagner-Hall
2cebe53545
Exchange 3pid invites for m.room.member invites
2015-11-05 16:43:19 +00:00
Erik Johnston
5bc690408d
Merge pull request #340 from matrix-org/erikj/server_retries
...
Retry dead servers a lot less often
2015-11-05 16:15:50 +00:00
Mark Haines
c452dabc3d
Remove the LockManager class because it wasn't being used
2015-11-04 14:08:15 +00:00
Erik Johnston
eacb068ac2
Retry dead servers a lot less often
2015-11-02 16:56:30 +00:00
Daniel Wagner-Hall
9261ef3a15
Merge pull request #312 from matrix-org/daniel/3pidinvites
...
Stuff signed data in a standalone object
2015-10-19 15:52:34 +01:00
Mark Haines
9371a35e89
Merge pull request #306 from matrix-org/markjh/unused_methods
...
Remove some login classes from synapse.
2015-10-16 18:18:41 +01:00
Daniel Wagner-Hall
0e5239ffc3
Stuff signed data in a standalone object
...
Makes both generating it in sydent, and verifying it here, simpler at
the cost of some repetition
2015-10-16 17:45:48 +01:00
Daniel Wagner-Hall
c225d63e9e
Add signing host and keyname to signatures
2015-10-16 15:07:56 +01:00
Daniel Wagner-Hall
b8dd5b1a2d
Verify third party ID server certificates
2015-10-16 14:54:54 +01:00
Daniel Wagner-Hall
643b5fcdc8
Look for keys on the right objects
2015-10-15 13:10:30 +01:00
Daniel Wagner-Hall
f38df51e8d
Merge branch 'develop' into daniel/3pidinvites
2015-10-15 11:51:55 +01:00
Mark Haines
5338220d3a
synapse.util.emailutils was unused
2015-10-15 10:39:33 +01:00
Daniel Wagner-Hall
d82c5f7b5c
Use more descriptive error code
2015-10-13 18:02:00 +01:00
Daniel Wagner-Hall
0c38e8637f
Remove unnecessary class-wrapping
2015-10-13 18:00:38 +01:00
Mark Haines
32d66738b0
Fix pep8 warnings.
2015-10-13 17:18:29 +01:00
Mark Haines
7639c3d9e5
Bounce all deferreds through the reactor to make debugging easier.
...
If all deferreds wait a reactor tick before resolving then there is
always a chance to add an errback to the deferred so that stacktraces
get reported, rather than being discarded.
2015-10-13 17:13:04 +01:00
Daniel Wagner-Hall
17dffef5ec
Move event contents into third_party_layout field
2015-10-13 15:48:12 +01:00
Daniel Wagner-Hall
5b3e9713dd
Implement third party identifier invites
2015-10-01 17:49:52 +01:00
Mark Haines
372ac60375
synapse/util/__init__.py:unwrap_deferred was unused
2015-09-22 18:16:07 +01:00
Mark Haines
e85c7873dc
Allow non-ascii filenames for attachments
2015-08-26 16:26:37 +01:00
Erik Johnston
8e254862f4
Don't assume @cachedList function returns keys for everything
2015-08-18 11:11:33 +01:00
Erik Johnston
cfa62007a3
Docstring
2015-08-12 16:42:46 +01:00
Erik Johnston
d7451e0f22
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dictionary_cache
2015-08-12 10:30:30 +01:00
Erik Johnston
4807616e16
Wire up the dictionarycache to the metrics
2015-08-12 10:13:35 +01:00
Erik Johnston
2df8dd9b37
Move all the caches into their own package, synapse.util.caches
2015-08-11 18:00:59 +01:00
Erik Johnston
dcefac3b06
Comments
2015-08-10 14:16:24 +01:00
Erik Johnston
f596ff402e
Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cache
2015-08-06 13:37:56 +01:00
Erik Johnston
7eea3e356f
Make @cached cache deferreds rather than the deferreds' values
2015-08-06 13:33:34 +01:00
Erik Johnston
07507643cb
Use dictionary cache to do group -> state fetching
2015-08-05 15:11:42 +01:00
Erik Johnston
c67ba143fa
Move DictionaryCache
2015-08-04 15:58:28 +01:00
Erik Johnston
9beaedd164
Enforce ascii filenames for uploads
2015-06-30 10:31:59 +01:00