Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								cb5c37a57c 
								
							
								 
							
						 
						
							
							
								
								handle the edge case for _get_some_state_from_cache where types is []  
							
							 
							
							
							
						 
						
							2018-07-24 20:34:45 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								e22700c3dd 
								
							
								 
							
						 
						
							
							
								
								consider non-filter_type types as wildcards, thus missing from the state-group-cache  
							
							 
							
							
							
						 
						
							2018-07-24 13:59:07 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								cd241d6bda 
								
							
								 
							
						 
						
							
							
								
								incorporate more review  
							
							 
							
							
							
						 
						
							2018-07-24 12:39:40 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								efcdacad7d 
								
							
								 
							
						 
						
							
							
								
								handle case where types is [] on postgres correctly  
							
							 
							
							
							
						 
						
							2018-07-23 22:41:05 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								254fb430d1 
								
							
								 
							
						 
						
							
							
								
								incorporate review  
							
							 
							
							
							
						 
						
							2018-07-23 19:21:20 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								2f558300cc 
								
							
								 
							
						 
						
							
							
								
								fix thinkos; unbreak tests  
							
							 
							
							
							
						 
						
							2018-07-19 19:22:27 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								bcaec2915a 
								
							
								 
							
						 
						
							
							
								
								incorporate review  
							
							 
							
							
							
						 
						
							2018-07-19 19:03:50 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								924eb34d94 
								
							
								 
							
						 
						
							
							
								
								add a filtered_types param to limit filtering to specific types  
							
							 
							
							
							
						 
						
							2018-07-19 18:32:02 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								be3adfc331 
								
							
								 
							
						 
						
							
							
								
								merge develop pydoc for _get_state_for_groups  
							
							 
							
							
							
						 
						
							2018-07-19 11:26:04 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							 
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								43e02c409d 
								
							
								 
							
						 
						
							
							
								
								Disable partial state group caching for wildcard lookups  
							
							 
							
							... 
							
							
							
							When _get_state_for_groups is given a wildcard filter, just do a complete
lookup. Hopefully this will give us the best of both worlds by not filling up
the ram if we only need one or two keys, but also making the cache still work
for the federation reader usecase. 
							
						 
						
							2018-06-22 11:52:07 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								240f192523 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3382  from matrix-org/rav/optimise_state_groups  
							
							 
							
							... 
							
							
							
							Optimise state_group_cache update 
							
						 
						
							2018-06-22 11:20:20 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								eb32b2ca20 
								
							
								 
							
						 
						
							
							
								
								Optimise state_group_cache update  
							
							 
							
							... 
							
							
							
							(1) matrix-org-hotfixes has removed the intern calls; let's do the same here.
