Erik Johnston
							
						 
						
							 
							
							
							
								
							
								925b3638ff 
								
							
								 
							
						 
						
							
							
								
								Reduce log levels in tcp replication  
							
							 
							
							
							
						 
						
							2017-07-11 10:04:21 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								27f26e48b7 
								
							
								 
							
						 
						
							
							
								
								Serialize user ip command as json  
							
							 
							
							
							
						 
						
							2017-06-27 16:25:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8c23221666 
								
							
								 
							
						 
						
							
							
								
								Fix up  
							
							 
							
							
							
						 
						
							2017-06-27 15:53:45 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								78cefd78d6 
								
							
								 
							
						 
						
							
							
								
								Make workers report to master for user ip updates  
							
							 
							
							
							
						 
						
							2017-06-27 14:58:10 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								dae9a00a28 
								
							
								 
							
						 
						
							
							
								
								Initialise exclusive_user_regex  
							
							 
							
							
							
						 
						
							2017-06-21 14:19:33 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8177563ebe 
								
							
								 
							
						 
						
							
							
								
								Fix for workers  
							
							 
							
							
							
						 
						
							2017-06-21 13:57:49 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6aa5bc8635 
								
							
								 
							
						 
						
							
							
								
								Initial worker impl  
							
							 
							
							
							
						 
						
							2017-06-16 11:47:11 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d53fe399eb 
								
							
								 
							
						 
						
							
							
								
								Add cache for is_host_joined  
							
							 
							
							
							
						 
						
							2017-06-13 09:56:18 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a837765e8c 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2266  from matrix-org/erikj/host_in_room  
							
							 
							
							... 
							
							
							
							Change is_host_joined to use current_state table 
							
						 
						
							2017-06-12 09:49:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8060974344 
								
							
								 
							
						 
						
							
							
								
								Fix replication  
							
							 
							
							
							
						 
						
							2017-06-09 16:40:52 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2cac7623a5 
								
							
								 
							
						 
						
							
							
								
								Add missing notifier  
							
							 
							
							
							
						 
						
							2017-06-09 11:24:41 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								298d83b340 
								
							
								 
							
						 
						
							
							
								
								Fix replication  
							
							 
							
							
							
						 
						
							2017-06-09 11:01:28 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								dfbda5e025 
								
							
								 
							
						 
						
							
							
								
								Faster cache for get_joined_hosts  
							
							 
							
							
							
						 
						
							2017-05-25 17:24:44 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f85a415279 
								
							
								 
							
						 
						
							
							
								
								Add missing storage function to slave store  
							
							 
							
							
							
						 
						
							2017-05-22 16:31:24 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9ac263ed1b 
								
							
								 
							
						 
						
							
							
								
								Add new storage functions to slave store  
							
							 
							
							
							
						 
						
							2017-05-04 14:29:03 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e4f3431116 
								
							
								 
							
						 
						
							
							
								
								Remove unused cache  
							
							 
							
							
							
						 
						
							2017-04-24 13:27:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								247c736b9b 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2115  from matrix-org/erikj/dedupe_federation_repl  
							
							 
							
							... 
							
							
							
							Reduce federation replication traffic 
							
						 
						
							2017-04-12 11:07:13 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9c712a366f 
								
							
								 
							
						 
						
							
							
								
								Move get_presence_list_* to SlaveStore  
							
							 
							
							
							
						 
						
							2017-04-11 16:07:33 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								28a4649785 
								
							
								 
							
						 
						
							
							
								
								Remove HTTP replication APIs  
							
							 
							
							
							
						 
						
							2017-04-11 09:52:11 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								29574fd5b3 
								
							
								 
							
						 
						
							
							
								
								Reduce federation presence replication traffic  
							
							 
							
							... 
							
							
							
							This is mainly done by moving the calculation of where to send presence
