From e4c5d9619b8d0d0ac22e2d59ae9b9ec9beeba544 Mon Sep 17 00:00:00 2001 From: "iguerNL@Functori" Date: Fri, 6 Dec 2024 12:28:06 +0100 Subject: [PATCH 1/2] DAL/GS/P2P: fix trusted flag when trying to connect --- .../gossipsub/gs_transport_connection.ml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib_dal_node/gossipsub/gs_transport_connection.ml b/src/lib_dal_node/gossipsub/gs_transport_connection.ml index 2f4c192bd3fd..bfb604af4c4e 100644 --- a/src/lib_dal_node/gossipsub/gs_transport_connection.ml +++ b/src/lib_dal_node/gossipsub/gs_transport_connection.ml @@ -175,7 +175,7 @@ let disconnections_handler gs_worker peer_id = | None -> (* Something is off, we should log something probably. *) () | Some (peer, _) -> Worker.(Disconnection {peer} |> p2p_input gs_worker) -let try_connect ?expected_peer_id p2p_layer point = +let try_connect ?expected_peer_id p2p_layer ~trusted point = let open Lwt_syntax in (* We don't wait for the promise to resolve here, because if the advertised peer is not reachable or is not responding, we might block @@ -186,7 +186,7 @@ let try_connect ?expected_peer_id p2p_layer point = Lwt.dont_wait (fun () -> let* (_ : _ P2p.connection tzresult) = - P2p.connect ?expected_peer_id p2p_layer point + P2p.connect ?expected_peer_id ~trusted p2p_layer point in return_unit) (fun exn -> @@ -241,10 +241,15 @@ let gs_worker_p2p_output_handler gs_worker p2p_layer = P2p.find_connection_by_peer_id p2p_layer peer.peer_id |> Option.iter_s (P2p.disconnect ~reason:"disconnected by Gossipsub" p2p_layer) - | Connect {peer; origin = _} -> + | Connect {peer; origin} -> + let trusted = origin = Trusted in let Types.Peer.{maybe_reachable_point; peer_id} = peer in - try_connect ~expected_peer_id:peer_id p2p_layer maybe_reachable_point - | Connect_point {point} -> try_connect p2p_layer point + try_connect + ~trusted + ~expected_peer_id:peer_id + p2p_layer + maybe_reachable_point + | Connect_point {point} -> try_connect p2p_layer point ~trusted:false | Forget _ -> return_unit | Kick {peer} -> P2p.pool p2p_layer -- GitLab From 7a46ef720f6127f3c6694238460015e42aaa3b32 Mon Sep 17 00:00:00 2001 From: "iguerNL@Functori" Date: Tue, 10 Dec 2024 09:21:02 +0100 Subject: [PATCH 2/2] Tezt/DAL: fix flaky test --- tezt/tests/dal.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index fd28c30388d4..70299092cd8f 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -4161,11 +4161,14 @@ let observe_nodes_connection_via_bootstrap ?(extra_nodes_to_restart = []) client dal_node2 dal_node3 = let nodes = dal_node2 :: dal_node3 :: extra_nodes_to_restart in let* () = List.map Dal_node.terminate nodes |> Lwt.join in + let* dal_node2_identity = Dal_node.read_identity dal_node2 in + let* dal_node3_identity = Dal_node.read_identity dal_node3 in let check_conn_event_from_2_to_3 = Dal_common.Helpers.check_new_connection_event ~main_node:dal_node2 ~other_node:dal_node3 ~is_trusted:false + ~other_peer_id:dal_node3_identity () in let check_conn_event_from_3_to_2 = @@ -4173,6 +4176,7 @@ let observe_nodes_connection_via_bootstrap ?(extra_nodes_to_restart = []) client ~main_node:dal_node3 ~other_node:dal_node2 ~is_trusted:false + ~other_peer_id:dal_node2_identity () in let* () = List.map (Dal_node.run ~wait_ready:true) nodes |> Lwt.join in -- GitLab