(2) remove redundant iteritems() so we can used an optimised db update. 
							
						 
						
							2018-06-11 22:56:11 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								c96d882a02 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into matthew/filter_members  
							
							 
							
							
							
						 
						
							2018-06-10 12:26:14 +03:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								d3a8c9c55e 
								
							
								 
							
						 
						
							
							
								
								Fix sql error in _get_state_groups_from_groups  
							
							 
							
							... 
							
							
							
							If this was called with a `(type, None)` entry in types (which is supposed to
return all state of type `type`), it would explode with a sql error. 
							
						 
						
							2018-06-06 14:19:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								042eedfa2b 
								
							
								 
							
						 
						
							
							
								
								Add hacky cache factor override system  
							
							 
							
							
							
						 
						
							2018-06-04 15:39:28 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								28f09fcdd5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into matthew/filter_members  
							
							 
							
							
							
						 
						
							2018-06-04 00:09:17 +03:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								c936a52a9e 
								
									
								
							
								 
							
						 
						
							
							
								
								Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy ( #3307 )  
							
							 
							
							
							
						 
						
							2018-05-31 19:03:47 +10:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								a6c8f7c875 
								
							
								 
							
						 
						
							
							
								
								add pydoc  
							
							 
							
							
							
						 
						
							2018-05-29 01:09:55 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								9f77001e27 
								
							
								 
							
						 
						
							
							
								
								pep8  
							
							 
							
							
							
						 
						
							2018-03-14 00:07:47 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
								
								
							
							
								
							
								d144ed6ffb 
								
									
								
							
								 
							
						 
						
							
							
								
								fix bug  #2926  (loading all state for a given type from the DB if the state_key is None) ( #2990 )  
							
							 
							
							... 
							
							
							
							Fixes a regression that had crept in where the caching layer upholds requests for loading state which is filtered by type (but not by state_key), but the DB layer itself would interpret a missing state_key as a request to filter by null state_key rather than returning all state_keys. 
							
						 
						
							2018-03-13 22:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								ccca02846d 
								
							
								 
							
						 
						
							
							
								
								make it work  
							
							 
							
							
							
						 
						
							2018-03-13 22:31:41 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								f0f9a0605b 
								
							
								 
							
						 
						
							
							
								
								remove comment now  #2969  is fixed  
							
							 
							
							
							
						 
						
							2018-03-13 22:12:15 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								12350e3f9a 
								
							
								 
							
						 
						
							
							
								
								merge proper fix to bug 2969  
							
							 
							
							
							
						 
						
							2018-03-13 22:11:58 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								afbf4d3dcc 
								
							
								 
							
						 
						
							
							
								
								typoe  
							
							 
							
							
							
						 
						
							2018-03-13 19:48:04 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								865377a70d 
								
							
								 
							
						 
						
							
							
								
								disable optimisation for searching for state groups  
							
							 
							
							... 
							
							
							
							when type filter includes wildcards on state_key 
							
						 
						
							2018-03-13 19:46:04 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								b2aba9e430 
								
							
								 
							
						 
						
							
							
								
								build where_clause sanely  
							
							 
							
							
							
						 
						
							2018-03-13 18:13:44 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								52f7e23c72 
								
							
								 
							
						 
						
							
							
								
								PR feedbackz  
							
							 
							
							
							
						 
						
							2018-03-13 18:07:55 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								1b1c137771 
								
							
								 
							
						 
						
							
							
								
								fix bug  #2926  
							
							 
							
							
							
						 
						
							2018-03-13 17:52:52 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								fdedcd1f4d 
								
							
								 
							
						 
						
							
							
								
								correctly handle None state_keys  
							
							 
							
							... 
							
							
							
							and fix include_other_types thinko 
							
						 
						
							2018-03-12 01:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								97c0496cfa 
								
							
								 
							
						 
						
							
							
								
								fix sqlite where clause  
							
							 
							
							
							
						 
						
							2018-03-12 00:27:06 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								8713365265 
								
							
								 
							
						 
						
							
							
								
								typos  
							
							 
							
							
							
						 
						
							2018-03-11 20:10:25 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								9b334b3f97 
								
							
								 
							
						 
						
							
							
								
								WIP experiment in lazyloading room members  
							
							 
							
							
							
						 
						
							2018-03-11 20:01:41 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								106906a65e 
								
							
								 
							
						 
						
							
							
								
								Don't serialize current state over replication  
							
							 
							
							
							
						 
						
							2018-02-15 13:53:18 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fd1601c596 
								
							
								 
							
						 
						
							
							
								
								Fix state group storage bug in workers  
							
							 
							
							... 
							
							
							
							We needed to move `_count_state_group_hops_txn` to the
StateGroupWorkerStore. 
							
						 
						
							2018-02-15 11:04:32 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								3d33eef6fc 
								
									
								
							
								 
							
						 
						
							
							
								
								Store state groups separately from events ( #2784 )  
							
							 
							
							... 
							
							
							
							* Split state group persist into seperate storage func
* Add per database engine code for state group id gen
* Move store_state_group to StateReadStore
This allows other workers to use it, and so resolve state.
* Hook up store_state_group
* Fix tests
* Rename _store_mult_state_groups_txn
* Rename StateGroupReadStore
* Remove redundant _have_persisted_state_group_txn
* Update comments
* Comment compute_event_context
* Set start val for state_group_id_seq
... otherwise we try to recreate old state groups
* Update comments
* Don't store state for outliers
* Update comment
* Update docstring as state groups are ints 
							
						 
						
							2018-02-06 14:31:24 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								35a4b63240 
								
							
								 
							
						 
						
							
							
								
								Pull out bits of StateStore to a mixin  
							
							 
							
							... 
							
							
							
							... so that we don't need to secretly gut-wrench it for use in the slaved
stores. I haven't done the other stores yet, but we should. I'm tired of the
workers breaking every time we tweak the stores because I forgot to gut-wrench
the right method.
fixes https://github.com/matrix-org/synapse/issues/2655 . 
							
						 
						
							2017-11-14 11:43:58 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								4dd1bfa8c1 
								
							
								 
							
						 
						
							
							
								
								Revert "Revert "move _state_group_cache to statestore""  
							
							 
							
							... 
							
							
							
							We're going to fix this properly on this branch, so that the _state_group_cache
can end up in StateGroupReadStore.
This reverts commit ab335edb02 . 
							
						 
						
							2017-11-14 11:43:58 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								6cfee09be9 
								
							
								 
							
						 
						
							
							
								
								Make __init__ consitstent across Store heirarchy  
							
							 
							
							... 
							
							
							
							Add db_conn parameters to the `__init__` methods of the *Store classes, so that
they are all consistent, which makes the multiple inheritance work correctly
(and so that we can later extract mixins which can be used in the slavedstores) 
							
						 
						
							2017-11-13 10:46:07 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ab335edb02 
								
							
								 
							
						 
						
							
							
								
								Revert "move _state_group_cache to statestore"  
							
							 
							
							... 
							
							
							
							This reverts commit f5cf3638e9 . 
							
						 
						
							2017-11-13 10:05:33 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								f5cf3638e9 
								
							
								 
							
						 
						
							
							
								
								move _state_group_cache to statestore  
							
							 
							
							... 
							
							
							
							this is internal to statestore, so let's keep it there. 
							
						 
						
							2017-11-07 16:43:00 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								5946aa0877 
								
							
								 
							
						 
						
							
							
								
								Prefill forward extrems and event to state groups  
							
							 
							
							
							
						 
						
							2017-06-29 15:38:48 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8060974344 
								
							
								 
							
						 
						
							
							
								
								Fix replication  
							
							 
							
							
							
						 
						
							2017-06-09 16:40:52 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b0d975e216 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-06-09 16:25:42 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e54d7d536e 
								
							
								 
							
						 
						
							
							
								
								Cache state deltas  
							
							 
							
							
							
						 
						
							2017-06-09 16:24:00 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ea11ee09f3 
								
							
								 
							
						 
						
							
							
								
								Ensure we don't use unpersisted state group as prev group  
							
							 
							
							
							
						 
						
							2017-06-08 11:59:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6ba21bf2b8 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-06-07 11:08:36 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								dfbda5e025 
								
							
								 
							
						 
						
							
							
								
								Faster cache for get_joined_hosts  
							
							 
							
							
							
						 
						
							2017-05-25 17:24:44 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bbfe4e996c 
								
							
								 
							
						 
						
							
							
								
								Make get_state_groups_from_groups faster.  
							
							 
							
							... 
							
							
							
							Most of the time was spent copying a dict to filter out sentinel values
that indicated that keys did not exist in the dict. The sentinel values
were added to ensure that we cached the non-existence of keys.
By updating DictionaryCache to keep track of which keys were known to
not exist itself we can remove a dictionary copy. 
							
						 
						
							2017-05-17 15:12:15 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								608b5a6317 
								
							
								 
							
						 
						
							
							
								
								Take a copy before prefilling, as it may be a frozendict  
							
							 
							
							
							
						 
						
							2017-05-16 12:55:29 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e4435b014e 
								
							
								 
							
						 
						
							
							
								
								Update comment  
							
							 
							
							
							
						 
						
							2017-05-15 15:11:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								871605f4e2 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-05-15 15:11:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bfbc907cec 
								
							
								 
							
						 
						
							
							
								
								Prefill state caches  
							
							 
							
							
							
						 
						
							2017-05-15 15:11:13 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								587f07543f 
								
							
								 
							
						 
						
							
							
								
								Revert "Prefill state caches"  
							
							 
							
							
							
						 
						
							2017-05-04 15:07:27 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2c2dcf81d0 
								
							
								 
							
						 
						
							
							
								
								Update comment  
							
							 
							
							
							
						 
						
							2017-05-03 10:00:29 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1827057acc 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-05-03 09:56:05 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a2c89a225c 
								
							
								 
							
						 
						
							
							
								
								Prefill state caches  
							
							 
							
							
							
						 
						
							2017-05-02 10:40:31 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f053a1409e 
								
							
								 
							
						 
						
							
							
								
								Make state caches cache in ascii  
							
							 
							
							
							
						 
						
							2017-04-25 17:22:55 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								22f3d3ae76 
								
							
								 
							
						 
						
							
							
								
								Reduce _get_state_group_for_event cache size  
							
							 
							
							
							
						 
						
							2017-04-25 11:43:03 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e4f3431116 
								
							
								 
							
						 
						
							
							
								
								Remove unused cache  
							
							 
							
							
							
						 
						
							2017-04-24 13:27:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2a3e822f44 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-04-07 13:47:04 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d72667fcce 
								
							
								 
							
						 
						
							
							
								
								Speed up get_current_state_ids  
							
							 
							
							... 
							
							
							
							Using _simple_select_list is fairly expensive for functions that return
a lot of rows and/or get called a lot. (This is because it carefully
constructs a list of dicts).
get_current_state_ids gets called a lot on startup and e.g. when the IRC
bridge decided to send tonnes of joins/leaves (as it invalidates the
cache). We therefore replace it with a custon txn function that builds
up the final result dict without building up and intermediate
representation. 
							
						 
						
							2017-04-07 10:10:49 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3ce8d59176 
								
							
								 
							
						 
						
							
							
								
								Increase cache size for _get_state_group_for_event  
							
							 
							
							
							
						 
						
							2017-03-29 14:31:46 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d58b1ffe94 
								
							
								 
							
						 
						
							
							
								
								Replace some calls to cursor_to_dict  
							
							 
							
							... 
							
							
							
							cursor_to_dict can be surprisinglh expensive for large result sets, so lets
only call it when we need to. 
							
						 
						
							2017-03-24 11:07:02 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e71940aa64 
								
							
								 
							
						 
						
							
							
								
								Use iter(items|values)  
							
							 
							
							
							
						 
						
							2017-03-24 10:57:02 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								00957d1aa4 
								
							
								 
							
						 
						
							
							
								
								User Cursor.__iter__ instead of fetchall  
							
							 
							
							... 
							
							
							
							This prevents unnecessary construction of lists 
							
						 
						
							2017-03-23 17:53:49 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								0c01f829ae 
								
							
								 
							
						 
						
							
							
								
								Avoid resetting state on rejected events  
							
							 
							
							... 
							
							
							
							When we get a rejected event, give it the same state_group as its prev_event,
rather than no state_group at all.
This should fix https://github.com/matrix-org/synapse/issues/1935 . 
							
						 
						
							2017-03-17 15:06:08 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8ffbe43ba1 
								
							
								 
							
						 
						
							
							
								
								Get current state by using current_state_events table  
							
							 
							
							
							
						 
						
							2017-03-10 17:39:35 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								fc2f29c1d0 
								
							
								 
							
						 
						
							
							
								
								Fix bugs in the /keys/changes api  
							
							 
							
							... 
							
							
							
							* `get_forward_extremeties_for_room` takes a numeric `stream_ordering`. We were
  passing a `RoomStreamToken`, which meant that it returned the *current*
  extremities, rather than those corresponding to the `from_token`. However:
* `get_state_ids_for_events` required a second ('types') parameter; this meant
  that a `TypeError` was thrown and we ended up acting as though there was *no*
  prev state.
* `get_state_ids_for_events` actually returns a map from event_id to state
  dictionary - just looking up the state keys in it again meant that we acted
  as though there was no prev state. We now check if each member's state has
  changed since *any* of the extremities.
Also add/fix some comments. 
							
						 
						
							2017-02-14 13:59:50 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								21b7375778 
								
							
								 
							
						 
						
							
							
								
								Add an index to make membership queries faster  
							
							 
							
							
							
						 
						
							2017-01-31 15:15:57 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a55fa2047f 
								
							
								 
							
						 
						
							
							
								
								Insert delta of current_state_events to be more efficient  
							
							 
							
							
							
						 
						
							2017-01-20 17:10:18 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								897f8752da 
								
							
								 
							
						 
						
							
							
								
								Up cache max entries for state  
							
							 
							
							
							
						 
						
							2017-01-16 15:08:17 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								01521299c7 
								
							
								 
							
						 
						
							
							
								
								Increase cache size limit  
							
							 
							
							
							
						 
						
							2017-01-16 11:56:51 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2fae34bd2c 
								
							
								 
							
						 
						
							
							
								
								Optionally measure size of cache by sum of length of values  
							
							 
							
							
							
						 
						
							2017-01-13 17:46:17 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								8cfc0165e9 
								
							
								 
							
						 
						
							
							
								
								fix annoying typos  
							
							 
							
							
							
						 
						
							2017-01-05 13:39:43 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								587d8ac60f 
								
							
								 
							
						 
						
							
							
								
								Correctly intern keys in state cache  
							
							 
							
							
							
						 
						
							2016-11-08 11:53:25 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4974147aa3 
								
							
								 
							
						 
						
							
							
								
								Remove duplication  
							
							 
							
							
							
						 
						
							2016-09-27 09:27:54 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								13122e5e24 
								
							
								 
							
						 
						
							
							
								
								Remove unused variable  
							
							 
							
							
							
						 
						
							2016-09-27 09:21:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								cf3e1cc200 
								
							
								 
							
						 
						
							
							
								
								Fix perf of fetching state in SQLite  
							
							 
							
							
							
						 
						
							2016-09-26 17:16:24 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								00f51493f5 
								
							
								 
							
						 
						
							
							
								
								Fix reindex  
							
							 
							
							
							
						 
						
							2016-09-14 10:18:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d5ae1f1291 
								
							
								 
							
						 
						
							
							
								
								Ensure we don't mutate state cache entries  
							
							 
							
							
							
						 
						
							2016-09-14 10:03:48 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								03a98aff3c 
								
							
								 
							
						 
						
							
							
								
								Create new index concurrently  
							
							 
							
							
							
						 
						
							2016-09-12 14:27:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								897d57bc58 
								
							
								 
							
						 
						
							
							
								
								Change state fetch query for postgres to be faster  
							
							 
							
							... 
							
							
							
							It turns out that postgres doesn't like doing a list of OR's and is
about 1000x slower, so we just issue a query for each specific type
seperately. 
							
						 
						
							2016-09-12 10:05:07 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								5beda10bbd 
								
							
								 
							
						 
						
							
							
								
								Reindex state_groups_state after pruning  
							
							 
							
							
							
						 
						
							2016-09-08 16:18:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b568ca309c 
								
							
								 
							
						 
						
							
							
								
								Temporarily disable sequential scans for state fetching  
							
							 
							
							
							
						 
						
							2016-09-08 09:38:54 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								513188aa56 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2016-09-07 14:53:23 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fadb01551a 
								
							
								 
							
						 
						
							
							
								
								Add appopriate framing clause  
							
							 
							
							
							
						 
						
							2016-09-07 14:39:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d25c20ccbe 
								
							
								 
							
						 
						
							
							
								
								Use windowing function to make use of index  
							
							 
							
							
							
						 
						
							2016-09-07 14:22:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0595413c0f 
								
							
								 
							
						 
						
							
							
								
								Scale the batch size so that we're not bitten by the minimum  
							
							 
							
							
							
						 
						
							2016-09-05 15:49:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a7032abb2e 
								
							
								 
							
						 
						
							
							
								
								Correctly handle reindexing state groups that already have an edge  
							
							 
							
							
							
						 
						
							2016-09-05 15:07:23 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								70332a12dd 
								
							
								 
							
						 
						
							
							
								
								Take value in a better way  
							
							 
							
							
							
						 
						
							2016-09-05 14:57:14 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								373654c635 
								
							
								 
							
						 
						
							
							
								
								Comment about sqlite and WITH RECURSIVE  
							
							 
							
							
							
						 
						
							2016-09-05 14:50:36 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								628e65721b 
								
							
								 
							
						 
						
							
							
								
								Add comments  
							
							 
							
							
							
						 
						
							2016-09-05 10:41:27 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a99e933550 
								
							
								 
							
						 
						
							
							
								
								Add upgrade script that will slowly prune state_groups_state entries  
							
							 
							
							
							
						 
						
							2016-09-05 10:05:36 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								598317927c 
								
							
								 
							
						 
						
							
							
								
								Limit the length of state chains  
							
							 
							
							
							
						 
						
							2016-09-02 10:41:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9e25443db8 
								
							
								 
							
						 
						
							
							
								
								Move to storing state_groups_state as deltas  
							
							 
							
							
							
						 
						
							2016-09-01 14:31:26 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0cfd6c3161 
								
							
								 
							
						 
						
							
							
								
								Use state_groups table to test existence  
							
							 
							
							
							
						 
						
							2016-08-31 16:25:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c10cb581c6 
								
							
								 
							
						 
						
							
							
								
								Correctly handle the difference between prev and current state  
							
							 
							
							
							
						 
						
							2016-08-31 14:26:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1bb8ec296d 
								
							
								 
							
						 
						
							
							
								
								Generate state group ids in state layer  
							
							 
							
							
							
						 
						
							2016-08-31 10:09:46 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								5dc2a702cf 
								
							
								 
							
						 
						
							
							
								
								Make _state_groups_id_gen a normal IdGenerator  
							
							 
							
							
							
						 
						
							2016-08-30 16:55:11 +01:00