updates from the presence handler to the transaction queue, so we only
need to send the presence event (and not the destinations) across the
replication connection. Before we were duplicating by sending the full
state across once per destination. 
							
						 
						
							2017-04-10 16:48:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2e6f5a4910 
								
							
								 
							
						 
						
							
							
								
								Typo  
							
							 
							
							
							
						 
						
							2017-04-10 16:17:40 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								efcb6db688 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2109  from matrix-org/erikj/send_queue_fix  
							
							 
							
							... 
							
							
							
							Fix up federation SendQueue and document types 
							
						 
						
							2017-04-10 13:09:25 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0364d23210 
								
							
								 
							
						 
						
							
							
								
								Up replication ping timeout  
							
							 
							
							
							
						 
						
							2017-04-10 11:32:05 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ab904caf33 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-04-10 10:02:17 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								98ce212093 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2103  from matrix-org/erikj/no-double-encode  
							
							 
							
							... 
							
							
							
							Don't double encode replication data 
							
						 
						
							2017-04-07 09:39:52 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ad544c803a 
								
							
								 
							
						 
						
							
							
								
								Document types of the replication streams  
							
							 
							
							
							
						 
						
							2017-04-06 13:28:52 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								69b3fd485d 
								
							
								 
							
						 
						
							
							
								
								Fix incorrect type when using InvalidateCacheCommand  
							
							 
							
							
							
						 
						
							2017-04-06 09:36:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fcc803b2bf 
								
							
								 
							
						 
						
							
							
								
								Add log lines  
							
							 
							
							
							
						 
						
							2017-04-05 17:13:44 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3f213d908d 
								
							
								 
							
						 
						
							
							
								
								Rearrange metrics  
							
							 
							
							
							
						 
						
							2017-04-05 14:15:09 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1ca0e78ca1 
								
							
								 
							
						 
						
							
							
								
								Fix typo  
							
							 
							
							
							
						 
						
							2017-04-05 13:43:39 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b43d3267e2 
								
							
								 
							
						 
						
							
							
								
								Fixup some metrics for tcp repl  
							
							 
							
							
							
						 
						
							2017-04-05 13:34:54 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a5c401bd12 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2097  from matrix-org/erikj/repl_tcp_client  
							
							 
							
							... 
							
							
							
							Move to using TCP replication 
							
						 
						
							2017-04-05 09:36:21 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a76886726b 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2098  from matrix-org/erikj/repl_tcp_fix  
							
							 
							
							... 
							
							
							
							Advance replication streams even if nothing is listening 
							
						 
						
							2017-04-04 15:40:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4264ceb31c 
								
							
								 
							
						 
						
							
							
								
								Fiddle tcp replication logging  
							
							 
							
							
							
						 
						
							2017-04-04 14:14:03 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								023ee197be 
								
							
								 
							
						 
						
							
							
								
								Advance replication streams even if nothing is listening  
							
							 
							
							... 
							
							
							
							Otherwise the streams don't advance and steadily fall behind, so when a
worker does connect either a) they'll be streamed lots of old updates or
b) the connection will fail as the streams are too far behind. 
							
						 
						
							2017-04-04 13:19:26 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3a1f3f8388 
								
							
								 
							
						 
						
							
							
								
								Change slave storage to use new replication interface  
							
							 
							
							... 
							
							
							
							As the TCP replication uses a slightly different API and streams than
the HTTP replication.
This breaks HTTP replication. 
							
						 
						
							2017-04-03 15:34:19 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								52bfa604e1 
								
							
								 
							
						 
						
							
							
								
								Add basic replication client handler and factory  
							
							 
							
							
							
						 
						
							2017-04-03 15:34:13 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0a6a966e2b 
								
							
								 
							
						 
						
							
							
								
								Always advance stream tokens  
							
							 
							
							
							
						 
						
							2017-04-03 15:22:56 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1df7c28661 
								
							
								 
							
						 
						
							
							
								
								Use callbacks to notify tcp replication rather than deferreds  
							
							 
							
							
							
						 
						
							2017-03-31 15:42:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								36d2b66f90 
								
							
								 
							
						 
						
							
							
								
								Add a timestamp to USER_SYNC command  
							
							 
							
							... 
							
							
							
							This timestamp is used to indicate when the user last sync'd 
							
						 
						
							2017-03-31 15:42:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bfcf016714 
								
							
								 
							
						 
						
							
							
								
								Fix up docs  
							
							 
							
							
							
						 
						
							2017-03-31 11:19:24 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4d7fc7f977 
								
							
								 
							
						 
						
							
							
								
								Add server side resource for tcp replication  
							
							 
							
							
							
						 
						
							2017-03-30 13:24:45 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								7450693435 
								
							
								 
							
						 
						
							
							
								
								Initial TCP protocol implementation  
							
							 
							
							... 
							
							
							
							This defines the low level TCP replication protocol 
							
						 
						
							2017-03-30 12:54:46 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8da6f0be48 
								
							
								 
							
						 
						
							
							
								
								Define the various streams we will replicate  
							
							 
							
							
							
						 
						
							2017-03-30 12:54:46 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								11880103b1 
								
							
								 
							
						 
						
							
							
								
								Make federation send queue take the current position  
							
							 
							
							
							
						 
						
							2017-03-30 12:54:36 +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
							
						 
						
							 
							
							
							
								
							
								09f79aaad0 
								
							
								 
							
						 
						
							
							
								
								Use presence replication stream to invalidate cache  
							
							 
							
							... 
							
							
							
							Instead of using the cache invalidation replication stream to invalidate
the _get_presence_cache, we can instead rely on the presence replication
stream. This reduces the amount of replication traffic considerably. 
							
						 
						
							2017-03-24 13:21:08 +00: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
							
						 
						
							 
							
							
							
								
							
								aac6d1fc9b 
								
							
								 
							
						 
						
							
							
								
								PEP8  
							
							 
							
							
							
						 
						
							2017-03-20 13:47:56 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								61f471f779 
								
							
								 
							
						 
						
							
							
								
								Don't send the full event json over replication  
							
							 
							
							
							
						 
						
							2017-03-17 15:50:01 +00:00