Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
bao0711 opened this issue Dec 2, 2024 · 0 comments
Labels

Comments

@bao0711
Copy link

bao0711 commented Dec 2, 2024

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 bao0711 added the bug label Dec 2, 2024
@bao0711 bao0711 changed the title [BUG]: <title>When deleting routing, if there is a request, it will cause the newly deleted endpoint to be recreated [BUG]: When deleting routing, if there is a request, it will cause the newly deleted endpoint to be recreated Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant