Skip to content

Conversation

@kevin-spil
Copy link

We discovered an issue where a linked process would exit normally during the execution of the pmap resulting in the pmap being aborted. This change makes sure that we ignore clean exits from linked processes and only respond to abnormal behaviour.

@kevin-spil
Copy link
Author

Since our tests don't actually seem to work on the CI:

make test
rebar skip_deps=true eunit
==> spapi-router (eunit)
Compiled test/spr_util_eunit.erl
======================== EUnit ========================
module 'spr_sup'
module 'spapi_router_callback_noop'
module 'spr_ets_handler'
module 'spr_app'
module 'spapi_router_callback_eunit'
12:41:13.730 [info] Application lager started on node 'kernel_1@127.0.0.1'
12:41:13.735 [info] Added nodes: ['kernel_1@127.0.0.1']
12:41:13.735 [info] Added resource: {stdlib,'kernel_1@127.0.0.1'}
12:41:13.735 [info] Added resource: {kernel,'kernel_1@127.0.0.1'}
  12:41:13.735 [info] Application spapi_router started on node 'kernel_1@127.0.0.1'
spapi_router_callback_eunit: callback_test_...[0.001 s] ok
  spapi_router_callback_eunit: callback_test_...ok
  spapi_router_callback_eunit: callback_test_...12:41:13.883 [notice] reload_world_list invoked
12:41:13.885 [info] Added nodes: ['kernel_2@127.0.0.1']
12:41:13.885 [info] Added resource: {stdlib,'kernel_2@127.0.0.1'}
12:41:13.885 [info] Added resource: {kernel,'kernel_2@127.0.0.1'}
12:41:13.887 [info] {nodedown: ''kernel_2@127.0.0.1''}
[0.247 s] ok
  [done in 0.262 s]
12:41:13.998 [info] Application spapi_router exited with reason: stopped
module 'spr_ets_handler_eunit'
  spr_ets_handler_eunit:17: ensure_epmd_test_...[0.008 s] ok
  spr_ets_handler_eunit:26: requested_hostname_test_...ok
  spr_ets_handler_eunit:28: requested_hostname_test_...ok
  spr_ets_handler_eunit:30: requested_hostname_test_...ok
  spr_ets_handler_eunit:32: requested_hostname_test_...ok
  spr_ets_handler_eunit:34: requested_hostname_test_...ok
  spr_ets_handler_eunit:60: gather_nodes_test_...12:41:14.976 [error] Problem reloading nodes from host "host_badaddress" : address
[0.001 s] ok
  spr_ets_handler_eunit:62: gather_nodes_test_...[0.001 s] ok
  spr_ets_handler_eunit:63: gather_nodes_test_...ok
  spr_ets_handler_eunit:65: gather_nodes_test_...ok
  spr_ets_handler_eunit:67: gather_nodes_test_...ok
  spr_ets_handler_eunit:69: gather_nodes_test_...ok
  spr_ets_handler_eunit:98: get_one_node_locally_test_...ok
  spr_ets_handler_eunit:127: get_one_from_several_local_nodes_test_...ok
  spr_ets_handler_eunit:146: get_one_node_invalidapp_test_...ok
  spr_ets_handler_eunit:165: get_all_nodes_invalidapp_test_...ok
  spr_ets_handler_eunit:187: get_one_node_oneservice_twonodes_test_...ok
  spr_ets_handler_eunit:188: get_one_node_oneservice_twonodes_test_...ok
  spr_ets_handler_eunit:210: get_all_nodes_test_...ok
  spr_ets_handler_eunit:211: get_all_nodes_test_...ok
  spr_ets_handler_eunit:234: get_nodes_applications_crashing_test_...ok
  spr_ets_handler_eunit:246: get_nodes_applications_no_node_test_...ok
  spr_ets_handler_eunit:247: get_nodes_applications_no_node_test_...ok
  spr_ets_handler_eunit:260: get_nodes_applications_no_services_test_...ok
  spr_ets_handler_eunit:261: get_nodes_applications_no_services_test_...ok
  spr_ets_handler_eunit:279: get_nodes_applications_no_matching_services_test_...ok
  spr_ets_handler_eunit:280: get_nodes_applications_no_matching_services_test_...ok
  spr_ets_handler_eunit:301: get_nodes_applications_one_node_test_...ok
  spr_ets_handler_eunit:302: get_nodes_applications_one_node_test_...ok
  spr_ets_handler_eunit:324: get_nodes_applications_multiple_node_test_...ok
  spr_ets_handler_eunit:325: get_nodes_applications_multiple_node_test_...ok
  spr_ets_handler_eunit:334: get_nodes_applications_not_requested_host_test_...ok
  spr_ets_handler_eunit:335: get_nodes_applications_not_requested_host_test_...ok
  spr_ets_handler_eunit:345: get_nodes_applications_test_...ok
  spr_ets_handler_eunit:367: get_current_nodes_test_...ok
  spr_ets_handler_eunit:368: get_current_nodes_test_...12:41:15.583 [info] Added nodes: ['demo_one@127.0.0.1','demo_two@127.0.0.1']
