-
Notifications
You must be signed in to change notification settings - Fork 429
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
Custom epmd to avoid race conditions in DNS name resolutions #4174
Conversation
It collects addresses of nodes from RDBMS and from other nodes
Could lead to deadlocks or busy net_kernel
Add xref ingores
This comment was marked as outdated.
This comment was marked as outdated.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #4174 +/- ##
==========================================
- Coverage 84.03% 83.98% -0.05%
==========================================
Files 564 566 +2
Lines 34064 34167 +103
==========================================
+ Hits 28625 28695 +70
- Misses 5439 5472 +33 ☔ View full report in Codecov by Sentry. |
Reorder columns to match table, insert, update and select queries
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Add remember_addresses function Fix dialyzer
elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / b183f80 small_tests_25 / small_tests / b183f80 small_tests_26 / small_tests / b183f80 small_tests_26_arm64 / small_tests / b183f80 ldap_mnesia_25 / ldap_mnesia / b183f80 ldap_mnesia_26 / ldap_mnesia / b183f80 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / b183f80 dynamic_domains_mysql_redis_26 / mysql_redis / b183f80 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / b183f80 internal_mnesia_26 / internal_mnesia / b183f80 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / b183f80 pgsql_cets_26 / pgsql_cets / b183f80 pgsql_mnesia_25 / pgsql_mnesia / b183f80 mysql_redis_26 / mysql_redis / b183f80 carboncopy_SUITE:one2one:dropped_client_doesnt_create_duplicate_carbons{error,
{{badmatch,
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_592@localhost">>},
{<<"to">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_592@localhost/res2">>},
{<<"xmlns">>,<<"jabber:client">>},
{<<"type">>,<<"chat">>}],
[{xmlel,<<"sent">>,
[{<<"xmlns">>,<<"urn:xmpp:carbons:2">>}],
[{xmlel,<<"forwarded">>,
[{<<"xmlns">>,<<"urn:xmpp:forward:0">>}],
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_592@localhost/res1">>},
{<<"type">>,<<"chat">>},
{<<"to">>,
<<"bob_dropped_client_doesnt_create_duplicate_carbons_592@localhost/res1">>},
{<<"xmlns">>,<<"jabber:client">>}],
[{xmlel,<<"body">>,[],
[{xmlcdata,
<<"And pious action">>}]}]}]}]}]}]},
[{carboncopy_SUITE,
'-dropped_client_doesnt_create_duplicate_carbons/1-fun-0-',4,
[{file,
"/home/circleci/project/big_tests/tests/carboncopy_SUITE.erl"},
{line,189}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_serv... pgsql_mnesia_26 / pgsql_mnesia / b183f80 mssql_mnesia_26 / odbc_mssql_mnesia / b183f80 |
elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / 94ce0a7 small_tests_25 / small_tests / 94ce0a7 small_tests_26 / small_tests / 94ce0a7 small_tests_26_arm64 / small_tests / 94ce0a7 dynamic_domains_mysql_redis_26 / mysql_redis / 94ce0a7 ldap_mnesia_25 / ldap_mnesia / 94ce0a7 ldap_mnesia_26 / ldap_mnesia / 94ce0a7 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 94ce0a7 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 94ce0a7 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / 94ce0a7 graphql_muc_light_SUITE:domain_admin:domain_admin_muc_light:admin_create_room_with_unprepped_id{error,
{{badmatch,null},
[{graphql_muc_light_SUITE,admin_create_room_with_unprepped_id,1,
[{file,
"/home/circleci/project/big_tests/tests/graphql_muc_light_SUITE.erl"},
{line,1155}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} internal_mnesia_26 / internal_mnesia / 94ce0a7 pgsql_mnesia_25 / pgsql_mnesia / 94ce0a7 mysql_redis_26 / mysql_redis / 94ce0a7 pgsql_mnesia_26 / pgsql_mnesia / 94ce0a7 pgsql_cets_26 / pgsql_cets / 94ce0a7 mssql_mnesia_26 / odbc_mssql_mnesia / 94ce0a7 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / 94ce0a7 |
dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / 3d1b59e elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / 3d1b59e small_tests_25 / small_tests / 3d1b59e small_tests_26 / small_tests / 3d1b59e small_tests_26_arm64 / small_tests / 3d1b59e ldap_mnesia_25 / ldap_mnesia / 3d1b59e ldap_mnesia_26 / ldap_mnesia / 3d1b59e dynamic_domains_mysql_redis_26 / mysql_redis / 3d1b59e dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 3d1b59e internal_mnesia_26 / internal_mnesia / 3d1b59e dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 3d1b59e pgsql_cets_26 / pgsql_cets / 3d1b59e mysql_redis_26 / mysql_redis / 3d1b59e pgsql_mnesia_25 / pgsql_mnesia / 3d1b59e pgsql_mnesia_26 / pgsql_mnesia / 3d1b59e mssql_mnesia_26 / odbc_mssql_mnesia / 3d1b59e graphql_muc_light_SUITE:domain_admin:domain_admin_muc_light:admin_create_room_with_unprepped_id{error,
{{badmatch,null},
[{graphql_muc_light_SUITE,admin_create_room_with_unprepped_id,1,
[{file,
"/home/circleci/project/big_tests/tests/graphql_muc_light_SUITE.erl"},
{line,1155}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / 3d1b59e mssql_mnesia_26 / odbc_mssql_mnesia / 3d1b59e sm_SUITE:parallel_unacknowledged_message_hook:unacknowledged_message_hook_filter{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_unacknowledged_message_hook_filter_3400">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,create_fresh_user,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,112}]},
{sm_helper,connect_fresh,4,
[{file,"/home/circleci/project/big_tests/tests/sm_helper.erl"},
{line,144}]},
{sm_SUITE,unacknowledged_message_hook_filter,1,
[{file,"/home/circleci/project/big_tests/tests/sm_SUITE.erl"},
{line,785}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]}]}} sm_SUITE:parallel_unacknowledged_message_hook:unacknowledged_message_hook_resume{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_unacknowledged_message_hook_resume_3399">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,create_fresh_user,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,112}]},
{sm_helper,connect_fresh,4,
[{file,"/home/circleci/project/big_tests/tests/sm_helper.erl"},
{line,144}]},
{sm_SUITE,unacknowledged_message_hook_common,2,
[{file,"/home/circleci/project/big_tests/tests/sm_SUITE.erl"},
{line,869}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]}]}} sm_SUITE:parallel_unacknowledged_message_hook:unacknowledged_message_hook_bounce{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_unacknowledged_message_hook_bounce_3401">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,create_fresh_user,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,112}]},
{sm_helper,connect_fresh,4,
[{file,"/home/circleci/project/big_tests/tests/sm_helper.erl"},
{line,144}]},
{sm_SUITE,unacknowledged_message_hook_common,2,
[{file,"/home/circleci/project/big_tests/tests/sm_SUITE.erl"},
{line,869}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]}]}} domain_removal_SUITE:auth_removal:auth_removal{error,{{assertMatch,[{module,domain_removal_SUITE},
{line,192},
{expression,"rpc ( mim ( ) , ejabberd_auth , get_vh_registered_users , [ domain ( ) ] )"},
{pattern,"[ _Alice ]"},
{value,[{<<"alice_auth_removal_3431">>,<<"localhost">>},
{<<"bob_unacknowledged_message_hook_bounce_3401">>,
<<"localhost">>},
{<<"bob_unacknowledged_message_hook_filter_3400">>,
<<"localhost">>},
{<<"bob_unacknowledged_message_hook_resume_3399">>,
<<"localhost">>}]}]},
[{domain_removal_SUITE,auth_removal,1,
[{file,"/home/circleci/project/big_tests/tests/domain_removal_SUITE.erl"},
{line,192}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} mssql_mnesia_26 / odbc_mssql_mnesia / 3d1b59e |
elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / fb4d1a1 small_tests_25 / small_tests / fb4d1a1 small_tests_26 / small_tests / fb4d1a1 small_tests_26_arm64 / small_tests / fb4d1a1 ldap_mnesia_25 / ldap_mnesia / fb4d1a1 ldap_mnesia_26 / ldap_mnesia / fb4d1a1 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / fb4d1a1 dynamic_domains_mysql_redis_26 / mysql_redis / fb4d1a1 carboncopy_SUITE:one2one:dropped_client_doesnt_create_duplicate_carbons{error,
{{badmatch,
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_586@domain.example.com">>},
{<<"to">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_586@domain.example.com/res2">>},
{<<"xmlns">>,<<"jabber:client">>},
{<<"type">>,<<"chat">>}],
[{xmlel,<<"sent">>,
[{<<"xmlns">>,<<"urn:xmpp:carbons:2">>}],
[{xmlel,<<"forwarded">>,
[{<<"xmlns">>,<<"urn:xmpp:forward:0">>}],
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_586@domain.example.com/res1">>},
{<<"type">>,<<"chat">>},
{<<"to">>,
<<"bob_dropped_client_doesnt_create_duplicate_carbons_586@domain.example.com/res1">>},
{<<"xmlns">>,<<"jabber:client">>}],
[{xmlel,<<"body">>,[],
[{xmlcdata,
<<"And pious action">>}]}]}]}]}]}]},
[{carboncopy_SUITE,
'-dropped_client_doesnt_create_duplicate_carbons/1-fun-0-',4,
[{file,
"/home/circleci/project/big_tests/tests/carboncopy_SUITE.erl"},
{line,189}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_c... dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / fb4d1a1 internal_mnesia_26 / internal_mnesia / fb4d1a1 pgsql_cets_26 / pgsql_cets / fb4d1a1 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / fb4d1a1 sm_SUITE:ping_timeout{error,
{{assertion_failed,assert,is_presence,
{xmlel,<<"iq">>,
[{<<"from">>,<<"domain.example.com">>},
{<<"to">>,
<<"alice_ping_timeout_2976@domain.example.com/escalus-default-resource">>},
{<<"type">>,<<"get">>},
{<<"id">>,<<"51962a358390abb8">>}],
[{xmlel,<<"ping">>,[{<<"xmlns">>,<<"urn:xmpp:ping">>}],[]}]},
"<iq from='domain.example.com' to='alice_ping_timeout_2976@domain.example.com/escalus-default-resource' type='get' id='51962a358390abb8'><ping xmlns='urn:xmpp:ping'/></iq>"},
[{escalus_new_assert,assert_true,2,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
{line,84}]},
{sm_helper,initial_presence_step,2,
[{file,"/home/circleci/project/big_tests/tests/sm_helper.erl"},
{line,135}]},
{escalus_connection,connection_step,2,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
{line,163}]},
{lists,foldl_1,3,[{file,"lists.erl"},{line,1599}]},
{escalus_connection,start,2,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
{line,145}]},
{sm_helper,connect_spec,3,
[{file,"/home/circleci/project/big_tests/tests/sm_helper.erl"},
{line,153}]},
{sm_SUITE,ping_timeout,1,
[{file,"/home/circleci/project/big_tests/tests/sm_SUITE.erl"},
{line,625}]},
{... mysql_redis_26 / mysql_redis / fb4d1a1 pgsql_mnesia_25 / pgsql_mnesia / fb4d1a1 mssql_mnesia_26 / odbc_mssql_mnesia / fb4d1a1 cluster_commands_SUITE:cluster_of_three{error,
{{assertEqual,
[{module,cluster_commands_SUITE},
{line,364},
{expression,"OpCode1"},
{expected,0},
{value,1}]},
[{cluster_commands_SUITE,cluster_of_three,1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,364}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} cluster_commands_SUITE:leave_the_three{error,
{{assertEqual,
[{module,cluster_commands_SUITE},
{line,476},
{expression,"lists : member ( Element , List )"},
{expected,false},
{value,true}]},
[{cluster_commands_SUITE,'-nodes_clustered/3-lc$^0/1-0-',1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,476}]},
{cluster_commands_SUITE,leave_the_three,1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,380}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} component_SUITE:distributed:register_same_on_both{'EXIT',{badmatch,{error,econnrefused}}} connect_SUITE:session_replacement:replaced_session_cannot_terminate_different_nodes{'EXIT',{badmatch,{error,econnrefused}}} connect_SUITE:fast_tls:tls:clients_can_connect_with_ECDHE-RSA-AES256-GCM-SHA384_only{error,{{assertEqual,[{module,connect_SUITE},
{line,336},
{expression,"ciphers_working_with_ssl_clients ( Config1 )"},
{expected,["ECDHE-RSA-AES256-GCM-SHA384"]},
{value,[]}]},
[{connect_SUITE,'clients_can_connect_with_ECDHE-RSA-AES256-GCM-SHA384_only',
1,
[{file,"/home/circleci/project/big_tests/tests/connect_SUITE.erl"},
{line,336}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} gdpr_SUITE:retrieve_personal_data:retrieve_logs{error,{{badmatch,{error,enoent}},
[{gdpr_SUITE,'-retrieve_logs/1-fun-0-',2,
[{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
{line,1548}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_last_SUITE:admin_http:admin_last_configured:admin_old_users:admin_user_without_last_info_is_old_user{error,{{assertEqual,[{module,graphql_last_SUITE},
{line,421},
{expression,"length ( OldUsers )"},
{expected,3},
{value,2}]},
[{graphql_last_SUITE,admin_user_without_last_info_is_old_user,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_last_SUITE.erl"},
{line,421}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_last_SUITE:admin_cli:admin_last_configured:admin_old_users:admin_user_without_last_info_is_old_user{error,{{assertEqual,[{module,graphql_last_SUITE},
{line,421},
{expression,"length ( OldUsers )"},
{expected,3},
{value,2}]},
[{graphql_last_SUITE,admin_user_without_last_info_is_old_user,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_last_SUITE.erl"},
{line,421}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:admin_session:admin_session_http:admin_list_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,299},
{expression,"length ( Sessions )"},
{expected,3},
{value,4}]},
[{graphql_session_SUITE,admin_list_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,299}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:admin_session:admin_session_http:admin_count_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,321},
{expression,"Number"},
{expected,3},
{value,4}]},
[{graphql_session_SUITE,admin_count_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,321}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:admin_session:admin_session_cli:admin_list_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,299},
{expression,"length ( Sessions )"},
{expected,3},
{value,4}]},
[{graphql_session_SUITE,admin_list_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,299}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:admin_session:admin_session_cli:admin_count_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,321},
{expression,"Number"},
{expected,3},
{value,4}]},
[{graphql_session_SUITE,admin_count_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,321}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:domain_admin_session:domain_admin_list_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,155},
{expression,"length ( Sessions )"},
{expected,2},
{value,3}]},
[{graphql_session_SUITE,domain_admin_list_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,155}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_session_SUITE:domain_admin_session:domain_admin_count_sessions{error,
{{assertEqual,
[{module,graphql_session_SUITE},
{line,174},
{expression,"Number"},
{expected,2},
{value,3}]},
[{graphql_session_SUITE,domain_admin_count_sessions_story,4,
[{file,
"/home/circleci/project/big_tests/tests/graphql_session_SUITE.erl"},
{line,174}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_http:admin_stats_global_test{error,{{assertEqual,[{module,graphql_stats_SUITE},
{line,83},
{expression,"OnlineUsers"},
{expected,0},
{value,1}]},
[{graphql_stats_SUITE,admin_stats_global_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,83}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_http:admin_stats_global_with_users_test{error,{{assertEqual,[{module,graphql_stats_SUITE},
{line,98},
{expression,"OnlineUsers"},
{expected,1},
{value,2}]},
[{graphql_stats_SUITE,admin_stats_global_with_users_test,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,98}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_http:admin_stats_domain_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,104},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 0 , << \"onlineUsers\" >> := 0 }"},
{value,#{<<"onlineUsers">> => 1,
<<"registeredUsers">> => 0}}]},
[{graphql_stats_SUITE,admin_stats_domain_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,104}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_http:admin_stats_domain_with_users_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,113},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 1 , << \"onlineUsers\" >> := 1 }"},
{value,#{<<"onlineUsers">> => 2,
<<"registeredUsers">> => 1}}]},
[{graphql_stats_SUITE,admin_stats_domain_with_users_test,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,113}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_cli:admin_stats_global_test{error,{{assertEqual,[{module,graphql_stats_SUITE},
{line,83},
{expression,"OnlineUsers"},
{expected,0},
{value,1}]},
[{graphql_stats_SUITE,admin_stats_global_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,83}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_cli:admin_stats_global_with_users_test{error,{{assertEqual,[{module,graphql_stats_SUITE},
{line,98},
{expression,"OnlineUsers"},
{expected,1},
{value,2}]},
[{graphql_stats_SUITE,admin_stats_global_with_users_test,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,98}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_cli:admin_stats_domain_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,104},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 0 , << \"onlineUsers\" >> := 0 }"},
{value,#{<<"onlineUsers">> => 1,
<<"registeredUsers">> => 0}}]},
[{graphql_stats_SUITE,admin_stats_domain_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,104}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:admin_stats_cli:admin_stats_domain_with_users_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,113},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 1 , << \"onlineUsers\" >> := 1 }"},
{value,#{<<"onlineUsers">> => 2,
<<"registeredUsers">> => 1}}]},
[{graphql_stats_SUITE,admin_stats_domain_with_users_test,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,113}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:domain_admin_stats:admin_stats_domain_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,104},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 0 , << \"onlineUsers\" >> := 0 }"},
{value,#{<<"onlineUsers">> => 1,
<<"registeredUsers">> => 0}}]},
[{graphql_stats_SUITE,admin_stats_domain_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,104}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_stats_SUITE:domain_admin_stats:admin_stats_domain_with_users_test{error,{{assertMatch,[{module,graphql_stats_SUITE},
{line,113},
{expression,"Result1"},
{pattern,"# { << \"registeredUsers\" >> := 1 , << \"onlineUsers\" >> := 1 }"},
{value,#{<<"onlineUsers">> => 2,
<<"registeredUsers">> => 1}}]},
[{graphql_stats_SUITE,admin_stats_domain_with_users_test,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_stats_SUITE.erl"},
{line,113}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} 29 errors were truncated pgsql_mnesia_26 / pgsql_mnesia / fb4d1a1 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / fb4d1a1 dynamic_domains_mysql_redis_26 / mysql_redis / fb4d1a1 mssql_mnesia_26 / odbc_mssql_mnesia / fb4d1a1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the comments, the commit history would need cleaning up - I think there are too many commits with fixes.
{ok, IP}; | ||
false -> | ||
maybe_retry(Node, Start, Timeout, Sleep, | ||
{cannot_connect_to_epmd, Node, IP}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{cannot_connect_to_epmd, Node, IP}) | |
{cannot_connect_to_epmd, Node, IP}) |
Time = os:system_time(millisecond), | ||
case (Time - Start + Sleep) < Timeout of | ||
true -> | ||
lookup_loop(Node, Start, Timeout, Sleep); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not sleep at all...
Pairs2 = lists:keydelete(node(), 1, Pairs), | ||
remember_addresses(Pairs2), | ||
State; | ||
handle_get_pairs_result(_Node, _Res, State) -> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unreachable code?
|
||
address_please(Name, Host, AddressFamily) -> | ||
Node = list_to_atom(Name ++ "@" ++ Host), | ||
case mongoose_node_address:lookup(Node) of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not just ask the DB directly instead of having this whole gen_server
?
%% undocumented (so, we cannot match in in handle_info) | ||
spawn_link(fun() -> | ||
%% We have to ignore our node name when processing result | ||
Server ! {get_pairs_result, Node, rpc:call(Node, ?MODULE, get_pairs, [])}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's unnecessarily complex - why store something that another node got from the DB if we can access the same DB?
Update: after discussion with @arcusfelis I agree that the ETS would need updating after a node goes up, and we agreed that we could try to just query the DB for each DNS lookup instead.
{mongoose_node_address, | ||
{mongoose_node_address, start_link, []}, | ||
permanent, infinity, supervisor, [mongoose_node_address]}, | ||
[CetsDisco, Addr]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to use the new map syntax for supervisor child specs, it's been around for a while.
cluster_name varchar(250), | ||
updated_timestamp BIGINT NOT NULL, -- in seconds | ||
node_name varchar(250), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
General comment: I think that for all DB's there should be NOT NULL
for these fields.
?assertMatch({error, _}, insert_new(CN, <<"test1">>, TS, 2)), | ||
?assertMatch({error, _}, insert_new(CN, <<"test2">>, TS, 1)), | ||
?assertEqual({updated, 1}, insert_new(CN, <<"test2">>, TS, 2)), | ||
?assertEqual({updated, 1}, insert_new(CN, <<"test1">>, 1, <<>>, TS)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For me it would be more natural to have NULL used in this filed. Otherwise we have a field that can be either NULL or an empty string.
elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / ec262fe small_tests_25 / small_tests / ec262fe small_tests_26 / small_tests / ec262fe small_tests_26_arm64 / small_tests / ec262fe ldap_mnesia_25 / ldap_mnesia / ec262fe dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / ec262fe ldap_mnesia_26 / ldap_mnesia / ec262fe dynamic_domains_mysql_redis_26 / mysql_redis / ec262fe pgsql_cets_26 / pgsql_cets / ec262fe dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / ec262fe dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / ec262fe internal_mnesia_26 / internal_mnesia / ec262fe mysql_redis_26 / mysql_redis / ec262fe pgsql_mnesia_26 / pgsql_mnesia / ec262fe graphql_server_SUITE:admin_cli:clustering_tests:remove_alive_from_cluster{failed,
{graphql_server_SUITE,end_per_testcase,
{'EXIT',
{{badrpc,nodedown},
[{distributed_helper,rpc,
[#{node => mongooseim3@localhost},
mnesia,system_info,
[is_running]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,has_mnesia,1,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,31}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,53}]},
{graphql_server_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,119}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1637}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1345}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}}}} graphql_server_SUITE:admin_cli:clustering_tests:remove_node_test{error,{#{what => invalid_response_code,expected_type => ok,
response_code => {exit_status,3}},
[{graphql_helper,assert_response_code,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,256}]},
{graphql_helper,get_ok_value,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,239}]},
{graphql_server_SUITE,remove_node_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,215}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:stop_node_test{error,{#{what => invalid_response_code,expected_type => ok,
response_code => {exit_status,3}},
[{graphql_helper,assert_response_code,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,256}]},
{graphql_helper,get_ok_value,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,239}]},
{graphql_server_SUITE,stop_node_test,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,220}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} jingle_SUITE:end_per_suite{error,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{jingle_SUITE,end_per_suite,1,
[{file,"/home/circleci/project/big_tests/tests/jingle_SUITE.erl"},
{line,103}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1390}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} metrics_api_SUITE:all_metrics_are_global:end_per_group{error,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{metrics_helper,finalise_by_all_metrics_are_global,2,
[{file,"/home/circleci/project/big_tests/tests/metrics_helper.erl"},
{line,55}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1390}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} metrics_api_SUITE:global:cluster_size{skip,
{failed,
{metrics_api_SUITE,init_per_testcase,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{metrics_api_SUITE,'-ensure_nodes_not_clustered/1-lc$^1/1-1-',
2,
[{file,
"/home/circleci/project/big_tests/tests/metrics_api_SUITE.erl"},
{line,477}]},
{metrics_api_SUITE,ensure_nodes_not_clustered,1,
[{file,
... mod_global_distrib_SUITE:end_per_suite{error,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{mongoose_helper,successful_rpc,5,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,278}]},
{mod_global_distrib_SUITE,end_per_suite,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,135}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1390}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} persistent_cluster_id_SUITE:rdbms:all_nodes_in_the_cluster_have_the_same_cluster_id{failed,
{persistent_cluster_id_SUITE,end_per_testcase,
{'EXIT',
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{persistent_cluster_id_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/persistent_cluster_id_SUITE.erl"},
{line,92}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1637... persistent_cluster_id_SUITE:rdbms:cluster_id_is_restored_to_mnesia_from_rdbms_if_mnesia_lost{error,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{persistent_cluster_id_SUITE,
cluster_id_is_restored_to_mnesia_from_rdbms_if_mnesia_lost,1,
[{file,
"/home/circleci/project/big_tests/tests/persistent_cluster_id_SUITE.erl"},
{line,144}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} service_mongoose_system_metrics_SUITE:all_clustered_mongooses_report_the_same_client_id{failed,
{service_mongoose_system_metrics_SUITE,end_per_testcase,
{'EXIT',
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,
"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{service_mongoose_system_metrics_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/service_mongoose_system_metrics_SUITE.erl"},
{line,160}]},
{test_server,do_end_per_testcase,4,
[{fil... service_mongoose_system_metrics_SUITE:log_transparency:just_removed_from_config_logs_question{error,
{{badrpc,nodedown},
[{distributed_helper,rpc,
[#{node => mongooseim3@localhost},
mongoose_service,ensure_stopped,
[service_mongoose_system_metrics]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{service_mongoose_system_metrics_SUITE,disable_system_metrics,1,
[{file,
"/home/circleci/project/big_tests/tests/service_mongoose_system_metrics_SUITE.erl"},
{line,437}]},
{service_mongoose_system_metrics_SUITE,
just_removed_from_config_logs_question,1,
[{file,
"/home/circleci/project/big_tests/tests/service_mongoose_system_metrics_SUITE.erl"},
{line,283}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} service_domain_db_SUITE:init_per_suite{'EXIT',
{{badrpc,nodedown},
[{distributed_helper,rpc,
[#{node => mongooseim3@localhost},
mongoose_service,loaded_services_with_opts,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{dynamic_services,save_services,2,
[{file,
"/home/circleci/project/big_tests/tests/dynamic_services.erl"},
{line,15}]},
{lists,foldl_1,3,[{file,"lists.erl"},{line,1599}]},
{service_domain_db_SUITE,init_per_suite,1,
[{file,
"/home/circleci/project/big_tests/tests/service_domain_db_SUITE.erl"},
{line,176}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1390}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} dynamic_domains_SUITE:end_per_suite{error,
{{badrpc,
{'EXIT',
{{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
[{mongoose_cluster,detach_nodes,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,212}]},
{mongoose_cluster,'-do_leave/0-fun-0-',0,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,54}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,221}]},
{global,trans,4,[{file,"global.erl"},{line,477}]},
{mongoose_cluster,leave,0,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,140}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,55}]},
{dynamic_domains_SUITE,uncluster_nodes,2,
[{file,
"/home/circleci/project/big_tests/tests/dynamic_domains_SUITE.erl"},
{line,215}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1390}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} mssql_mnesia_26 / odbc_mssql_mnesia / ec262fe pgsql_mnesia_25 / pgsql_mnesia / ec262fe pgsql_mnesia_26 / pgsql_mnesia / ec262fe |
See rebased version #4179 |
This PR addresses:
Sometimes, it could take 30 seconds for DNS record to become resolvable in k8s.
In this time, a node could try establishing outgoing erlang distribution connections but could not accept incoming erlang distribution connections. But, global tries to maintain a fully connected mesh between nodes. This means that
Proposed changes include:
mongoose_node_address
- keeps a list of IP addresses and nodenames - shares it between nodes.