ce0c18dec5 
								
							
								 
							
						 
						
							
							
								
								Improve logging for exceptions handling PDUs  
							
							... 
							
							
							
							when we get an exception handling a federation PDU, log the whole stacktrace. 
							
						 
						
							2018-07-23 22:13:19 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								3cf3e08a97 
								
							
								 
							
						 
						
							
							
								
								Implementation of server_acls  
							
							... 
							
							
							
							... as described at
https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw . 
							
						 
						
							2018-07-04 19:06:20 +01:00  
				
					
						
							
							
								 
						
							
							
								e3b4043800 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3456  from matrix-org/hawkowl/federation-prevevent-checking  
							
							... 
							
							
							
							Check the state of prev_events a bit more thoroughly when coming over federation 
							
						 
						
							2018-06-29 13:55:02 +01:00  
				
					
						
							
							
								 
						
							
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
				
					
						
							
							
								 
						
							
							
								77078d6c8e 
								
							
								 
							
						 
						
							
							
								
								handle federation not telling us about prev_events  
							
							
							
						 
						
							2018-06-27 11:27:32 +01:00  
				
					
						
							
							
								 
						
							
							
								9fc5b74b24 
								
							
								 
							
						 
						
							
							
								
								simplify get_persisted_pdu  
							
							... 
							
							
							
							it doesn't make much sense to use get_persisted_pdu on the receive path: just
get the event straight from the store. 
							
						 
						
							2018-06-12 09:51:31 +01:00  
				
					
						
							
							
								 
						
							
							
								071206304d 
								
							
								 
							
						 
						
							
							
								
								cleanup pep8 errors  
							
							
							
						 
						
							2018-05-22 16:54:22 -05:00  
				
					
						
							
							
								 
						
							
							
								df9f72d9e5 
								
							
								 
							
						 
						
							
							
								
								replacing portions  
							
							
							
						 
						
							2018-05-21 19:47:37 -05:00  
				
					
						
							
							
								 
						
							
							
								77ebef9d43 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3118  from matrix-org/rav/reject_prev_events  
							
							... 
							
							
							
							Reject events which have lots of prev_events 
							
						 
						
							2018-04-23 17:51:38 +01:00  
				
					
						
							
							
								 
						
							
							
								dc875d2712 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3106  from NotAFile/py3-six-itervalues-1  
							
							... 
							
							
							
							Use six.itervalues in some places 
							
						 
						
							2018-04-20 15:43:52 +01:00  
				
					
						
							
							
								 
						
							
							
								0c280d4d99 
								
							
								 
							
						 
						
							
							
								
								Reinstate linearizer for federation_server.on_context_state_request  
							
							
							
						 
						
							2018-04-20 11:10:04 +01:00  
				
					
						
							
							
								 
						
							
							
								1f4b498b73 
								
							
								 
							
						 
						
							
							
								
								Add some comments  
							
							
							
						 
						
							2018-04-18 00:15:36 +01:00  
				
					
						
							
							
								 
						
							
							
								36c59ce669 
								
							
								 
							
						 
						
							
							
								
								Use six.itervalues in some places  
							
							... 
							
							
							
							There's more where that came from
Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-04-15 20:39:43 +02:00  
				
					
						
							
							
								 
						
							
							
								b78395b7fe 
								
							
								 
							
						 
						
							
							
								
								Refactor ResponseCache usage  
							
							... 
							
							
							
							Adds a `.wrap` method to ResponseCache which wraps up the boilerplate of a
(get, set) pair, and then use it throughout the codebase.
This will be largely non-functional, but does include the following functional
changes:
* federation_server.on_context_state_request: drops use of _server_linearizer
  which looked redundant and could cause incorrect cache misses by yielding
  between the get and the set.
* RoomListHandler.get_remote_public_room_list(): fixes logcontext leaks
* the wrap function includes some logging. I'm hoping this won't be too noisy
  on production. 
							
						 
						
							2018-04-12 13:02:15 +01:00  
				
					
						
							
							
								 
						
							
							
								b3384232a0 
								
							
								 
							
						 
						
							
							
								
								Add metrics for ResponseCache  
							
							
							
						 
						
							2018-04-10 23:14:47 +01:00  
				
					
						
							
							
								 
						
							
							
								56e709857c 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2979  from matrix-org/erikj/no_handlers  
							
							... 
							
							
							
							Don't build handlers on workers unnecessarily 
							
						 
						
							2018-03-13 13:46:38 +00:00  
				
					
						
							
							
								 
						
							
							
								9a2d9b4789 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2977  from matrix-org/erikj/replication_move_props  
							
							... 
							
							
							
							Move property setting from ReplicationLayer to base classes 
							
						 
						
							2018-03-13 11:45:25 +00:00  
				
					
						
							
							
								 
						
							
							
								f43b6d6d9b 
								
							
								 
							
						 
						
							
							
								
								Fix docstring types  
							
							
							
						 
						
							2018-03-13 11:29:35 +00:00  
				
					
						
							
							
								 
						
							
							
								265b993b8a 
								
							
								 
							
						 
						
							
							
								
								Split replication layer into two  
							
							
							
						 
						
							2018-03-13 10:55:47 +00:00  
				
					
						
							
							
								 
						
							
							
								e05bf34117 
								
							
								 
							
						 
						
							
							
								
								Move property setting from ReplicationLayer to FederationBase  
							
							
							
						 
						
							2018-03-13 10:51:30 +00:00  
				
					
						
							
							
								 
						
							
							
								c3f79c9da5 
								
							
								 
							
						 
						
							
							
								
								Split out edu/query registration to a separate class  
							
							
							
						 
						
							2018-03-13 10:24:27 +00:00  
				
					
						
							
							
								 
						
							
							
								3079f80d4a 
								
							
								 
							
						 
						
							
							
								
								Factor out `event_from_pdu_json`  
							
							... 
							
							
							
							turns out we have two copies of this, and neither needs to be an instance
