Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c66a06ac6b 
								
							
								 
							
						 
						
							
							
								
								Move storage classes into a main "data store".  
							
							 
							
							... 
							
							
							
							This is in preparation for having multiple data stores that offer
different functionality, e.g. splitting out state or event storage. 
							
						 
						
							2019-10-21 16:05:06 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b161786c14 
								
							
								 
							
						 
						
							
							
								
								Replace IN usage with helper funcs  
							
							 
							
							
							
						 
						
							2019-10-10 13:15:49 +01:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
							
								
							
								0496eafbf4 
								
							
								 
							
						 
						
							
							
								
								Move roommember's bg updates to a dedicated store  
							
							 
							
							
							
						 
						
							2019-10-07 17:35:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								5119a4cac7 
								
							
								 
							
						 
						
							
							
								
								Fix bug where we didn't pull out event ID  
							
							 
							
							
							
						 
						
							2019-10-07 12:21:17 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6511071837 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/cache_memberships  
							
							 
							
							
							
						 
						
							2019-10-03 17:51:06 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								66537e10ce 
								
									
								
							
								 
							
						 
						
							
							
								
								add some metrics on the federation sender ( #6160 )  
							
							 
							
							
							
						 
						
							2019-10-03 17:47:20 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								91f61fc6d7 
								
							
								 
							
						 
						
							
							
								
								Use the right error....  
							
							 
							
							
							
						 
						
							2019-10-03 17:28:31 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								84691da6c3 
								
							
								 
							
						 
						
							
							
								
								pep8  
							
							 
							
							
							
						 
						
							2019-10-03 17:27:18 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a9610cdf02 
								
							
								 
							
						 
						
							
							
								
								Fixup names and comments  
							
							 
							
							
							
						 
						
							2019-10-03 17:26:56 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d89ebf7c25 
								
							
								 
							
						 
						
							
							
								
								cachedList descriptor doesn't like typing  
							
							 
							
							
							
						 
						
							2019-10-03 17:23:11 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c8145af8a9 
								
							
								 
							
						 
						
							
							
								
								Cache room membership lookups in _get_joined_users_from_context  
							
							 
							
							
							
						 
						
							2019-10-03 17:11:04 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								55d5b3af88 
								
									
								
							
								 
							
						 
						
							
							
								
								Servers-known-about statistic ( #5981 )  
							
							 
							
							
							
						 
						
							2019-09-07 01:45:51 +10:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								6e834e94fc 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix and refactor room and user stats ( #5971 )  
							
							 
							
							... 
							
							
							
							Previously the stats were not being correctly populated. 
							
						 
						
							2019-09-04 13:04:27 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								15056ca208 
								
							
								 
							
						 
						
							
							
								
								Fix current_state_events membership background update.  
							
							 
							
							... 
							
							
							
							Turns out not all rooms are in `rooms`, so lets fetch the room list from
`current_state_events`. We move the delta file to force it to be run
again. 
							
						 
						
							2019-07-30 14:51:41 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								7c8c3b8437 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #5774  from matrix-org/erikj/fix_rejected_membership  
							
							 
							
							... 
							
							
							
							Fix room summary when rejected events are in state 
							
						 
						
							2019-07-29 17:15:15 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								3e013b7c8e 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #5752  from matrix-org/erikj/forgotten_user  
							
							 
							
							... 
							
							
							
							Remove some more joins on room_memberships 
							
						 
						
							2019-07-29 17:15:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								df3a5db629 
								
							
								 
							
						 
						
							
							
								
								Expand comment  
							
							 
							
							
							
						 
						
							2019-07-29 16:40:25 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								45df38e61b 
								
							
								 
							
						 
						
							
							
								
								Fix current_state bg update to work on old SQLite  
							
							 
							
							
							
						 
						
							2019-07-29 13:04:10 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								14c24c9037 
								
							
								 
							
						 
						
							
							
								
								Fix room summary when rejected events are in state  
							
							 
							
							... 
							
							
							
							Annoyingly, `current_state_events` table can include rejected events,
in which case the membership column will be null. To work around this
lets just always filter out null membership for now. 
							
						 
						
							2019-07-26 10:11:36 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0c4a99607e 
								
							
								 
							
						 
						
							
							
								
								Remove join when calculating room summaries.  
							
							 
							
							
							
						 
						
							2019-07-24 11:49:15 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								62921fb53e 
								
							
								 
							
						 
						
							
							
								
								Remove join on room_memberships when fetching rooms for user.  
							
							 
							
							
							
						 
						
							2019-07-24 11:45:58 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								32768e96d4 
								
							
								 
							
						 
						
							
							
								
								Add function to get all forgotten rooms for user  
							
							 
							
							... 
							
							
							
							This will allow us to efficiently filter out rooms that have been
forgotten in other queries without having to join against the
`room_memberships` table. 
							
						 
						
							2019-07-24 11:44:23 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								4806651744 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace returnValue with return ( #5736 )  
							
							 
							
							
							
						 
						
							2019-07-23 23:00:55 +10:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b2a629ef49 
								
							
								 
							
						 
						
							
							
								
								Speed up current state background update.  
							
							 
							
							... 
							
							
							
							Turns out that storing huge JSON arrays in the progress JSON isn't
something that postgres particularly likes. 
							
						 
						
							2019-07-23 10:01:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bd2e1a2aa8 
								
							
								 
							
						 
						
							
							
								
								LoggingTransaction accepts None for callback lists.  
							
							 
							
							... 
							
							
							
							Its a bit disingenuousto give LoggingTransaction lists to append
callbacks to if we're not going to run the callbacks. 
							
						 
						
							2019-07-19 13:36:04 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8e1ada9e6f 
								
							
								 
							
						 
						
							
							
								
								Use the current_state_events.membership column  
							
							 
							
							
							
						 
						
							2019-07-18 14:16:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								059d8c1a4e 
								
							
								 
							
						 
						
							
							
								
								Track if current_state_events.membership is up to date  
							
							 
							
							
							
						 
						
							2019-07-18 14:16:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c618a5d348 
								
							
								 
							
						 
						
							
							
								
								Add background update for current_state_events.membership column  
							
							 
							
							
							
						 
						
							2019-07-18 14:16:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6de09e07a6 
								
							
								 
							
						 
						
							
							
								
								Add membership column to current_state_events table.  
							
							 
							
							... 
							
							
							
							It turns out that doing a join is surprisingly expensive for the DB to
do when room_membership table is larger than the disk cache. 
							
						 
						
							2019-07-18 14:15:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8ee69f299c 
								
							
								 
							
						 
						
							
							
								
								Add basic function to get all data for a user out of synapse  
							
							 
							
							
							
						 
						
							2019-07-02 12:09:04 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							 
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								04710cc2d7 
								
							
								 
							
						 
						
							
							
								
								Fetch membership counts all at once  
							
							 
							
							
							
						 
						
							2019-05-30 15:25:41 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								4a30e4acb4 
								
									
								
							
								 
							
						 
						
							
							
								
								Room Statistics ( #4338 )  
							
							 
							
							
							
						 
						
							2019-05-21 11:36:50 -05:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								2e060774ad 
								
									
								
							
								 
							
						 
						
							
							
								
								Run `black` on some storage modules that the stats branch touches ( #4959 )  
							
							 
							
							
							
						 
						
							2019-03-29 00:37:16 +11:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b8082a5445 
								
							
								 
							
						 
						
							
							
								
								Use term 'out of band membership' instead  
							
							 
							
							
							
						 
						
							2019-01-24 17:33:19 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								7c288c2250 
								
							
								 
							
						 
						
							
							
								
								Clarify the invite flows  
							
							 
							
							
							
						 
						
							2019-01-23 20:07:47 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								886e5acc76 
								
							
								 
							
						 
						
							
							
								
								Store rejected remote invite events as outliers  
							
							 
							
							... 
							
							
							
							Currently they're stored as non-outliers even though the server isn't in
the room, which can be problematic in places where the code assumes it
has the state for all non outlier events.
In particular, there is an edge case where persisting the leave event
triggers a state resolution, which requires looking up the room version
from state. Since the server doesn't have the state, this causes an
exception to be thrown. 
							
						 
						
							2019-01-23 20:04:57 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
								
								
							
							
								
							
								b041115415 
								
									
								
							
								 
							
						 
						
							
							
								
								Speed up lazy loading ( #3827 )  
							
							 
							
							... 
							
							
							
							* speed up room summaries by pulling their data from room_memberships rather than room state
* disable LL for incr syncs, and log incr sync stats  (#3840 ) 
							
						 
						
							2018-09-12 00:50:39 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								b37c472419 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename async to async_helpers because `async` is a keyword on Python 3.7 ( #3678 )  
							
							 
							
							
							
						 
						
							2018-08-10 23:50:21 +10:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								21e878ebb6 
								
							
								 
							
						 
						
							
							
								
								Make EventStore inherit from EventFederationStore  
							
							 
							
							... 
							
							
							
							(since it uses methods therein)
Turns out that we had a bunch of things which were incorrectly importing
EventWorkerStore from events.py rather than events_worker.py, which broke once
I removed the import into events.py. 
							
						 
						
							2018-07-26 12:48:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3188973857 
								
							
								 
							
						 
						
							
							
								
								Pull out did_forget to worker store  
							
							 
							
							
							
						 
						
							2018-07-24 16:49:14 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								4f5cc8e4e7 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_room  
							
							 
							
							
							
						 
						
							2018-07-23 17:15:12 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								dae6dc1e77 
								
							
								 
							
						 
						
							
							
								
								Remove redundant checks on room forgottenness  
							
							 
							
							... 
							
							
							
							Fixes  #3550  
							
						 
						
							2018-07-23 17:13:34 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e42510ba63 
								
							
								 
							
						 
						
							
							
								
								Use new getters  
							
							 
							
							
							
						 
						
							2018-07-23 13:17:22 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							 
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							 
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f8272813a9 
								
							
								 
							
						 
						
							
							
								
								Make _get_joined_hosts_cache cache non-iterable  
							
							 
							
							
							
						 
						
							2018-06-22 15:12:26 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								c1f4118bb6 
								
							
								 
							
						 
						
							
							
								
								Remove was_forgotten_at  
							
							 
							
							... 
							
							
							
							This is unused. IT MUST DIE!!!1
̧̪͈̱̹̳͖͙H̵̰̤̰͕̖e̛ ͚͉̗̼̞w̶̩̥͉̮h̩̺̪̩͘ͅọ͎͉̟ ̜̩͔̦̘ͅW̪̫̩̣̲͔̳a͏͔̳͖i͖͜t͓̤̠͓͙s̘̰̩̥̙̝ͅ ̲̠̬̥Be̡̙̫̦h̰̩i̛̫͙͔̭̤̗̲n̳͞d̸ ͎̻͘T̛͇̝̲̹̠̗ͅh̫̦̝ͅe̩̫͟ ͓͖̼W͕̳͎͚̙̥ą̙l̘͚̺͔͞ͅl̳͍̙̤̤̮̳.̢
̟̺̜̙͉Z̤̲̙̙͎̥̝A͎̣͔̙͘L̥̻̗̳̻̳̳͢G͉̖̯͓̞̩̦O̹̹̺!̙͈͎̞̬ * 
							
						 
						
							2018-06-01 18:21:49 +01:00  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								6c16a4ec1b 
								
							
								 
							
						 
						
							
							
								
								more iteritems  
							
							 
							
							
							
						 
						
							2018-05-24 20:19:06 +02:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								2fe3f848b9 
								
							
								 
							
						 
						
							
							
								
								Remove uses of events.content  
							
							 
							
							
							
						 
						
							2018-03-29 23:17:12 +01:00