[0.001 s] ok
  spr_ets_handler_eunit:370: get_current_nodes_test_...12:41:15.586 [info] Added nodes: ['demo_one@127.0.0.1']
[0.001 s] ok
12:41:16.103 [info] Added nodes: ['spr_ets_handler_eunit_1@127.0.0.1']
12:41:16.104 [info] Added resource: {compiler,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:16.104 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  spr_ets_handler_eunit:399: node_disconnection_test_...ok
  spr_ets_handler_eunit:401: node_disconnection_test_...ok
12:41:16.113 [info] {nodedown: ''spr_ets_handler_eunit_1@127.0.0.1''}
12:41:16.118 [info] Application spapi_router exited with reason: stopped
12:41:16.832 [info] Added nodes: ['spr_ets_handler_eunit_2_1@127.0.0.1','spr_ets_handler_eunit_2_2@127.0.0.1']
12:41:16.832 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:16.832 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:16.832 [info] Added resource: {runtime_tools,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:16.832 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:16.832 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:16.833 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  spr_ets_handler_eunit:445: node_selective_connect_test_...ok
  spr_ets_handler_eunit:446: node_selective_connect_test_...ok
  spr_ets_handler_eunit:447: node_selective_connect_test_...ok
  spr_ets_handler_eunit:448: node_selective_connect_test_...ok
12:41:16.850 [info] {nodedown: ''spr_ets_handler_eunit_2_1@127.0.0.1''}
12:41:16.852 [info] {nodedown: ''spr_ets_handler_eunit_2_2@127.0.0.1''}
12:41:16.855 [info] Application spapi_router exited with reason: stopped
12:41:17.564 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  spr_ets_handler_eunit:486: nonexisting_node_requested_test_...ok
  spr_ets_handler_eunit:487: nonexisting_node_requested_test_...ok
  spr_ets_handler_eunit:488: nonexisting_node_requested_test_...ok
  spr_ets_handler_eunit:489: nonexisting_node_requested_test_...ok
12:41:17.585 [info] Application spapi_router exited with reason: stopped
12:41:18.298 [info] Added nodes: ['spr_ets_handler_eunit_1@127.0.0.1','spr_ets_handler_eunit_2_1@127.0.0.1','spr_ets_handler_eunit_2_2@127.0.0.1','spr_ets_handler_eunit_3@127.0.0.1']
12:41:18.298 [info] Added resource: {compiler,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:18.299 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:18.299 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:18.299 [info] Added resource: {runtime_tools,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:18.299 [info] Added resource: {kernel,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:18.299 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:18.299 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:18.299 [info] Added resource: {kernel,'spr_ets_handler_eunit_3@127.0.0.1'}
12:41:18.300 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  12:41:18.300 [notice] set_node_down invoked for node ''spr_ets_handler_eunit_3@127.0.0.1''
spr_ets_handler_eunit:526: set_node_down_test_...ok
  spr_ets_handler_eunit:527: set_node_down_test_...ok
  spr_ets_handler_eunit:528: set_node_down_test_...ok
  spr_ets_handler_eunit:529: set_node_down_test_...ok
  spr_ets_handler_eunit:530: set_node_down_test_...ok
  spr_ets_handler_eunit:531: set_node_down_test_...12:41:18.315 [notice] set_node_down invoked for node ''not_requested@127.0.0.1''
ok
12:41:18.321 [info] {nodedown: ''spr_ets_handler_eunit_1@127.0.0.1''}
12:41:18.324 [info] {nodedown: ''spr_ets_handler_eunit_2_1@127.0.0.1''}
12:41:18.327 [info] {nodedown: ''spr_ets_handler_eunit_2_2@127.0.0.1''}
12:41:18.329 [info] {nodedown: ''spr_ets_handler_eunit_3@127.0.0.1''}
12:41:18.330 [info] Application spapi_router exited with reason: stopped
12:41:18.330 [info] Added resource: {service_filter,'demo_one@127.0.0.1'}
12:41:18.330 [info] Added resource: {service_filter,'demo_two@127.0.0.1'}
12:41:18.330 [info] Added resource: {service_blaat,'demo_two@127.0.0.1'}
12:41:18.331 [info] Added resource: {service_echo,'demo_one@127.0.0.1'}
  spr_ets_handler_eunit:566: update_routing_table_test_...12:41:18.331 [info] Lost resource: {service_filter,'demo_one@127.0.0.1'}
12:41:18.331 [info] Lost resource: {service_blaat,'demo_two@127.0.0.1'}
12:41:18.331 [info] Lost resource: {service_echo,'demo_one@127.0.0.1'}
ok
  spr_ets_handler_eunit:567: update_routing_table_test_...ok
  spr_ets_handler_eunit:569: update_routing_table_test_...ok
  spr_ets_handler_eunit:571: update_routing_table_test_...ok
  spr_ets_handler_eunit:574: update_routing_table_test_...ok
  spr_ets_handler_eunit:575: update_routing_table_test_...ok
  spr_ets_handler_eunit:577: update_routing_table_test_...ok
  spr_ets_handler_eunit:578: update_routing_table_test_...ok
  spr_ets_handler_eunit:580: update_routing_table_test_...ok
  spr_ets_handler_eunit:582: update_routing_table_test_...ok
  spr_ets_handler_eunit:584: update_routing_table_test_...ok
  spr_ets_handler_eunit:586: update_routing_table_test_...ok
  spr_ets_handler_eunit:589: update_routing_table_test_...ok
  spr_ets_handler_eunit:591: update_routing_table_test_...ok
  spr_ets_handler_eunit:593: update_routing_table_test_...ok
  spr_ets_handler_eunit:595: update_routing_table_test_...ok
  spr_ets_handler_eunit:638: get_host_names_test_...ok
  spr_ets_handler_eunit:639: get_host_names_test_...ok
  spr_ets_handler_eunit:652: get_host_names_empty_list_test_...ok
  spr_ets_handler_eunit:671: get_host_names_from_file_test_...ok
12:41:19.126 [info] Added nodes: ['spr_ets_handler_eunit_1@127.0.0.1','spr_ets_handler_eunit_2_1@127.0.0.1','spr_ets_handler_eunit_2_2@127.0.0.1','spr_ets_handler_eunit_3@127.0.0.1']
12:41:19.126 [info] Added resource: {compiler,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:19.126 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:19.126 [info] Added resource: {compiler,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:19.126 [info] Added resource: {runtime_tools,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:19.126 [info] Added resource: {kernel,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:19.126 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_1@127.0.0.1'}
12:41:19.126 [info] Added resource: {kernel,'spr_ets_handler_eunit_2_2@127.0.0.1'}
12:41:19.126 [info] Added resource: {kernel,'spr_ets_handler_eunit_3@127.0.0.1'}
12:41:19.127 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  spr_ets_handler_eunit:707: update_host_names_test_...ok
  spr_ets_handler_eunit:708: update_host_names_test_...12:41:19.130 [notice] reload_world_list invoked
[0.004 s] ok
  spr_ets_handler_eunit:709: update_host_names_test_...ok
  spr_ets_handler_eunit:712: update_host_names_test_...12:41:19.142 [notice] reload_world_list invoked
ok
  spr_ets_handler_eunit:713: update_host_names_test_...[0.004 s] ok
  spr_ets_handler_eunit:714: update_host_names_test_...ok
  spr_ets_handler_eunit:715: update_host_names_test_...12:41:19.155 [notice] Updating host names: ['127.0.0.1'] -> ['127.0.0.1','240.0.0.0']
ok
  spr_ets_handler_eunit:721: update_host_names_test_...ok
  spr_ets_handler_eunit:722: update_host_names_test_...12:41:19.161 [notice] Updating host names: ['127.0.0.1','240.0.0.0'] -> ['240.0.0.0']
ok
  spr_ets_handler_eunit:730: update_host_names_test_...ok
  spr_ets_handler_eunit:731: update_host_names_test_...ok
12:41:19.169 [info] {nodedown: ''spr_ets_handler_eunit_1@127.0.0.1''}
12:41:19.173 [info] {nodedown: ''spr_ets_handler_eunit_2_1@127.0.0.1''}
12:41:19.175 [info] {nodedown: ''spr_ets_handler_eunit_2_2@127.0.0.1''}
12:41:19.177 [info] {nodedown: ''spr_ets_handler_eunit_3@127.0.0.1''}
12:41:19.178 [info] Application spapi_router exited with reason: stopped
12:41:19.358 [info] Added nodes: ['spr_ets_handler_eunit_1@127.0.0.1']
12:41:19.358 [info] Added resource: {kernel,'spr_ets_handler_eunit_1@127.0.0.1'}
12:41:19.359 [info] Application spapi_router started on node 'spr_ets_handler_eunit@127.0.0.1'
  spr_ets_handler_eunit:758: handle_info_test_...12:41:19.359 [error] Unhandled: update_host_names
ok
  spr_ets_handler_eunit:759: handle_info_test_...12:41:19.390 [warning] Triggering reload of workers list; nodes_down: []; nodes_missing_workers: [{'spr_ets_handler_eunit_1@127.0.0.1',[compiler,runtime_tools]}]
ok
  spr_ets_handler_eunit:760: handle_info_test_...ok
  spr_ets_handler_eunit:761: handle_info_test_...ok
  spr_ets_handler_eunit:762: handle_info_test_...12:41:19.399 [info] {nodedown: ''fakenode@127.0.0.3''}
12:41:19.402 [error] Unhandled: unhandled
ok
  spr_ets_handler_eunit:763: handle_info_test_...ok
  spr_ets_handler_eunit:764: handle_info_test_...ok
12:41:19.431 [info] {nodedown: ''spr_ets_handler_eunit_1@127.0.0.1''}
12:41:19.432 [info] Application spapi_router exited with reason: stopped
  [done in 5.412 s]
module 'spapi_router_callback'
module 'spr_router_eunit'
  spr_router_eunit:6: get_call_type_test_...ok
  spr_router_eunit:7: get_call_type_test_...ok
  spr_router_eunit:8: get_call_type_test_...ok
  spr_router_eunit:9: get_call_type_test_...ok
  spr_router_eunit:10: get_call_type_test_...ok
12:41:19.498 [info] Application spapi_router started on node nonode@nohost
  spr_router_eunit:25: list_workers_test_...[0.001 s] ok
  spr_router_eunit:26: list_workers_test_...ok
  spr_router_eunit:27: list_workers_test_...ok
  spr_router_eunit:28: list_workers_test_...ok
12:41:19.510 [info] Application spapi_router exited with reason: stopped
12:41:19.701 [info] Added nodes: ['kernel_1@127.0.0.1','kernel_2@127.0.0.1']
12:41:19.701 [info] Added resource: {stdlib,'kernel_1@127.0.0.1'}
12:41:19.701 [info] Added resource: {stdlib,'kernel_2@127.0.0.1'}
12:41:19.701 [info] Added resource: {kernel,'kernel_1@127.0.0.1'}
12:41:19.702 [info] Added resource: {kernel,'kernel_2@127.0.0.1'}
12:41:19.702 [info] Application spapi_router started on node 'kernel_1@127.0.0.1'
  spr_router_eunit:71: call_test_...ok
  spr_router_eunit:73: call_test_...ok
  spr_router_eunit:75: call_test_...12:41:19.711 [notice] No node available matching the given regexp: "none"
[0.001 s] ok
  spr_router_eunit:77: call_test_...ok
  spr_router_eunit:82: call_test_...[0.001 s] ok
  spr_router_eunit:87: call_test_...[0.001 s] ok
  spr_router_eunit:91: call_test_...ok
  spr_router_eunit:95: call_test_...[0.002 s] ok
12:41:19.730 [info] {nodedown: ''kernel_2@127.0.0.1''}
  spr_router_eunit:103: to_run_test_...12:41:19.731 [info] Application spapi_router exited with reason: stopped
ok
  spr_router_eunit:104: to_run_test_...ok
  spr_router_eunit:105: to_run_test_...ok
  spr_router_eunit:110: log_call_test_...ok
  spr_router_eunit:111: log_call_test_...ok
  spr_router_eunit:112: log_call_test_...ok
  spr_router_eunit:117: invoke_by_type_cast_test_...ok
  spr_router_eunit:119: invoke_by_type_cast_test_...ok
  spr_router_eunit:125: invoke_by_type_call_test_...ok
  spr_router_eunit:127: invoke_by_type_call_test_...[0.048 s] ok
  [done in 0.351 s]
module 'spr_util'
module 'spapi_router_callback_example'
module 'spr_util_eunit'
  spr_util_eunit:7: differences_test_...ok
  spr_util_eunit:8: differences_test_...ok
  spr_util_eunit:9: differences_test_...ok
  spr_util_eunit:10: differences_test_...ok
  spr_util_eunit:15: pmap_test_...ok
  spr_util_eunit:17: pmap_test_...[0.102 s] ok
  spr_util_eunit:26: pmap_test_...ok
  spr_util_eunit:28: pmap_test_...[0.018 s] ok
  spr_util_eunit:39: pmap_test_...[0.012 s] ok
  spr_util_eunit:49: pmap_test_...test/spr_util_eunit.erl:63:<0.132.0>: TimeSpent0=1003566, TimeSpent=1081382
[2.085 s] ok
  spr_util_eunit:68: pmap_test_...ok
  spr_util_eunit:79: pmap_test_...[1.004 s] ok
  spr_util_eunit:87: pmap_test_...ok
  spr_util_eunit:94: pmap_test_...ok
  [done in 3.263 s]
module 'spr_router'
=======================================================
  All 135 tests passed.
Cover analysis: /home/ec2-user/projects/spapi-router/.eunit/index.html
Coverdata export: /home/ec2-user/projects/spapi-router/.eunit/eunit.coverdata

Code Coverage:
spapi_router_callback         : not
spapi_router_callback_eunit   : 97%
spapi_router_callback_example :  0%
spapi_router_callback_noop    :  0%
spr_app                       : 60%
spr_ets_handler               : 95%
spr_ets_handler_eunit         : 98%
spr_router                    : 96%
spr_router_eunit              : 100
spr_sup                       : 100
spr_util                      : 77%
spr_util_eunit                : 100

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants