From 92bf4dd611e0e63176391939f02d252315167577 Mon Sep 17 00:00:00 2001 From: macpie Date: Wed, 16 Aug 2023 09:52:11 -0700 Subject: [PATCH] Fix rejected packet stats and stream process leak (#994) * Add packet rejected stats * Stop stream on eos * Deprecate helium_router_service --- config/sys.config | 3 +-- config/sys.config.src | 2 -- config/testnet.config.src | 1 - src/device/router_device_routing.erl | 1 + src/grpc/helium_packet_service.erl | 2 +- 5 files changed, 3 insertions(+), 6 deletions(-) diff --git a/config/sys.config b/config/sys.config index bc913b461..52ea685f2 100644 --- a/config/sys.config +++ b/config/sys.config @@ -53,7 +53,7 @@ grpc_opts => #{ service_protos => [router_pb, state_channel_pb], services => #{ - 'helium.router' => helium_router_service + 'helium.packet_router.packet' => helium_packet_service } }, transport_opts => #{ssl => false}, @@ -126,7 +126,6 @@ {{lager_file_backend, "router.log"}, [{module, router_device_routing}], info}, {{lager_file_backend, "router.log"}, [{module, helium_packet_service}], info}, - {{lager_file_backend, "router.log"}, [{module, helium_router_service}], info}, {{lager_file_backend, "router.log"}, [{module, router_ics_eui_worker}], info}, { {lager_file_backend, "router.log"}, diff --git a/config/sys.config.src b/config/sys.config.src index bf8846c87..be47df743 100644 --- a/config/sys.config.src +++ b/config/sys.config.src @@ -82,7 +82,6 @@ grpc_opts => #{ service_protos => [router_pb, packet_router_pb], services => #{ - 'helium.router' => helium_router_service, 'helium.packet_router.packet' => helium_packet_service } }, @@ -156,7 +155,6 @@ {{lager_file_backend, "router.log"}, [{module, router_device_routing}], info}, {{lager_file_backend, "router.log"}, [{module, helium_packet_service}], info}, - {{lager_file_backend, "router.log"}, [{module, helium_router_service}], info}, {{lager_file_backend, "router.log"}, [{module, router_ics_eui_worker}], info}, {{lager_file_backend, "router.log"}, [{module, router_ics_route_get_euis_handler}], info}, {{lager_file_backend, "router.log"}, [{module, router_ics_skf_list_handler}], info}, diff --git a/config/testnet.config.src b/config/testnet.config.src index 2b0506e7c..cabbe9eac 100644 --- a/config/testnet.config.src +++ b/config/testnet.config.src @@ -62,7 +62,6 @@ grpc_opts => #{ service_protos => [router_pb, state_channel_pb], services => #{ - 'helium.router' => helium_router_service, 'helium.state_channel' => blockchain_grpc_sc_server_handler } }, diff --git a/src/device/router_device_routing.erl b/src/device/router_device_routing.erl index d2a91d59a..2267354d2 100644 --- a/src/device/router_device_routing.erl +++ b/src/device/router_device_routing.erl @@ -274,6 +274,7 @@ handle_free_packet(SCPacket, PacketTime, Pid) when is_pid(Pid) -> {error, Reason} = Err -> lager:debug("packet from ~p discarded ~p", [HotspotName, Reason]), Pid ! {error, reason_to_single_atom(Reason)}, + ok = handle_packet_metrics(Packet, reason_to_single_atom(Reason), Start), Err end. diff --git a/src/grpc/helium_packet_service.erl b/src/grpc/helium_packet_service.erl index 05b944bfd..dbe7b224d 100644 --- a/src/grpc/helium_packet_service.erl +++ b/src/grpc/helium_packet_service.erl @@ -21,7 +21,7 @@ init(_Rpc, Stream) -> {ok, grpcbox_stream:t()} | grpcbox_stream:grpc_error_response(). route(eos, StreamState) -> lager:debug("got eos"), - {ok, StreamState}; + {stop, StreamState}; route(#envelope_up_v1_pb{data = {packet, PacketUp}}, StreamState) -> Self = self(), erlang:spawn(fun() ->