a84b8d56c2 
								
							
								 
							
						 
						
							
							
								
								Fixup slave stores  
							
							
							
						 
						
							2019-03-04 18:04:57 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								14e4d4f4bf 
								
									
								
							
								 
							
						 
						
							
							
								
								Port storage/ to Python 3 ( #3725 )  
							
							
							
						 
						
							2018-08-31 00:19:58 +10:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
				
					
						
							
							
								 
						
							
							
								933bf2dd35 
								
							
								 
							
						 
						
							
							
								
								replace some iteritems with six  
							
							... 
							
							
							
							Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-05-19 17:59:26 +02:00  
				
					
						
							
							
								 
						
							
							
								926ba76e23 
								
							
								 
							
						 
						
							
							
								
								Replace ujson with simplejson  
							
							
							
						 
						
							2018-03-15 23:43:31 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								64ed74c01e 
								
							
								 
							
						 
						
							
							
								
								When pruning, delete from device_lists_outbound_last_success  
							
							
							
						 
						
							2017-06-07 11:20:47 +01:00  
				
					
						
							
							
								 
						
							
							
								1a81a1898e 
								
							
								 
							
						 
						
							
							
								
								Keep pruning background task  
							
							
							
						 
						
							2017-06-07 11:16:56 +01:00  
				
					
						
							
							
								 
						
							
							
								65f0513a33 
								
							
								 
							
						 
						
							
							
								
								Split up device_lists_outbound_pokes table for faster updates.  
							
							
							
						 
						
							2017-06-07 11:02:38 +01:00  
				
					
						
							
							
								 
						
							
							
								6a12998a83 
								
							
								 
							
						 
						
							
							
								
								Add missing yields  
							
							
							
						 
						
							2017-05-08 16:10:51 +01:00  
				
					
						
							
							
								 
						
							
							
								94e6ad71f5 
								
							
								 
							
						 
						
							
							
								
								Invalidate cache on device deletion  
							
							
							
						 
						
							2017-05-08 15:55:59 +01:00  
				
					
						
							
							
								 
						
							
							
								fc6d4974a6 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-05-08 15:33:57 +01:00  
				
					
						
							
							
								 
						
							
							
								738ccf61c0 
								
							
								 
							
						 
						
							
							
								
								Cache check to see if device exists  
							
							
							
						 
						
							2017-05-08 15:32:18 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								2a28b79e04 
								
							
								 
							
						 
						
							
							
								
								Batch sending of device list pokes  
							
							
							
						 
						
							2017-03-24 14:44:49 +00:00  
				
					
						
							
							
								 
						
							
							
								00957d1aa4 
								
							
								 
							
						 
						
							
							
								
								User Cursor.__iter__ instead of fetchall  
							
							... 
							
							
							
							This prevents unnecessary construction of lists 
							
						 
						
							2017-03-23 17:53:49 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								da52d3af31 
								
							
								 
							
						 
						
							
							
								
								Fix up  
							
							
							
						 
						
							2017-03-03 15:29:13 +00:00  
				
					
						
							
							
								 
						
							
							
								d766343668 
								
							
								 
							
						 
						
							
							
								
								Add index to device_lists_stream  
							
							
							
						 
						
							2017-03-01 15:56:30 +00:00  
				
					
						
							
							
								 
						
							
							
								3365117151 
								
							
								 
							
						 
						
							
							
								
								Clobber old device list stream entries  
							
							
							
						 
						
							2017-03-01 10:21:30 +00:00  
				
					
						
							
							
								 
						
							
							
								8a12b6f1eb 
								
							
								 
							
						 
						
							
							
								
								Fix up txn name  
							
							
							
						 
						
							2017-02-28 10:15:50 +00:00  
				
					
						
							
							
								 
						
							
							
								f58dbb02a6 
								
							
								 
							
						 
						
							
							
								
								Cache get_user_devices_from_cache  
							
							
							
						 
						
							2017-02-27 16:22:12 +00:00  
				
					
						
							
							
								 
						
							
							
								ab55794b6f 
								
							
								 
							
						 
						
							
							
								
								Fix deletion of old sent devices correctly  
							
							
							
						 
						
							2017-01-31 13:22:41 +00:00  
				
					
						
							
							
								 
						
							
							
								d3169e8d28 
								
							
								 
							
						 
						
							
							
								
								Only fetch with row ts and count > 1  
							
							
							
						 
						
							2017-01-31 11:20:03 +00:00  
				
					
						
							
							
								 
						
							
							
								05b9f48ee5 
								
							
								 
							
						 
						
							
							
								
								Fix clearing out old device list outbound pokes  
							
							
							
						 
						
							2017-01-31 10:08:55 +00:00  
				
					
						
							
							
								 
						
							
							
								c2c9a78db9 
								
							
								 
							
						 
						
							
							
								
								Noop device key changes if they're the same  
							
							
							
						 
						
							2017-01-30 16:55:04 +00:00  
				
					
						
							
							
								 
						
							
							
								e75a779d9e 
								
							
								 
							
						 
						
							
							
								
								Fix query  
							
							
							
						 
						
							2017-01-30 16:38:20 +00:00  
				
					
						
							
							
								 
						
							
							
								3670025e64 
								
							
								 
							
						 
						
							
							
								
								Rename func  
							
							
							
						 
						
							2017-01-30 14:11:31 +00:00  
				
					
						
							
							
								 
						
							
							
								d360c97ae1 
								
							
								 
							
						 
						
							
							
								
								Clear out old destination pokes.  
							
							
							
						 
						
							2017-01-30 10:14:37 +00:00  
				
					
						
							
							
								 
						
							
							
								76100203ab 
								
							
								 
							
						 
						
							
							
								
								Always use the latest stream_id, sent or unsent  
							
							
							
						 
						
							2017-01-30 10:14:25 +00:00  
				
					
						
							
							
								 
						
							
							
								d1e1fd6210 
								
							
								 
							
						 
						
							
							
								
								Add ts column to device_lists_outbound_pokes  
							
							
							
						 
						
							2017-01-27 15:23:48 +00:00  
				
					
						
							
							
								 
						
							
							
								252b503fc8 
								
							
								 
							
						 
						
							
							
								
								Hook device list updates to replication  
							
							
							
						 
						
							2017-01-27 14:31:35 +00:00  
				
					
						
							
							
								 
						
							
							
								84a35f32c7 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-01-27 10:35:12 +00:00  
				
					
						
							
							
								 
						
							
							
								738a2867c8 
								
							
								 
							
						 
						
							
							
								
								SQL param ordering  
							
							
							
						 
						
							2017-01-27 10:31:29 +00:00  
				
					
						
							
							
								 
						
							
							
								755adff0e4 
								
							
								 
							
						 
						
							
							
								
								User if rather than for  
							
							
							
						 
						
							2017-01-27 10:31:06 +00:00  
				
					
						
							
							
								 
						
							
							
								888c59c955 
								
							
								 
							
						 
						
							
							
								
								Better name  
							
							
							
						 
						
							2017-01-27 10:29:47 +00:00  
				
					
						
							
							
								 
						
							
							
								f25a4a4692 
								
							
								 
							
						 
						
							
							
								
								Remove unused param  
							
							
							
						 
						
							2017-01-27 10:27:39 +00:00  
				
					
						
							
							
								 
						
							
							
								76d40f4904 
								
							
								 
							
						 
						
							
							
								
								Handle users leaving rooms  
							
							
							
						 
						
							2017-01-26 16:39:33 +00:00  
				
					
						
							
							
								 
						
							
							
								fbfad76c03 
								
							
								 
							
						 
						
							
							
								
								Add comments  
							
							
							
						 
						
							2017-01-26 16:33:21 +00:00