method 
							
						 
						
							2017-12-30 18:40:19 +00:00  
				
					
						
							
							
								 
						
							
							
								65abc90fb6 
								
							
								 
							
						 
						
							
							
								
								federation_server: clean up imports  
							
							
							
						 
						
							2017-12-30 18:40:19 +00:00  
				
					
						
							
							
								 
						
							
							
								2a7e9faeec 
								
							
								 
							
						 
						
							
							
								
								Do logcontexts outside ResponseCache  
							
							
							
						 
						
							2017-10-25 15:21:08 +01:00  
				
					
						
							
							
								 
						
							
							
								582bd19ee9 
								
							
								 
							
						 
						
							
							
								
								Fix 500 error when we get an error handling a PDU  
							
							... 
							
							
							
							FederationServer doesn't have a send_failure (and nor does its subclass,
ReplicationLayer), so this was failing.
I'm not really sure what the idea behind send_failure is, given (a) we don't do
anything at the other end with it except log it, and (b) we also send back the
failure via the transaction response. I suspect there's a whole lot of dead
code around it, but for now I'm just removing the broken bit. 
							
						 
						
							2017-10-17 20:52:40 +01:00  
				
					
						
							
							
								 
						
							
							
								8dd0c85ac5 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2529  from matrix-org/rav/fix_transaction_failure_handling  
							
							... 
							
							
							
							log pdu_failures from incoming transactions 
							
						 
						
							2017-10-11 17:29:14 +01:00  
				
					
						
							
							
								 
						
							
							
								b75d443caf 
								
							
								 
							
						 
						
							
							
								
								log pdu_failures from incoming transactions  
							
							... 
							
							
							
							... even if we have no EDUs.
This appears to have been introduced in
476899295f 
							
						 
						
							2017-10-11 14:36:13 +01:00  
				
					
						
							
							
								 
						
							
							
								6a6cc27aee 
								
							
								 
							
						 
						
							
							
								
								fed server: process PDUs for different rooms in parallel  
							
							... 
							
							
							
							With luck, this will give a real-time improvement when there are many rooms and
the server ends up calling out to fetch missing events. 
							
						 
						
							2017-10-09 18:30:31 +01:00  
				
					
						
							
							
								 
						
							
							
								4c7c4d4061 
								
							
								 
							
						 
						
							
							
								
								Fed server: use a linearizer for ongoing transactions  
							
							... 
							
							
							
							We don't want to process the same transaction multiple times concurrently, so
use a linearizer. 
							
						 
						
							2017-10-09 18:30:10 +01:00  
				
					
						
							
							
								 
						
							
							
								ba5b9b80a5 
								
							
								 
							
						 
						
							
							
								
								fed server: refactor on_incoming_transaction  
							
							... 
							
							
							
							Move as much as possible to after the have_responded check, and reduce the
number of times we iterate over the pdu list. 
							
						 
						
							2017-10-09 18:10:53 +01:00  
				
					
						
							
							
								 
						
							
							
								a6e3222fe5 
								
							
								 
							
						 
						
							
							
								
								Fed server: Move origin-check code to _handle_received_pdu  
							
							... 
							
							
							
							The response-building code expects there to be an entry in the `results` list
for each entry in the pdu_list, so the early `continue` was messing this
up. That doesn't really matter, because all that the federation client does is
log any errors, but it's pretty poor form. 
							
						 
						
							2017-10-09 17:53:32 +01:00  
				
					
						
							
							
								 
						
							
							
								de042b3b88 
								
							
								 
							
						 
						
							
							
								
								Do some logging when one-time-keys get claimed  
							
							... 
							
							
							
							might help us figure out if https://github.com/vector-im/riot-web/issues/3868 
