ba214a5e32 
								
							
								 
							
						 
						
							
							
								
								Remove lru option  
							
							
							
						 
						
							2016-08-19 14:17:11 +01:00  
				
					
						
							
							
								 
						
							
							
								61c7edfd34 
								
							
								 
							
						 
						
							
							
								
								Add cache to _get_state_groups_from_groups  
							
							
							
						 
						
							2016-04-19 17:22:03 +01:00  
				
					
						
							
							
								 
						
							
							
								87f2dec8d4 
								
							
								 
							
						 
						
							
							
								
								Make the cache objects be per instance rather than being global  
							
							
							
						 
						
							2016-04-06 13:08:05 +01:00  
				
					
						
							
							
								 
						
							
							
								89e6839a48 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #686  from matrix-org/markjh/doc_strings  
							
							... 
							
							
							
							Use google style doc strings. 
							
						 
						
							2016-04-01 16:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								2a37467fa1 
								
							
								 
							
						 
						
							
							
								
								Use google style doc strings.  
							
							... 
							
							
							
							pycharm supports them so there is no need to use the other format.
Might as well convert the existing strings to reduce the risk of
people accidentally cargo culting the wrong doc string format. 
							
						 
						
							2016-04-01 16:12:07 +01:00  
				
					
						
							
							
								 
						
							
							
								e36bfbab38 
								
							
								 
							
						 
						
							
							
								
								Use a stream id generator for backfilled ids  
							
							
							
						 
						
							2016-04-01 13:29:05 +01:00  
				
					
						
							
							
								 
						
							
							
								31a9eceda5 
								
							
								 
							
						 
						
							
							
								
								Add a replication stream for state groups  
							
							
							
						 
						
							2016-03-30 16:01:58 +01:00  
				
					
						
							
							
								 
						
							
							
								1e25f62ee6 
								
							
								 
							
						 
						
							
							
								
								Use a stream id generator to assign state group ids  
							
							
							
						 
						
							2016-03-30 12:55:02 +01:00  
				
					
						
							
							
								 
						
							
							
								2f0180b09e 
								
							
								 
							
						 
						
							
							
								
								Don't bother interning keys that are already interned  
							
							
							
						 
						
							2016-03-23 16:29:46 +00:00  
				
					
						
							
							
								 
						
							
							
								acdfef7b14 
								
							
								 
							
						 
						
							
							
								
								Intern all the things  
							
							
							
						 
						
							2016-03-23 16:25:54 +00:00  
				
					
						
							
							
								 
						
							
							
								75daede92f 
								
							
								 
							
						 
						
							
							
								
								String intern  
							
							
							
						 
						
							2016-03-23 14:53:53 +00:00  
				
					
						
							
							
								 
						
							
							
								8b0dfc9fc4 
								
							
								 
							
						 
						
							
							
								
								Don't cache events in get_current_state_for_key  
							
							
							
						 
						
							2016-03-23 11:42:17 +00:00  
				
					
						
							
							
								 
						
							
							
								2c86187a1b 
								
							
								 
							
						 
						
							
							
								
								Don't cache events in _state_group_cache  
							
							... 
							
							
							
							Instead, simply cache the event ids, relying on the event cache to cache
the actual events.
The problem was that while the state groups cache was limited in the
number of groups it could hold, each individual group could consist of
thousands of events. 
							
						 
						
							2016-03-22 12:00:09 +00:00  
				
					
						
							
							
								 
						
							
							
								54172924c8 
								
							
								 
							
						 
						
							
							
								
								Load the current id in the IdGenerator constructor  
							
							... 
							
							
							
							Rather than loading them lazily. This allows us to remove all
the yield statements and spurious arguments for the get_next
methods.
It also allows us to replace all instances of get_next_txn with
get_next since get_next no longer needs to access the db. 
							
						 
						
							2016-03-01 14:32:56 +00:00  
				
					
						
							
							
								 
						
							
							
								5189bfdef4 
								
							
								 
							
						 
						
							
							
								
								Batch fetch _get_state_groups_from_groups  
							
							
							
						 
						
							2016-02-10 13:24:42 +00:00  
				
					
						
							
							
								 
						
							
							
								24f00a6c33 
								
							
								 
							
						 
						
							
							
								
								Use _simple_select_many for _get_state_group_for_events  
							
							
							
						 
						
							2016-02-10 12:57:50 +00:00  
				
					
						
							
							
								 
						
							
							
								6c28ac260c 
								
							
								 
							
						 
						
							
							
								
								copyrights  
							
							
							
						 
						
							2016-01-07 04:26:29 +00:00  
				
					
						
							
							
								 
						
							
							
								fddedd51d9 
								
							
								 
							
						 
						
							
							
								
								Fix a few race conditions in the state calculation  
							
							... 
							
							
							
							Be a bit more careful about how we calculate the state to be returned by
/sync. In a few places, it was possible for /sync to return slightly later
state than that represented by the next_batch token and the timeline. In
particular, the following cases were susceptible:
* On a full state sync, for an active room
* During a per-room incremental sync with a timeline gap
* When the user has just joined a room. (Refactor check_joined_room to make it
  less magical)
Also, use store.get_state_for_events() (and thus the existing stategroups) to
calculate the state corresponding to a particular sync position, rather than
state_handler.compute_event_context(), which recalculates from first principles
(and tends to miss some state).
Merged from PR https://github.com/matrix-org/synapse/pull/372  
							
						 
						
							2015-11-13 10:39:09 +00:00  
				
					
						
							
							
								 
						
							
							
								927004e349 
								
							
								 
							
						 
						
							
							
								
								Remove unused room_id parameter  
							
							
							
						 
						
							2015-10-12 15:06:14 +01:00  
				
					
						
							
							
								 
						
							
							
								1cd65a8d1e 
								
							
								 
							
						 
						
							
							
								
								synapse/storage/state.py: _make_group_id was unused  
							
							
							
						 
						
							2015-09-23 10:37:58 +01:00  
				
					
						
							
							
								 
						
							
							
								1bd1a43073 
								
							
								 
							
						 
						
							
							
								
								Actually check if event_id isn't returned by _get_state_groups  
							
							
							
						 
						
							2015-08-21 14:30:34 +01:00  
				
					
						
							
							
								 
						
							
							
								a82938416d 
								
							
								 
							
						 
						
							
							
								
								Remove newline because vertical whitespace makes mjark sad  
							
							
							
						 
						
							2015-08-18 16:28:13 +01:00  
				
					
						
							
							
								 
						
							
							
								0bfdaf1f4f 
								
							
								 
							
						 
						
							
							
								
								Rejig the code to make it nicer  
							
							
							
						 
						
							2015-08-18 16:26:07 +01:00  
				
					
						
							
							
								 
						
							
							
								8199475ce0 
								
							
								 
							
						 
						
							
							
								
								Ensure we never return a None event from _get_state_for_groups  
							
							
							
						 
						
							2015-08-18 11:44:10 +01:00  
				
					
						
							
							
								 
						
							
							
								85d0bc3bdc 
								
							
								 
							
						 
						
							
							
								
								Reduce cache size from obscenely large to quite large  
							
							
							
						 
						
							2015-08-18 11:00:38 +01:00  
				
					
						
							
							
								 
						
							
							
								f9d4da7f45 
								
							
								 
							
						 
						
							
							
								
								Fix bug where we were leaking None into state event lists  
							
							
							
						 
						
							2015-08-17 09:39:45 +01:00  
				
					
						
							
							
								 
						
							
							
								2bb2c02571 
								
							
								 
							
						 
						
							
							
								
								Remove some vertical space  
							
							
							
						 
						
							2015-08-13 17:11:30 +01:00  
				
					
						
							
							
								 
						
							
							
								57877b01d7 
								
							
								 
							
						 
						
							
							
								
								Replace list comprehension  
							
							
							
						 
						
							2015-08-13 17:00:17 +01:00  
				
					
						
							
							
								 
						
							
							
								0fbed2a8fa 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2015-08-12 17:22:54 +01:00  
				
					
						
							
							
								 
						
							
							
								c10ac7806e 
								
							
								 
							
						 
						
							
							
								
								Explain why we're prefilling dict with Nones  
							
							
							
						 
						
							2015-08-12 17:16:30 +01:00  
				
					
						
							
							
								 
						
							
							
								101ee3fd00 
								
							
								 
							
						 
						
							
							
								
								Better variable name  
							
							
							
						 
						
							2015-08-12 17:08:05 +01:00  
				
					
						
							
							
								 
						
							
							
								df361d08f7 
								
							
								 
							
						 
						
							
							
								
								Split _get_state_for_group_from_cache into two  
							
							
							
						 
						
							2015-08-12 17:06:21 +01:00  
				
					
						
							
							
								 
						
							
							
								2df8dd9b37 
								
							
								 
							
						 
						
							
							
								
								Move all the caches into their own package, synapse.util.caches  
							
							
							
						 
						
							2015-08-11 18:00:59 +01:00  
				
					
						
							
							
								 
						
							
							
								53a817518b 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							
							
						 
						
							2015-08-11 11:40:40 +01:00  
				
					
						
							
							
								 
						
							
							
								1b994a97dd 
								
							
								 
							
						 
						
							
							
								
								Fix application of ACLs  
							
							
							
						 
						
							2015-08-11 10:41:40 +01:00  
				
					
						
							
							
								 
						
							
							
								10b874067b 
								
							
								 
							
						 
						
							
							
								
								Fix state cache  
							
							
							
						 
						
							2015-08-11 09:12:41 +01:00  
				
					
						
							
							
								 
						
							
							
								017b798e4f 
								
							
								 
							
						 
						
							
							
								
								Clean up StateStore  
							
							
							
						 
						
							2015-08-10 15:01:06 +01:00  
				
					
						
							
							
								 
						
							
							
								2c019eea11 
								
							
								 
							
						 
						
							
							
								
								Remove unused function  
							
							
							
						 
						
							2015-08-10 14:44:41 +01:00  
				
					
						
							
							
								 
						
							
							
								aa88582e00 
								
							
								 
							
						 
						
							
							
								
								Do bounds check  
							
							
							
						 
						
							2015-08-10 10:08:15 +01:00  
				
					
						
							
							
								 
						
							
							
								5119e416e8 
								
							
								 
							
						 
						
							
							
								
								Line length  
							
							
							
						 
						
							2015-08-10 10:05:30 +01:00  
				
					
						
							
							
								 
						
							
							
								8f04b6fa7a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'erikj/cache_varargs_interface' of github.com:matrix-org/synapse into erikj/dictionary_cache  
							
							
							
						 
						
							2015-08-07 19:30:25 +01:00  
				
					
						
							
							
								 
						
							
							
								3213ff630c 
								
							
								 
							
						 
						
							
							
								
								Remove unnecessary cache  
							
							
							
						 
						
							2015-08-07 19:14:05 +01:00  
				
					
						
							
							
								 
						
							
							
								9eb5b23d3a 
								
							
								 
							
						 
						
							
							
								
								Batch up various DB requests for event -> state  
							
							
							
						 
						
							2015-08-07 18:16:02 +01:00  
				
					
						
							
							
								 
						
							
							
								b3768ec10a 
								
							
								 
							
						 
						
							
							
								
								Remove unncessary cache  
							
							
							
						 
						
							2015-08-07 13:41:05 +01:00  
				
					
						
							
							
								 
						
							
							
								fe994e728f 
								
							
								 
							
						 
						
							
							
								
								Store absence of state in cache  
							
							
							
						 
						
							2015-08-07 10:17:38 +01:00  
				
					
						
							
							
								 
						
							
							
								3e1b77efc2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'erikj/cached_keyword_args' of github.com:matrix-org/synapse into erikj/dictionary_cache  
							
							
							
						 
						
							2015-08-05 16:45:56 +01:00  
				
					
						
							
							
								 
						
							
							
								07507643cb 
								
							
								 
							
						 
						
							
							
								
								Use dictionary cache to do group -> state fetching  
							
							
							
						 
						
							2015-08-05 15:11:42 +01:00  
				
					
						
							
							
								 
						
							
							
								413a4c289b 
								
							
								 
							
						 
						
							
							
								
								Add comment  
							
							
							
						 
						
							2015-08-04 11:08:07 +01:00  
				
					
						
							
							
								 
						
							
							
								4d6cb8814e 
								
							
								 
							
						 
						
							
							
								
								Speed up event filtering (for ACL) logic  
							
							
							
						 
						
							2015-08-04 09:32:23 +01:00  
				
					
						
							
							
								 
						
							
							
								39e21ea51c 
								
							
								 
							
						 
						
							
							
								
								Add support for using keyword arguments with cached functions  
							
							
							
						 
						
							2015-07-27 13:57:29 +01:00