Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							 
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
						
					 
				
					
						
							
							
								 
								Andrew Morgan
							
						 
						
							 
							
							
							
								
							
								2d1d7b7e6f 
								
							
								 
							
						 
						
							
							
								
								Prevent multiple device list updates from breaking a batch send ( #5156 )  
							
							 
							
							... 
							
							
							
							fixes  #5153  
							
						 
						
							2019-06-06 23:54:00 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								7efd1d87c2 
								
							
								 
							
						 
						
							
							
								
								Run black on the rest of the storage module ( #4996 )  
							
							 
							
							
							
						 
						
							2019-04-03 10:07:29 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a84b8d56c2 
								
							
								 
							
						 
						
							
							
								
								Fixup slave stores  
							
							 
							
							
							
						 
						
							2019-03-04 18:04:57 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								350f654e7b 
								
							
								 
							
						 
						
							
							
								
								Add unique indexes to a couple of tables  
							
							 
							
							... 
							
							
							
							The indexes on device_lists_remote_extremeties can be unique, and they
therefore should, to ensure that the db remains consistent. 
							
						 
						
							2018-11-02 10:36:13 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								50e328d1e7 
								
							
								 
							
						 
						
							
							
								
								Remove redundant database locks for device list updates  
							
							 
							
							... 
							
							
							
							We can rely on the application-level per-user linearizer. 
							
						 
						
							2018-11-02 10:36:13 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								88e5ffe6fe 
								
							
								 
							
						 
						
							
							
								
								Deduplicate device updates sent over replication  
							
							 
							
							... 
							
							
							
							We currently send several kHz of device list updates over replication
occisonally, which often causes the replications streams to lag and then
get dropped.
A lot of those updates will actually be duplicates, since we don't send
e.g. device_ids across replication, so let's deduplicate it when we pull
them out of the database. 
							
						 
						
							2018-10-29 17:34:34 +00:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								14e4d4f4bf 
								
									
								
							
								 
							
						 
						
							
							
								
								Port storage/ to Python 3 ( #3725 )  
							
							 
							
							
							
						 
						
							2018-08-31 00:19:58 +10:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								03751a6420 
								
							
								 
							
						 
						
							
							
								
								Fix some looping_call calls which were broken in  #3604  
							
							 
							
							... 
							
							
							
							It turns out that looping_call does check the deferred returned by its
callback, and (at least in the case of client_ips), we were relying on this,
and I broke it in #3604 .
Update run_as_background_process to return the deferred, and make sure we
return it to clock.looping_call. 
							
						 
						
							2018-07-26 11:48:08 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								371da42ae4 
								
							
								 
							
						 
						
							
							
								
								Wrap a number of things that run in the background  
							
							 
							
							... 
							
							
							
							This will reduce the number of "Starting db connection from sentinel context"
warnings, and will help with our metrics. 
							
						 
						
							2018-07-25 09:41:12 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								9e40834f74 
								
							
								 
							
						 
						
							
							
								
								yes, we do need to invalidate the device_id_exists_cache when deleting a remote device  
							
							 
							
							
							
						 
						
							2018-07-19 11:15:10 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								12ec58301f 
								
							
								 
							
						 
						
							
							
								
								shift to using an explicit deleted flag on m.device_list_update EDUs  
							
							 
							
							... 
							
							
							
							and generally make it work. 
							
						 
						
							2018-07-12 11:39:43 +01:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								5797f5542b 
								
							
								 
							
						 
						
							
							
								
								WIP to announce deleted devices over federation  
							
							 
							
							... 
							
							
							
							Previously we queued up the poke correctly when the device was deleted,
but then the actual EDU wouldn't get sent, as the device was no longer known.
Instead, we now send EDUs for deleted devices too if there's a poke for them. 
							
						 
						
							2018-07-12 01:32:39 +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  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								933bf2dd35 
								
							
								 
							
						 
						
							
							
								
								replace some iteritems with six  
							
							 
							
							... 
							
							
							
							Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-05-19 17:59:26 +02:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								926ba76e23 
								
							
								 
							
						 
						
							
							
								
								Replace ujson with simplejson  
							
							 
							
							
							
						 
						
							2018-03-15 23:43:31 +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
							
						 
						
							 
							
							
							
								
							
								64ed74c01e 
								
							
								 
							
						 
						
							
							
								
								When pruning, delete from device_lists_outbound_last_success  
							
							 
							
							
							
						 
						
							2017-06-07 11:20:47 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1a81a1898e 
								
							
								 
							
						 
						
							
							
								
								Keep pruning background task  
							
							 
							
							
							
						 
						
							2017-06-07 11:16:56 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								65f0513a33 
								
							
								 
							
						 
						
							
							
								
								Split up device_lists_outbound_pokes table for faster updates.  
							
							 
							
							
							
						 
						
							2017-06-07 11:02:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6a12998a83 
								
							
								 
							
						 
						
							
							
								
								Add missing yields  
							
							 
							
							
							
						 
						
							2017-05-08 16:10:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								94e6ad71f5 
								
							
								 
							
						 
						
							
							
								
								Invalidate cache on device deletion  
							
							 
							
							
							
						 
						
							2017-05-08 15:55:59 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fc6d4974a6 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-05-08 15:33:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								738ccf61c0 
								
							
								 
							
						 
						
							
							
								
								Cache check to see if device exists  
							
							 
							
							
							
						 
						
							2017-05-08 15:32:18 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								24d35ab47b 
								
							
								 
							
						 
						
							
							
								
								Add new storage functions for new replication  
							
							 
							
							... 
							
							
							
							The new replication protocol will keep all the streams separate, rather
than muxing multiple streams into one. 
							
						 
						
							2017-03-30 11:48:35 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2a28b79e04 
								
							
								 
							
						 
						
							
							
								
								Batch sending of device list pokes  
							
							 
							
							
							
						 
						
							2017-03-24 14:44:49 +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
							
						 
						
							 
							
							
							
								
							
								29ed09e80a 
								
							
								 
							
						 
						
							
							
								
								Fix assertion to stop transaction queue getting wedged  
							
							 
							
							... 
							
							
							
							... and update some docstrings to correctly reflect the types being used.
get_new_device_msgs_for_remote can return a long under some circumstances,
which was being stored in last_device_list_stream_id_by_dest, and was then
upsetting things on the next loop. 
							
						 
						
							2017-03-15 12:16:55 +00:00  
						
					 
				
					
						
							
							
								 
								Luke Barnard
							
						 
						
							 
							
							
							
								
							
								bbeeb97f75 
								
							
								 
							
						 
						
							
							
								
								Implement _simple_delete_many_txn, use it to delete devices  
							
							 
							
							... 
							
							
							
							(But this doesn't implement the same for deleting access tokens or e2e keys.
Also respond to code review. 
							
						 
						
							2017-03-13 17:53:23 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ac5491f563 
								
							
								 
							
						 
						
							
							
								
								Select distinct devices from DB  
							
							 
							
							... 
							
							
							
							Otherwise we might pull out tonnes of duplicate user_ids and this can
make synapse sad. 
							
						 
						
							2017-03-06 11:10:14 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								da52d3af31 
								
							
								 
							
						 
						
							
							
								
								Fix up  
							
							 
							
							
							
						 
						
							2017-03-03 15:29:13 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d766343668 
								
							
								 
							
						 
						
							
							
								
								Add index to device_lists_stream  
							
							 
							
							
							
						 
						
							2017-03-01 15:56:30 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3365117151 
								
							
								 
							
						 
						
							
							
								
								Clobber old device list stream entries  
							
							 
							
							
							
						 
						
							2017-03-01 10:21:30 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8a12b6f1eb 
								
							
								 
							
						 
						
							
							
								
								Fix up txn name  
							
							 
							
							
							
						 
						
							2017-02-28 10:15:50 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f58dbb02a6 
								
							
								 
							
						 
						
							
							
								
								Cache get_user_devices_from_cache  
							
							 
							
							
							
						 
						
							2017-02-27 16:22:12 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ab55794b6f 
								
							
								 
							
						 
						
							
							
								
								Fix deletion of old sent devices correctly  
							
							 
							
							
							
						 
						
							2017-01-31 13:22:41 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d3169e8d28 
								
							
								 
							
						 
						
							
							
								
								Only fetch with row ts and count > 1  
							
							 
							
							
							
						 
						
							2017-01-31 11:20:03 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								05b9f48ee5 
								
							
								 
							
						 
						
							
							
								
								Fix clearing out old device list outbound pokes  
							
							 
							
							
							
						 
						
							2017-01-31 10:08:55 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c2c9a78db9 
								
							
								 
							
						 
						
							
							
								
								Noop device key changes if they're the same  
							
							 
							
							
							
						 
						
							2017-01-30 16:55:04 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e75a779d9e 
								
							
								 
							
						 
						
							
							
								
								Fix query  
							
							 
							
							
							
						 
						
							2017-01-30 16:38:20 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3670025e64 
								
							
								 
							
						 
						
							
							
								
								Rename func  
							
							 
							
							
							
						 
						
							2017-01-30 14:11:31 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d360c97ae1 
								
							
								 
							
						 
						
							
							
								
								Clear out old destination pokes.  
							
							 
							
							
							
						 
						
							2017-01-30 10:14:37 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								76100203ab 
								
							
								 
							
						 
						
							
							
								
								Always use the latest stream_id, sent or unsent  
							
							 
							
							
							
						 
						
							2017-01-30 10:14:25 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d1e1fd6210 
								
							
								 
							
						 
						
							
							
								
								Add ts column to device_lists_outbound_pokes  
							
							 
							
							
							
						 
						
							2017-01-27 15:23:48 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								252b503fc8 
								
							
								 
							
						 
						
							
							
								
								Hook device list updates to replication  
							
							 
							
							
							
						 
						
							2017-01-27 14:31:35 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								84a35f32c7 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-01-27 10:35:12 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								738a2867c8 
								
							
								 
							
						 
						
							
							
								
								SQL param ordering  
							
							 
							
							
							
						 
						
							2017-01-27 10:31:29 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								755adff0e4 
								
							
								 
							
						 
						
							
							
								
								User if rather than for  
							
							 
							
							
							
						 
						
							2017-01-27 10:31:06 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								888c59c955 
								
							
								 
							
						 
						
							
							
								
								Better name  
							
							 
							
							
							
						 
						
							2017-01-27 10:29:47 +00:00