has happened. 
							
						 
						
							2017-05-09 19:04:56 +01:00  
				
					
						
							
							
								 
						
							
							
								30bcbf775a 
								
							
								 
							
						 
						
							
							
								
								Accept join events from all servers  
							
							... 
							
							
							
							Make sure that we accept join events from any server, rather than just the
origin server, to make the federation join dance work correctly.
(Fixes  #1893 ). 
							
						 
						
							2017-04-03 15:58:07 +01:00  
				
					
						
							
							
								 
						
							
							
								29235901b8 
								
							
								 
							
						 
						
							
							
								
								Move FederationServer._handle_new_pdu to FederationHandler  
							
							... 
							
							
							
							Unfortunately this significantly increases the size of the already-rather-big
FederationHandler, but the code fits more naturally here, and it paves the way
for the tighter integration that I need between handling incoming PDUs and
doing the join dance.
Other than renaming the existing `FederationHandler.on_receive_pdu` to
`_process_received_pdu` to make way for it, this just consists of the move, and
replacing `self.handler` with `self` and `self` with `self.replication_layer`. 
							
						 
						
							2017-03-09 16:20:13 +00:00  
				
					
						
							
							
								 
						
							
							
								e8b1721290 
								
							
								 
							
						 
						
							
							
								
								Move sig check out of _handle_new_pdu  
							
							... 
							
							
							
							When we receive PDUs via `get_missing_events`, we have already checked their
sigs, so there is no need to do it again. 
							
						 
						
							2017-03-09 15:50:44 +00:00  
				
					
						
							
							
								 
						
							
							
								3406333a58 
								
							
								 
							
						 
						
							
							
								
								Factor _get_missing_events_for_pdu out of _handle_new_pdu  
							
							... 
							
							
							
							This should be functionally identical: it just seeks to improve readability by
reducing indentation. 
							
						 
						
							2017-03-09 15:50:44 +00:00  
				
					
						
							
							
								 
						
							
							
								c974116f19 
								
							
								 
							
						 
						
							
							
								
								Implement device key caching over federation  
							
							
							
						 
						
							2017-01-26 16:07:24 +00:00  
				
					
						
							
							
								 
						
							
							
								f7085ac84f 
								
							
								 
							
						 
						
							
							
								
								Name linearizer's for better logs  
							
							
							
						 
						
							2017-01-09 17:17:10 +00:00  
				
					
						
							
							
								 
						
							
							
								4304e7e593 
								
							
								 
							
						 
						
							
							
								
								do the discard check in the right place to avoid grabbing dependent events  
							
							
							
						 
						
							2017-01-07 03:44:18 +00:00  
				
					
						
							
							
								 
						
							
							
								e10c527930 
								
							
								 
							
						 
						
							
							
								
								Discard PDUs from invalid origins due to  #1753  in 0.18.[56]  
							
							
							
						 
						
							2017-01-07 02:13:14 +00:00  
				
					
						
							
							
								 
						
							
							
								468749c9fc 
								
							
								 
							
						 
						
							
							
								
								fix comment  
							
							
							
						 
						
							2017-01-05 12:00:11 +00:00  
				
					
						
							
							
								 
						
							
							
								eedf400d05 
								
							
								 
							
						 
						
							
							
								
								limit total timeout for get_missing_events to 10s  
							
							
							
						 
						
							2017-01-05 11:58:15 +00:00  
				
					
						
							
							
								 
						
							
							
								62ce3034f3 
								
							
								 
							
						 
						
							
							
								
								s/aquire/acquire/g  
							
							
							
						 
						
							2016-12-30 20:04:44 +00:00  
				
					
						
							
							
								 
						
							
							
								0aff09f6c9 
								
							
								 
							
						 
						
							
							
								
								Add more useful logging when we block fetching events  
							
							
							
						 
						
							2016-12-30 20:00:44 +00:00  
				
					
						
							
							
								 
						
							
							
								d4a35ada28 
								
							
								 
							
						 
						
							
							
								
								Send device messages over federation  
							
							
							
						 
						
							2016-09-06 18:16:20 +01:00  
				
					
						
							
							
								 
						
							
							
								2854ee2a52 
								
							
								 
							
						 
						
							
							
								
								Only pull out IDs from DB for /state_ids/ request  
							
							
							
						 
						
							2016-09-02 10:53:36 +01:00  
				
					
						
							
							
								 
						
							
							
								b4e2290d89 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_ids_api  
							
							
							
						 
						
							2016-08-04 14:04:35 +01:00  
				
					
						
							
							
								 
						
							
							
								edb33eb163 
								
							
								 
							
						 
						
							
							
								
								Rename fields to _ids  
							
							
							
						 
						
							2016-08-03 17:19:15 +01:00  
				
					
						
							
							
								 
						
							
							
								bcc9cda8ca 
								
							
								 
							
						 
						
							
							
								
								Fix copy + paste fails  
							
							
							
						 
						
							2016-08-03 17:17:26 +01:00