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 '[email protected]'
12:41:13.735 [info] Added nodes: ['[email protected]']
12:41:13.735 [info] Added resource: {stdlib,'[email protected]'}
12:41:13.735 [info] Added resource: {kernel,'[email protected]'}
  12:41:13.735 [info] Application spapi_router started on node '[email protected]'
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: ['[email protected]']
12:41:13.885 [info] Added resource: {stdlib,'[email protected]'}
12:41:13.885 [info] Added resource: {kernel,'[email protected]'}
12:41:13.887 [info] {nodedown: ''[email protected]''}
[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: ['[email protected]','[email protected]']
[0.001 s] ok
  spr_ets_handler_eunit:370: get_current_nodes_test_...12:41:15.586 [info] Added nodes: ['[email protected]']
[0.001 s] ok
12:41:16.103 [info] Added nodes: ['[email protected]']
12:41:16.104 [info] Added resource: {compiler,'[email protected]'}
12:41:16.104 [info] Application spapi_router started on node '[email protected]'
  spr_ets_handler_eunit:399: node_disconnection_test_...ok
  spr_ets_handler_eunit:401: node_disconnection_test_...ok
12:41:16.113 [info] {nodedown: ''[email protected]''}
12:41:16.118 [info] Application spapi_router exited with reason: stopped
12:41:16.832 [info] Added nodes: ['[email protected]','[email protected]']
12:41:16.832 [info] Added resource: {compiler,'[email protected]'}
12:41:16.832 [info] Added resource: {compiler,'[email protected]'}
12:41:16.832 [info] Added resource: {runtime_tools,'[email protected]'}
12:41:16.832 [info] Added resource: {kernel,'[email protected]'}
12:41:16.832 [info] Added resource: {kernel,'[email protected]'}
12:41:16.833 [info] Application spapi_router started on node '[email protected]'
  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: ''[email protected]''}
12:41:16.852 [info] {nodedown: ''[email protected]''}
12:41:16.855 [info] Application spapi_router exited with reason: stopped
12:41:17.564 [info] Application spapi_router started on node '[email protected]'
  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: ['[email protected]','[email protected]','[email protected]','[email protected]']
12:41:18.298 [info] Added resource: {compiler,'[email protected]'}
12:41:18.299 [info] Added resource: {compiler,'[email protected]'}
12:41:18.299 [info] Added resource: {compiler,'[email protected]'}
12:41:18.299 [info] Added resource: {runtime_tools,'[email protected]'}
12:41:18.299 [info] Added resource: {kernel,'[email protected]'}
12:41:18.299 [info] Added resource: {kernel,'[email protected]'}
12:41:18.299 [info] Added resource: {kernel,'[email protected]'}
12:41:18.299 [info] Added resource: {kernel,'[email protected]'}
12:41:18.300 [info] Application spapi_router started on node '[email protected]'
  12:41:18.300 [notice] set_node_down invoked for node ''[email protected]''
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 ''[email protected]''
ok
12:41:18.321 [info] {nodedown: ''[email protected]''}
12:41:18.324 [info] {nodedown: ''[email protected]''}
12:41:18.327 [info] {nodedown: ''[email protected]''}
12:41:18.329 [info] {nodedown: ''[email protected]''}
12:41:18.330 [info] Application spapi_router exited with reason: stopped
12:41:18.330 [info] Added resource: {service_filter,'[email protected]'}
12:41:18.330 [info] Added resource: {service_filter,'[email protected]'}
12:41:18.330 [info] Added resource: {service_blaat,'[email protected]'}
12:41:18.331 [info] Added resource: {service_echo,'[email protected]'}
  spr_ets_handler_eunit:566: update_routing_table_test_...12:41:18.331 [info] Lost resource: {service_filter,'[email protected]'}
12:41:18.331 [info] Lost resource: {service_blaat,'[email protected]'}
12:41:18.331 [info] Lost resource: {service_echo,'[email protected]'}
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: ['[email protected]','[email protected]','[email protected]','[email protected]']
12:41:19.126 [info] Added resource: {compiler,'[email protected]'}
12:41:19.126 [info] Added resource: {compiler,'[email protected]'}
12:41:19.126 [info] Added resource: {compiler,'[email protected]'}
12:41:19.126 [info] Added resource: {runtime_tools,'[email protected]'}
12:41:19.126 [info] Added resource: {kernel,'[email protected]'}
12:41:19.126 [info] Added resource: {kernel,'[email protected]'}
12:41:19.126 [info] Added resource: {kernel,'[email protected]'}
12:41:19.126 [info] Added resource: {kernel,'[email protected]'}
12:41:19.127 [info] Application spapi_router started on node '[email protected]'
  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: ''[email protected]''}
12:41:19.173 [info] {nodedown: ''[email protected]''}
12:41:19.175 [info] {nodedown: ''[email protected]''}
12:41:19.177 [info] {nodedown: ''[email protected]''}
12:41:19.178 [info] Application spapi_router exited with reason: stopped
12:41:19.358 [info] Added nodes: ['[email protected]']
12:41:19.358 [info] Added resource: {kernel,'[email protected]'}
12:41:19.359 [info] Application spapi_router started on node '[email protected]'
  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: [{'[email protected]',[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: ''[email protected]''}
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: ''[email protected]''}
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: ['[email protected]','[email protected]']
12:41:19.701 [info] Added resource: {stdlib,'[email protected]'}
12:41:19.701 [info] Added resource: {stdlib,'[email protected]'}
12:41:19.701 [info] Added resource: {kernel,'[email protected]'}
12:41:19.702 [info] Added resource: {kernel,'[email protected]'}
12:41:19.702 [info] Application spapi_router started on node '[email protected]'
  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: ''[email protected]''}
  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