summary refs log tree commit diff
path: root/synapse/util/caches (follow)
Commit message (Expand)AuthorAgeFilesLines
* Bump mypy from 1.5.1 to 1.8.0 (#16901)dependabot[bot]2024-03-132-2/+2
* Bump black from 23.10.1 to 24.2.0 (#16936)dependabot[bot]2024-03-132-16/+8
* Don't invalidate the entire event cache when we purge history (#16905)Erik Johnston2024-02-131-0/+59
* Correctly mention previous copyright (#16820)Erik Johnston2024-01-2311-0/+13
* Update license headersPatrick Cloke2023-11-2111-114/+176
* mypy plugin to check `@cached` return types (#14911)David Robertson2023-10-021-9/+55
* Only use literal strings for process names (#16315)Erik Johnston2023-09-151-3/+1
* Improve type hints for attrs classes (#16276)David Robertson2023-09-083-19/+21
* Merge remote-tracking branch 'origin/release-v1.91' into release-v1.92Patrick Cloke2023-09-061-22/+0
|\
| * Revert MSC3861 introspection cache, admin impersonation and account lock (#16...Quentin Gliech2023-09-061-22/+0
* | Fix typechecking with twisted trunk (#16121)David Robertson2023-08-241-1/+1
|/
* Add an admin endpoint to allow authorizing server to signal token revocations...Shay2023-08-221-0/+22
* Add metrics tracking for eviction to ResponseCache (#16028)Jason Little2023-08-011-2/+8
* Prefill events after invalidate not before when persisting events (#15758)Jason Little2023-06-141-1/+7
* Clear event caches when we purge history (#15609)Erik Johnston2023-06-081-1/+1
* Add stricter mypy options (#15694)Patrick Cloke2023-05-311-4/+2
* Improve type hints for cached decorator. (#15658)Patrick Cloke2023-05-241-2/+4
* Bump black from 22.12.0 to 23.1.0 (#15103)dependabot[bot]2023-02-221-1/+0
* Add missing type hints to tests.config. (#14681)Patrick Cloke2022-12-161-7/+2
* Improve type annotations for the helper methods on a `CachedFunction`. (#14685)reivilibre2022-12-161-3/+3
* Make `handle_new_client_event` throws `PartialStateConflictError` (#14665)Mathieu Velten2022-12-151-4/+10
* Check the stream position before checking if the cache is empty. (#14639)Patrick Cloke2022-12-081-4/+5
* Better return type for `get_all_entities_changed` (#14604)Erik Johnston2022-12-051-15/+37
* Compare to the earliest known stream pos in the stream change cache. (#14435)Patrick Cloke2022-12-051-26/+116
* Batch fetch bundled annotations (#14491)Patrick Cloke2022-11-221-1/+1
* Remove redundant types from comments. (#14412)Patrick Cloke2022-11-165-11/+12
* Remove duplicated code to evict entries. (#14410)Patrick Cloke2022-11-101-9/+2
* Remove unused `@lru_cache` decorator (#13595)Nick Mills-Barrett2022-10-251-104/+0
* Bump flake8-bugbear from 21.3.2 to 22.9.23 (#14042)dependabot[bot]2022-10-192-3/+3
* Fix `have_seen_event` cache not being invalidated (#13863)Eric Eastwood2022-09-271-0/+6
* Add cache invalidation across workers to module API (#13667)Mathieu Velten2022-09-211-7/+7
* Fix a memory leak when running the unit tests. (#13798)reivilibre2022-09-141-1/+2
* Fix cache metrics not being updated when not using the legacy exposition modu...reivilibre2022-09-081-12/+48
* Update Grafana dashboard to not use legacy metric names. (#13714)reivilibre2022-09-061-2/+2
* Add experimental configuration option to allow disabling legacy Prometheus me...reivilibre2022-08-241-8/+8
* Speed up `@cachedList` (#13591)Erik Johnston2022-08-233-141/+297
* Cache user IDs instead of profile objects (#13573)Nick Mills-Barrett2022-08-231-7/+19
* Optimise async get event lookups (#13435)Nick Mills-Barrett2022-08-041-0/+17
* Make DictionaryCache have better expiry properties (#13292)Erik Johnston2022-07-213-33/+313
* Async get event cache prep (#13242)Nick Mills-Barrett2022-07-151-0/+38
* Type `tests.utils` (#13028)David Robertson2022-07-051-1/+1
* Fix caching behavior for relations push rules. (#12859)Patrick Cloke2022-05-251-7/+8
* Add config flags to allow for cache auto-tuning (#12701)Shay2022-05-131-10/+69
* Remove unused `# type: ignore`s (#12531)David Robertson2022-04-271-1/+1
* Add more type hints to the main state store. (#12267)Patrick Cloke2022-03-311-2/+4
* Add cancellation support to `@cached` and `@cachedList` decorators (#12183)Sean Quah2022-03-141-0/+11
* Remove unnecessary pass statements. (#12206)Patrick Cloke2022-03-111-2/+0
* Allow for ignoring some arguments when caching. (#12189)Patrick Cloke2022-03-091-16/+58
* Fix 'Unhandled error in Deferred' (#12089)Richard van der Hoff2022-03-011-32/+32
* Track cache invalidations (#12000)Erik Johnston2022-02-153-1/+9
* Describe `prune_unread_entries` in docstrings (#11876)David Robertson2022-02-023-2/+17
* Use auto_attribs/native type hints for attrs classes. (#11692)Patrick Cloke2022-01-131-6/+5
* Update to the current version of Black and run it on Synapse codebase (#11596)Shay2021-12-231-1/+0
* Improve opentracing support for `ResponseCache` (#11607)Richard van der Hoff2021-12-201-35/+92
* Add missing type hints to `synapse.logging.context` (#11556)Sean Quah2021-12-141-0/+1
* Fix `LruCache` corruption bug with a `size_callback` that can return 0 (#11454)Sean Quah2021-11-301-1/+4
* Eliminate a few `Any`s in `LruCache` type hints (#11453)Sean Quah2021-11-302-17/+29
* Add type annotations to `synapse.metrics` (#10847)Sean Quah2021-11-171-1/+1
* Add most missing type hints to synapse.util (#11328)Patrick Cloke2021-11-164-45/+66
* More types for synapse.util, part 1 (#10888)David Robertson2021-10-066-49/+45
* Opt out of cache expiry for `get_users_who_share_room_with_user` (#10826)David Robertson2021-09-223-3/+20
* Track why we're evicting from caches (#10829)David Robertson2021-09-223-15/+30
* Add type hints to state database module. (#10823)Patrick Cloke2021-09-151-2/+2
* Add types to synapse.util. (#10601)reivilibre2021-09-106-35/+40
* Fix up type hints for Twisted 21.7 (#10490)Richard van der Hoff2021-07-282-4/+13
* improve typing annotations in CachedCall (#10450)Richard van der Hoff2021-07-281-10/+17
* [pyupgrade] `synapse/` (#10348)Jonathan de Jong2021-07-192-4/+2
* Use inline type hints in `http/federation/`, `storage/` and `util/` (#10381)Jonathan de Jong2021-07-1510-45/+45
* Add support for evicting cache entries based on last access time. (#10205)Erik Johnston2021-07-051-35/+202
* Extend `ResponseCache` to pass a context object into the callback (#10157)Richard van der Hoff2021-06-141-26/+73
* Combine `LruCache.invalidate` and `invalidate_many` (#9973)Richard van der Hoff2021-05-274-35/+36
* Remove `keylen` from `LruCache`. (#9993)Richard van der Hoff2021-05-244-47/+70
* Minor `@cachedList` enhancements (#9975)Richard van der Hoff2021-05-141-6/+8
* Optionally track memory usage of each LruCache (#9881)Erik Johnston2021-05-052-1/+78
* Reduce memory footprint of caches (#9886)Erik Johnston2021-04-281-18/+59
* Remove various bits of compatibility code for Python <3.6 (#9879)Andrew Morgan2021-04-271-1/+1
* Remove `synapse.types.Collection` (#9856)Richard van der Hoff2021-04-221-2/+1
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-1410-10/+0
* Bugbear: Add Mutable Parameter fixes (#9682)Jonathan de Jong2021-04-081-6/+8
* Add type hints to expiring cache. (#9730)Patrick Cloke2021-04-061-32/+51
* Update mypy configuration: `no_implicit_optional = True` (#9742)Jonathan de Jong2021-04-051-1/+3
* Add type hints to DictionaryCache and TTLCache. (#9442)Patrick Cloke2021-03-292-44/+73
* Make it possible to use dmypy (#9692)Erik Johnston2021-03-261-2/+2
* Enable addtional flake8-bugbear linting checks. (#9659)Jonathan de Jong2021-03-241-1/+1
* Add ResponseCache tests. (#9458)Jonathan de Jong2021-03-081-6/+4
* Revert "Fix #8518 (sync requests being cached wrongly on timeout) (#9358)"Patrick Cloke2021-03-021-32/+2
* Fix #8518 (sync requests being cached wrongly on timeout) (#9358)Jonathan de Jong2021-02-241-2/+32
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-163-13/+16
* Clean up caching/locking of OIDC metadata load (#9362)Richard van der Hoff2021-02-161-0/+129
* Empty iterables should count towards cache usage. (#9028)Patrick Cloke2021-01-061-1/+1
* Implement and use an @lru_cache decorator (#8595)Richard van der Hoff2020-10-301-47/+188
* Optimise CacheDescriptor (#8594) github/release-v1.21.3 release-v1.21.3Richard van der Hoff2020-10-211-5/+7
* fix failure caseRichard van der Hoff2020-10-211-1/+4
* optimise DeferredCache.setRichard van der Hoff2020-10-211-3/+12
* Push some deferred wrangling down into DeferredCacheRichard van der Hoff2020-10-212-34/+55
* Fix 'LruCache' object has no attribute '_on_resize' (#8591)Richard van der Hoff2020-10-191-1/+9
* Add `DeferredCache.get_immediate` method (#8568)Richard van der Hoff2020-10-191-10/+25
* Replace DeferredCache with LruCache where possible (#8563)Richard van der Hoff2020-10-191-0/+3
* review commentsRichard van der Hoff2020-10-161-3/+8
* Apply suggestions from code reviewRichard van der Hoff2020-10-161-1/+1
* type annotations for LruCacheRichard van der Hoff2020-10-163-23/+77
* Make LruCache register its own metrics (#8561)Richard van der Hoff2020-10-164-54/+57
* Enable mypy for synapse.util.caches (#8547)Richard van der Hoff2020-10-151-1/+1
* move DeferredCache into its own moduleRichard van der Hoff2020-10-142-282/+294
* Rename Cache->DeferredCacheRichard van der Hoff2020-10-141-7/+12
* Add some more type annotations to CacheRichard van der Hoff2020-10-142-23/+61
* Add type hints to response cache. (#8507)Patrick Cloke2020-10-091-22/+28
* Use slots in attrs classes where possible (#8296)Patrick Cloke2020-09-141-1/+1
* Stop sub-classing object (#8249)Patrick Cloke2020-09-048-16/+16
* Fix typing for `@cached` wrapped functions (#8240)Erik Johnston2020-09-031-14/+28
* Remove the unused inlineCallbacks code-paths in the caching code (#8119)Patrick Cloke2020-08-191-46/+8
* Remove unnecessary maybeDeferred calls (#8044)Patrick Cloke2020-08-071-1/+1
* Fix some spelling mistakes / typos. (#7811)Patrick Cloke2020-07-091-1/+1
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-161-3/+1
* Replace iteritems/itervalues/iterkeys with native versions. (#7692)Patrick Cloke2020-06-153-10/+4
* Don't apply cache factor to event cache. (#7578)Erik Johnston2020-05-271-0/+4
* remove miscellaneous PY2 codeRichard van der Hoff2020-05-151-6/+1
* Allow configuration of Synapse's cache without using synctl or environment va...Amber Brown2020-05-117-92/+206
* Speed up fetching device lists changes in sync.Erik Johnston2020-05-051-4/+15
* Extend StreamChangeCache to support multiple entities per stream ID (#7303)Richard van der Hoff2020-04-221-46/+71
* On catchup, process each row with its own stream id (#7286)Richard van der Hoff2020-04-201-0/+3
* Reduce amount of logging at INFO level. (#6862)Erik Johnston2020-02-061-1/+1
* look up cross-signing keys from the DB in bulk (#6486)Hubert Chathi2019-12-121-1/+1
* Remove SnapshotCache in favour of ResponseCacheErik Johnston2019-12-091-94/+0
* Fix LruCache callback deduplication (#6213)V024602019-11-071-11/+37
* Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-311-1/+1
* Update docstringErik Johnston2019-10-291-3/+2
* Quick fix to ensure cache descriptors always return deferredsErik Johnston2019-10-281-2/+2
* Fix up some typechecking (#6150)Amber Brown2019-10-023-4/+25
* Retry well-known lookup before expiry.Erik Johnston2019-08-131-3/+5
* Fix some error cases in the caching layer. (#5749)Richard van der Hoff2019-07-251-32/+42
* Add a prometheus metric for active cache lookups. (#5750)Richard van der Hoff2019-07-242-2/+33
* Replace returnValue with return (#5736)Amber Brown2019-07-232-2/+2
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-042-7/+8
* Prevent multiple upgrades on the same room at once (#5051)Andrew Morgan2019-06-251-1/+1
* Run Black. (#5482)Amber Brown2019-06-209-81/+109
* Add a caching layer to .well-known responses (#4516)Richard van der Hoff2019-01-301-0/+161
* Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase on...Amber Brown2018-10-201-1/+3
* Correctly match 'dict.pop' apiErik Johnston2018-10-011-3/+11
* Don't update eviction metrics on explicit removalErik Johnston2018-10-011-5/+0
* Merge branch 'rav/fix_expiring_cache_len' into erikj/destination_retry_cacheRichard van der Hoff2018-09-261-10/+17
|\
| * Log which cache is throwing exceptionsRichard van der Hoff2018-09-261-10/+17
| * Fix ExpiringCache.__len__ to be accurateErik Johnston2018-09-261-10/+7
* | Fix ExpiringCache.__len__ to be accurateErik Johnston2018-09-211-12/+9
* | Add a five minute cache to get_destination_retry_timingsErik Johnston2018-09-211-0/+13
* | Make ExpiringCache slightly more performantErik Johnston2018-09-211-1/+5
|/
* Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-211-1/+0
* Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-103-3/+3
* fix invalidationRichard van der Hoff2018-07-271-1/+1
* Rewrite cache list decoratorRichard van der Hoff2018-07-271-67/+64
* Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-261-1/+1
* Run things as background processesRichard van der Hoff2018-07-181-1/+5
* Use efficient .intersectionErik Johnston2018-07-171-4/+1
* Fix perf regression in PR #3530Erik Johnston2018-07-171-1/+6
* Don't return unknown entities in get_entities_changedErik Johnston2018-07-131-8/+1
* Reduce set building in get_entities_changedRichard van der Hoff2018-07-121-8/+12
* run isortAmber Brown2018-07-096-26/+23
* Revert "Revert "Try to not use as much CPU in the StreamChangeCache"" (#3454)Amber Brown2018-06-281-2/+4
* Revert "Try to not use as much CPU in the StreamChangeCache"Matthew Hodgson2018-06-261-4/+2
* fixesAmber Brown2018-06-261-2/+2
* fixesAmber Brown2018-06-261-2/+2
* try and make loading items from the cache fasterAmber Brown2018-06-261-2/+4
* Disable partial state group caching for wildcard lookupsRichard van der Hoff2018-06-221-13/+12
* Port to sortedcontainers (with tests!) (#3332)Amber Brown2018-06-061-26/+31
* Add hacky cache factor override systemErik Johnston2018-06-042-2/+12
* Consistently use six's iteritems and wrap lazy keys/values in list() if they'...Amber Brown2018-05-312-3/+5
* Merge pull request #3281 from NotAFile/py3-six-isinstanceAmber Brown2018-05-301-4/+8
|\
| * remaining isintance fixesAdrian Tschira2018-05-241-4/+8
* | add comment about why unregAmber Brown2018-05-281-0/+2
* | Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-281-1/+6
|\|
| * fix py3 intern and remove unnecessary py3 encodeAdrian Tschira2018-05-191-1/+6
* | cleanup pep8 errorsAmber Brown2018-05-221-2/+5
* | fixesAmber Brown2018-05-222-12/+30
* | replacing portionsAmber Brown2018-05-216-27/+51
|/
* Merge pull request #3093 from matrix-org/rav/response_cache_wrapRichard van der Hoff2018-04-201-14/+74
|\
| * ResponseCache: fix handling of completed resultsRichard van der Hoff2018-04-131-13/+19
| * Refactor ResponseCache usageRichard van der Hoff2018-04-121-2/+56
* | Revert "Use sortedcontainers instead of blist"Richard van der Hoff2018-04-131-2/+2
|/
* Merge pull request #3092 from matrix-org/rav/response_cache_metricsRichard van der Hoff2018-04-121-1/+13
|\
| * Add metrics for ResponseCacheRichard van der Hoff2018-04-101-1/+13
* | Merge pull request #3059 from matrix-org/rav/doc_response_cacheRichard van der Hoff2018-04-121-0/+32
|\ \
| * | Document the behaviour of ResponseCacheRichard van der Hoff2018-04-041-0/+32
* | | Use sortedcontainers instead of blistVincent Breitmoser2018-04-101-2/+2
| |/ |/|
* | Fix overzealous cache invalidationRichard van der Hoff2018-04-051-26/+38
|/
* Add commentsErik Johnston2018-03-191-0/+7
* Fix bug where state cache used lots of memoryErik Johnston2018-03-152-5/+9
* report metrics on number of cache evictionsRichard van der Hoff2018-02-053-4/+34
* Increase default cache factor size.Erik Johnston2017-07-041-1/+1
* Define CACHE_SIZE_FACTOR onceErik Johnston2017-07-042-9/+2
* Use an ExpiringCache for storing registration sessionsErik Johnston2017-06-291-0/+3
* Rewrite conditionalErik Johnston2017-06-091-1/+1
* Fix has_any_entity_changedErik Johnston2017-06-091-4/+4
* Add stream change cacheErik Johnston2017-05-311-0/+15
* Pull out if statement from for loopErik Johnston2017-05-221-6/+14
* Update list cache to handle one arg caseErik Johnston2017-05-221-17/+33
* Make get_state_groups_from_groups faster.Erik Johnston2017-05-171-11/+46
* Don't update event cache hit ratio from get_joined_usersErik Johnston2017-05-081-3/+6
* Optimise caches with single keyErik Johnston2017-05-041-9/+33
* Remove DEBUG_CACHESErik Johnston2017-04-251-2/+0
* Reduce cache size by not storing deferredsErik Johnston2017-04-251-18/+21
* Only intern ascii stringsErik Johnston2017-04-241-18/+11
* Remove unused instance variableErik Johnston2017-03-311-4/+0
* Doc new instance variablesErik Johnston2017-03-301-1/+8
* Manually calculate cache key as getcallargs is expensiveErik Johnston2017-03-301-6/+28
* Don't convert to deferreds when not necessaryErik Johnston2017-03-301-1/+4
* Fix the logcontext handling in the cache wrappers (#2077)Richard van der Hoff2017-03-301-16/+14
* Fix caching of remote servers' signature keysRichard van der Hoff2017-03-221-63/+72
* Fix assertion to stop transaction queue getting wedgedRichard van der Hoff2017-03-151-1/+1
* Add setdefault key to ExpiringCacheErik Johnston2017-03-101-0/+7
* CommentErik Johnston2017-02-021-1/+4
* CommentErik Johnston2017-02-021-0/+2
* Update LruCache size estimate on clearErik Johnston2017-01-181-0/+2
* Measure metrics of string_cacheErik Johnston2017-01-171-3/+8
* Fix typo in return typeErik Johnston2017-01-171-3/+2
* Rename and comment tree_to_leaves_iteratorErik Johnston2017-01-172-5/+8
* Remove needless call to evict()Erik Johnston2017-01-171-1/+0
* Speed up cache size calculationErik Johnston2017-01-175-46/+128
* Use OrderedDict in ExpiringCacheErik Johnston2017-01-161-10/+4
* Add support for 'iterable' to ExpiringCacheErik Johnston2017-01-161-9/+17
* Optionally measure size of cache by sum of length of valuesErik Johnston2017-01-132-19/+38
* Change get_pos_of_last_change to return upper boundErik Johnston2016-09-151-3/+4
* Use stream_change cache to make get_forward_extremeties_for_room cache more e...Erik Johnston2016-09-151-0/+5
* Ensure invalidation list does not grow unboundedlyErik Johnston2016-08-192-20/+16
* Rename to on_invalidateErik Johnston2016-08-191-16/+10
* Make cache_context an explicit optionErik Johnston2016-08-191-8/+27
* Remove lru optionErik Johnston2016-08-191-23/+8
* Add concept of cache contextsErik Johnston2016-08-193-20/+99
* Cache federation state responsesErik Johnston2016-07-211-2/+11
* Merge branch 'erikj/cache_perf' of github.com:matrix-org/synapse into developErik Johnston2016-06-031-10/+25
|\
| * Pull out update_results_dictErik Johnston2016-06-031-8/+7
| * Small optimisation to CacheListDescriptorErik Johnston2016-06-031-2/+2
| * Make cachedList go a bit fasterErik Johnston2016-06-031-10/+34
* | Change CacheMetrics to be quickerErik Johnston2016-06-035-25/+44
|/
* Deduplicate joinsErik Johnston2016-04-071-1/+1
* Make the cache objects be per instance rather than being globalMark Haines2016-04-061-21/+24
* Fix typoMark Haines2016-03-241-1/+1
* Deduplicate identical /sync requestsMark Haines2016-03-241-0/+46
* Simplify intern_dictErik Johnston2016-03-231-17/+10
* Intern all the thingsErik Johnston2016-03-231-1/+57
* String internErik Johnston2016-03-231-0/+8
* Make LruCache use a dedicated _Node classErik Johnston2016-03-221-32/+41
* Return list, not generator.Erik Johnston2016-03-141-3/+1
* Use syntax that works on both py2.7 and py3Mark Haines2016-03-071-1/+1
* Limit stream change cache size tooErik Johnston2016-03-011-1/+5
* Move cache size fiddling to descriptors only. Fix testsErik Johnston2016-03-011-2/+2
* Add enviroment variable SYNAPSE_CACHE_FACTOR, default it to 0.1Erik Johnston2016-03-011-0/+6
* Reraise exceptionErik Johnston2016-03-011-0/+1
* Correct cache miss detectionErik Johnston2016-03-011-1/+1
* Report size of ExpiringCacheErik Johnston2016-02-231-2/+13
* Change the way we figure out presence updates for small deltasErik Johnston2016-02-231-0/+16