vsomeip icon indicating copy to clipboard operation
vsomeip copied to clipboard

[BUG]: When deleting routing, if there is a request, it will cause the newly deleted endpoint to be recreated

Open bao0711 opened this issue 11 months ago • 0 comments

vSomeip Version

v3.1.14.1

Boost Version

1.71

Environment

android

Describe the bug

When deleting routing, if there is a request, it will cause the newly deleted endpoint to be recreated; If there is a request between the clear_ciewed_endpoints and clear_demote_Service in the routing_manager_impl:: del_routing_info function, the endpoint will be recreated;The specific trigger point code is as follows: if (has_reliable) { ep_mgr_impl->clear_client_endpoints(_service, instance, true); // If there is a request for the service during this time period, the endpoint will be recreated ep_mgr_impl->clear_remote_service_info(_service, _instance, true); }

Reproduction Steps

  1. Stop sending SD messages during the ttl time period defined by the service;
  2. Afterwards, send high-frequency request requests;

Expected behaviour

After deleting the endpoint in the del_routing_info function, wait for the SD message to be resent before creating the endpoint,To avoid creating endpoints when sending SD messages again;

Logs and Screenshots

行 17090: 2024-11-27 04:51:14.940  root  9395  9398 I VSOMEIP :  find_or_create_remote_client11 false' _service: 257 _instance: 2
行 17092: 2024-11-27 04:51:14.940  1000  3104  4146 I VSOMEIP : ON_UNAVAILABLE(0120): [0101.0001:1.0]
行 17095: 2024-11-27 04:51:14.940  root  9395  9402 I VSOMEIP :  clear_client_endpoints  found_instance _service: 257 _instance: 1
行 17104: 2024-11-27 04:51:14.940 10028 20131 20447 I VSOMEIP : ON_UNAVAILABLE(011e): [0101.0001:1.0]
行 17110: 2024-11-27 04:51:14.940  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 0101.0001
行 17122: 2024-11-27 04:51:14.941  root  9395  9402 I VSOMEIP :  clear_client_endpoints  found_instance _service: 257 _instance: 2
行 17123: 2024-11-27 04:51:14.941  root  9395  9402 I VSOMEIP :  clear_client_endpoints  found_service _service: 257 _instance: 2

// ===== Execute here clear_client_dedpoints: _ service: 257 _ instance: 2

行 17124: 2024-11-27 04:51:14.941  1000  3104  4214 I VSOMEIP : ON_UNAVAILABLE(0121): [0101.0002:1.0]
行 17162: 2024-11-27 04:51:14.991  root  9395  9398 I VSOMEIP :  is_request find_or_create_remote_client' _service: 257 _instance: 2

// ===== Execute here request : _ service: 257 _ instance: 2

行 17163: 2024-11-27 04:51:14.991  root  9395  9398 I VSOMEIP :  find_remote_client remote_service_info_ _service: 257 _instance: 2
行 17164: 2024-11-27 04:51:14.991  root  9395  9398 I VSOMEIP :  create_remote_client set_endpoint' _service: 257 _instance: 2
行 17165: 2024-11-27 04:51:14.991  root  9395  9398 I VSOMEIP :  find_or_create_remote_client11 true' _service: 257 _instance: 2
行 17222: 2024-11-27 04:51:15.341 10028 20070 20180 I VSOMEIP : ON_UNAVAILABLE(011a): [0101.0002:1.0]
行 17330: 2024-11-27 04:51:16.191  root  9395  9402 I VSOMEIP :  clear_remote_service_info  _service: 257 _instance: 2

// ===== Execute here clear_remote_service_info : _ service: 257 _ instance: 2

行 17331: 2024-11-27 04:51:16.191  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 0101.0002
行 17333: 2024-11-27 04:51:16.191  root  9395 20437 I VSOMEIP : ON_UNAVAILABLE(0118): [0104.0001:1.0]
行 17334: 2024-11-27 04:51:16.191  root  9395 20435 D someip::[email protected]: reportSomeIpMessage enter: topic: { topic = 282591668273154, .m = 2, .i = 1, .s = 260, .t = 1}
行 17335: 2024-11-27 04:51:16.192  root  9395  9398 I VSOMEIP :  find_or_create_remote_client11 its_endpoint->start' _service: 257 _instance: 2
行 17336: 2024-11-27 04:51:16.192  root  9395  9398 I VSOMEIP : UNSUBSCRIBE(011e): [0101.0001.0001.8100]
行 17337: 2024-11-27 04:51:16.192  root  9395  9398 I VSOMEIP : UNSUBSCRIBE(0120): [0101.0001.0001.8201]
行 17338: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_client_endpoints  found_instance _service: 260 _instance: 1
行 17339: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_client_endpoints  found_service _service: 260 _instance: 1
行 17340: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_remote_service_info  _service: 260 _instance: 1
行 17341: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 0104.0001
行 17342: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_remote_service_info  _service: 261 _instance: 1
行 17343: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 0105.0001
行 17344: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_remote_service_info  _service: 269 _instance: 3
行 17345: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 010d.0003
行 17346: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP :  clear_remote_service_info  _service: 270 _instance: 1
行 17347: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP : update_routing_info: elapsed=500 : delete service/instance 010e.0001
行 17348: 2024-11-27 04:51:16.192  root  9395  9402 I VSOMEIP : UNSUBSCRIBE(0121): [0101.0002.0001.8201]

bao0711 avatar Dec 02 '24 03:12 bao0711