-
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
CETS support for S2S #4046
CETS support for S2S #4046
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
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 looks good in general. I added some comments.
src/s2s/mongoose_s2s_mnesia.erl
Outdated
pid :: pid() | '$1' | ||
}). | ||
|
||
-record(s2s_secret, {host_type, source, secret}). |
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.
The original s2s_shared
record had types, could you include them here?
src/ejabberd_s2s.erl
Outdated
get_shared_secret(HostType) -> | ||
mongoose_s2s_backend:get_shared_secret(HostType). | ||
|
||
-spec register_secret(mongooseim:host_type(), ejabberd_s2s:secret_source(), ejabberd_s2s:base16_secret()) -> ok. |
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.
-spec register_secret(mongooseim:host_type(), ejabberd_s2s:secret_source(), ejabberd_s2s:base16_secret()) -> ok. | |
-spec register_secret(mongooseim:host_type(), secret_source(), base16_secret()) -> ok. |
src/ejabberd_s2s.erl
Outdated
{ok, maps:put(?MODULE, Res, Acc)}. | ||
|
||
-spec key(mongooseim:host_type(), {jid:lserver(), jid:lserver()}, binary()) -> | ||
binary(). | ||
key(HostType, {From, To}, StreamID) -> | ||
Secret = get_shared_secret(HostType), | ||
{ok, {_, Secret}} = get_shared_secret(HostType), |
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.
Is source
used anywhere?
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 is used in set_shared_secret
.
There is some logic that decides when to generate a random secret, if not specified in the config (and when to overwrite the secret, if specified in the config). Kinda complicated to begin with, just adding Source makes code a bit more understandable in that function.
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 is removed now.
src/mongoose_listener_sup.erl
Outdated
@@ -16,7 +16,8 @@ start_link() -> | |||
|
|||
-spec start_child(supervisor:child_spec()) -> ok. | |||
start_child(ChildSpec) -> | |||
{ok, _Pid} = supervisor:start_child(?MODULE, ChildSpec), | |||
Res = supervisor:start_child(?MODULE, ChildSpec), | |||
check_start_child_result(Res, ChildSpec), |
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.
Looks complicated. What's the benefit?
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 would add ChildSpec into the error, not just a badmatch.
So, we would know which listener is crashing.
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.
Technically we would get some info from the SASL about the the child failing to start.
But it is still useful to see ChildSpec in {ok, Pid}
badmatch.
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 could use export function from ejabberd_sup:start_child and use it for logging.
I still like some reporting from start_child.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
small_tests_24 / small_tests / e567c73 small_tests_25_arm64 / small_tests / e567c73 small_tests_25 / small_tests / e567c73 ldap_mnesia_24 / ldap_mnesia / e567c73 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / e567c73 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / e567c73 ldap_mnesia_25 / ldap_mnesia / e567c73 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / e567c73 dynamic_domains_mysql_redis_25 / mysql_redis / e567c73 pgsql_mnesia_24 / pgsql_mnesia / e567c73 elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / e567c73 pgsql_cets_25 / pgsql_cets / e567c73 internal_mnesia_25 / internal_mnesia / e567c73 pgsql_mnesia_25 / pgsql_mnesia / e567c73 mysql_redis_25 / mysql_redis / e567c73 |
small_tests_24 / small_tests / 26a517b small_tests_25_arm64 / small_tests / 26a517b small_tests_25 / small_tests / 26a517b ldap_mnesia_24 / ldap_mnesia / 26a517b mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 26a517b ldap_mnesia_25 / ldap_mnesia / 26a517b s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 26a517b dynamic_domains_mysql_redis_25 / mysql_redis / 26a517b dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 26a517b internal_mnesia_25 / internal_mnesia / 26a517b s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 26a517b s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_mnesia_25 / pgsql_mnesia / 26a517b s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} mysql_redis_25 / mysql_redis / 26a517b pubsub_SUITE:tree+hometree_specific:can_create_node_with_existing_parent_path{error,{{badmatch,false},
[{pubsub_tools,check_response,2,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,491}]},
{pubsub_tools,receive_response,3,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,481}]},
{pubsub_tools,receive_and_check_response,4,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,471}]},
{pubsub_SUITE,'-can_create_node_with_existing_parent_path/1-fun-0-',
1,
[{file,"/home/circleci/project/big_tests/tests/pubsub_SUITE.erl"},
{line,1802}]},
{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,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_cets_25 / pgsql_cets / 26a517b mssql_mnesia_25 / odbc_mssql_mnesia / 26a517b mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_mnesia_24 / pgsql_mnesia / 26a517b cluster_commands_SUITE:join_twice_in_parallel_using_rpc{error,
{{verify_result,[],
[{times,1,
[{#{node => mongooseim2@localhost},[mongooseim@localhost],true},
{#{node => mongooseim@localhost},
[mongooseim2@localhost],
true}]},
{times,1,
{'EXIT',
{{badrpc,{'EXIT',{aborted,badarg}}},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost},
mnesia,system_info,
[running_db_nodes]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{distributed_helper,do_verify_result,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,67}]},
{distributed_helper,'-verify_result/2-fun-0-',2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,53}]},
{mongoose_helper,do_wait_until,2,
[{file,
"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,373}]},
{distributed_helper,verify_result,2,
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,53}]},
{cluster_commands_SUITE,join_twice_in_parallel_using_rpc,
1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,323}]},
... 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,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} cluster_commands_SUITE:leave_the_three{error,
{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{cluster_commands_SUITE,leave_the_three,1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,376}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} cluster_commands_SUITE:remove_alive_from_cluster{error,
{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,
"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{cluster_commands_SUITE,remove_alive_from_cluster,1,
[{file,
"/home/circleci/project/big_tests/tests/cluster_commands_SUITE.erl"},
{line,418}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} component_SUITE:distributed:init_per_group{'EXIT',{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,
timeout => 30000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{distributed_helper,add_node_to_cluster,2,
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,29}]},
{component_SUITE,init_per_group,2,
[{file,"/home/circleci/project/big_tests/tests/component_SUITE.erl"},
{line,100}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1380}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} connect_SUITE:fast_tls:tls:clients_can_connect_with_ECDHE-RSA-AES256-GCM-SHA384_only{error,{{assertEqual,[{module,connect_SUITE},
{line,341},
{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,341}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} 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,1557}]},
{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,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_http:clustering_http_tests:join_successful_http{error,{{verify_result,[],
[{times,20,
[{#{node => mongooseim2@localhost},
[mongooseim@localhost],
true},
{#{node => mongooseim@localhost},
[mongooseim2@localhost],
true}]}],
ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{distributed_helper,verify_result,2,
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,53}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_http:clustering_http_tests:leave_successful_http{error,{{verify_result,[],
[{times,20,
[{#{node => mongooseim2@localhost},
[mongooseim@localhost],
true},
{#{node => mongooseim@localhost},
[mongooseim2@localhost],
true}]}],
ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{distributed_helper,verify_result,2,
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,53}]},
{graphql_server_SUITE,leave_successful_http,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,229}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_http:clustering_http_tests:remove_dead_from_cluster_http{error,{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,
timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{graphql_server_SUITE,remove_dead_from_cluster_http,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,239}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_http:clustering_http_tests:remove_alive_from_cluster_http{error,{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,
timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{graphql_server_SUITE,remove_alive_from_cluster_http,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,265}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:join_successful{error,{#{expected_type => ok,
response_code => {exit_status,1},
what => invalid_response_code},
[{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,join_successful,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,143}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:leave_successful{error,{#{expected_type => ok,
response_code => {exit_status,1},
what => invalid_response_code},
[{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,leave_successful,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,149}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:join_twice{error,{#{expected_type => ok,
response_code => {exit_status,1},
what => invalid_response_code},
[{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,join_twice,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,164}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:remove_dead_from_cluster{error,{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,
timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{graphql_server_SUITE,remove_dead_from_cluster,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,174}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_server_SUITE:admin_cli:clustering_tests:remove_alive_from_cluster{error,{{badrpc,timeout},
[{distributed_helper,rpc,
[#{node => mongooseim2@localhost,
timeout => 60000},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/tests/distributed_helper.erl"},
{line,121}]},
{graphql_server_SUITE,remove_alive_from_cluster,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
{line,196}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_http:get_cluster_metrics{error,{{badkey,[<<"global">>,<<"xmppStanzaSent">>]},
[{erlang,map_get,
[[<<"global">>,<<"xmppStanzaSent">>],#{}],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_metric_SUITE,check_node_result_is_valid,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,343}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_http:get_by_name_cluster_metrics_as_dicts{error,
{function_clause,
[{graphql_metric_SUITE,
'-get_by_name_cluster_metrics_as_dicts/1-fun-2-',
[<<"mongooseim2@localhost">>,[]],
[{file,
"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,266}]},
{maps,map_1,2,[{file,"maps.erl"},{line,438}]},
{maps,map,2,[{file,"maps.erl"},{line,428}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_http:get_mim2_cluster_metrics{error,{{badkey,[<<"global">>,<<"xmppStanzaSent">>]},
[{erlang,map_get,
[[<<"global">>,<<"xmppStanzaSent">>],#{}],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_metric_SUITE,check_node_result_is_valid,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,343}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_http:get_cluster_metrics_with_nonexistent_key{error,{{badmatch,[#{<<"node">> => <<"mongooseim@localhost">>,
<<"result">> =>
[#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"del_roster_t">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"get_roster">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"get_roster_entry">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"get_subscription_lists">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"read_roster_version">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"roster_subscribe_t">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls">>,<<"update_roster_t">>]},
#{<<"dict">> => [],
<<"name">> =>
[<<"global">>,<<"backends">>,<<"mod_roster">>,
<<"calls... graphql_metric_SUITE:metrics_http:get_cluster_metrics_empty_args{error,{{badkey,[<<"global">>,<<"xmppStanzaSent">>]},
[{erlang,map_get,
[[<<"global">>,<<"xmppStanzaSent">>],#{}],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_metric_SUITE,get_cluster_metrics_empty_args,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,306}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_http:get_cluster_metrics_empty_strings{error,{{badmatch,[#{<<"node">> => <<"mongooseim2@localhost">>,
<<"result">> => []}]},
[{graphql_metric_SUITE,get_cluster_metrics_empty_strings,1,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,328}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_cli:get_cluster_metrics{error,{{badkey,[<<"global">>,<<"xmppStanzaSent">>]},
[{erlang,map_get,
[[<<"global">>,<<"xmppStanzaSent">>],#{}],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_metric_SUITE,check_node_result_is_valid,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,343}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_cli:get_by_name_cluster_metrics_as_dicts{error,
{function_clause,
[{graphql_metric_SUITE,
'-get_by_name_cluster_metrics_as_dicts/1-fun-2-',
[<<"mongooseim2@localhost">>,[]],
[{file,
"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,266}]},
{maps,map_1,2,[{file,"maps.erl"},{line,438}]},
{maps,map,2,[{file,"maps.erl"},{line,428}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} graphql_metric_SUITE:metrics_cli:get_mim2_cluster_metrics{error,{{badkey,[<<"global">>,<<"xmppStanzaSent">>]},
[{erlang,map_get,
[[<<"global">>,<<"xmppStanzaSent">>],#{}],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_metric_SUITE,check_node_result_is_valid,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_metric_SUITE.erl"},
{line,343}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} 12 errors were truncated |
small_tests_24 / small_tests / 18ef1d7 small_tests_25_arm64 / small_tests / 18ef1d7 small_tests_25 / small_tests / 18ef1d7 ldap_mnesia_24 / ldap_mnesia / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 18ef1d7 ldap_mnesia_25 / ldap_mnesia / 18ef1d7 mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} dynamic_domains_mysql_redis_25 / mysql_redis / 18ef1d7 pgsql_mnesia_24 / pgsql_mnesia / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 18ef1d7 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 18ef1d7 internal_mnesia_25 / internal_mnesia / 18ef1d7 mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_mnesia_25 / pgsql_mnesia / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_cets_25 / pgsql_cets / 18ef1d7 mysql_redis_25 / mysql_redis / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} mssql_mnesia_25 / odbc_mssql_mnesia / 18ef1d7 s2s_SUITE:dialback:dialback_key_is_different_on_different_nodes{error,{{assertEqual,[{module,s2s_SUITE},
{line,452},
{expression,"Key2"},
{expected,{ok,<<"f623e54a0741269be7dd">>}},
{value,{ok,<<"9e438f25e81cf347100b">>}}]},
[{s2s_SUITE,dialback_key_is_different_on_different_nodes,1,
[{file,"/home/circleci/project/big_tests/tests/s2s_SUITE.erl"},
{line,452}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} |
small_tests_24 / small_tests / 9993259 small_tests_25_arm64 / small_tests / 9993259 small_tests_25 / small_tests / 9993259 ldap_mnesia_24 / ldap_mnesia / 9993259 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 9993259 dynamic_domains_mysql_redis_25 / mysql_redis / 9993259 carboncopy_SUITE:all:dropped_client_doesnt_create_duplicate_carbons{error,
{{badmatch,
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_558@domain.example.com">>},
{<<"to">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_558@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_558@domain.example.com/res1">>},
{<<"to">>,
<<"bob_dropped_client_doesnt_create_duplicate_carbons_558@domain.example.com/res1">>},
{<<"type">>,<<"chat">>},
{<<"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,168}]},
{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,1782}]},
{test_server,run_test_c... pgsql_mnesia_24 / pgsql_mnesia / 9993259 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 9993259 ldap_mnesia_25 / ldap_mnesia / 9993259 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 9993259 elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 9993259 internal_mnesia_25 / internal_mnesia / 9993259 mssql_mnesia_25 / odbc_mssql_mnesia / 9993259 pgsql_mnesia_25 / pgsql_mnesia / 9993259 pgsql_cets_25 / pgsql_cets / 9993259 mysql_redis_25 / mysql_redis / 9993259 dynamic_domains_mysql_redis_25 / mysql_redis / 9993259 |
small_tests_24 / small_tests / 3ab8d27 small_tests_25_arm64 / small_tests / 3ab8d27 small_tests_25 / small_tests / 3ab8d27 ldap_mnesia_24 / ldap_mnesia / 3ab8d27 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 3ab8d27 ldap_mnesia_25 / ldap_mnesia / 3ab8d27 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 3ab8d27 dynamic_domains_mysql_redis_25 / mysql_redis / 3ab8d27 pgsql_mnesia_24 / pgsql_mnesia / 3ab8d27 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 3ab8d27 elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 3ab8d27 internal_mnesia_25 / internal_mnesia / 3ab8d27 pgsql_cets_25 / pgsql_cets / 3ab8d27 pgsql_mnesia_25 / pgsql_mnesia / 3ab8d27 mssql_mnesia_25 / odbc_mssql_mnesia / 3ab8d27 mysql_redis_25 / mysql_redis / 3ab8d27 mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,371}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} mysql_redis_25 / mysql_redis / 3ab8d27 |
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.
Thanks for extracting dialback logic to a separate module. Left a few thoughts on this PR.
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.
Looks good, I added minor comments.
src/s2s/mongoose_s2s_info.erl
Outdated
@@ -0,0 +1,46 @@ | |||
%% Some ugly code only used in tests. |
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 that we should either leave it in ejabberd_s2s
or rewrite it as less ugly code, and then put it in mongoose_s2s_info
. We try not to just move code and rename to mongooseim
.
src/s2s/mongoose_s2s_lib.erl
Outdated
is_s2s_allowed_for_host(FromTo, []) -> | ||
not is_service(FromTo) andalso allow_host(FromTo). | ||
|
||
%% Check if host is in blacklist or white list |
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.
%% Check if host is in blacklist or white list | |
%% Check if host is in blacklist or whitelist |
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.
allowlist :)
src/ejabberd_sup.erl
Outdated
@@ -178,13 +178,20 @@ init([]) -> | |||
MucIQ, | |||
ShaperSup]}}. | |||
|
|||
|
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.
Unnecessary extra space.
We do not want to move ejabberd_s2s module though in the feature branch. It would make merging to upstream too difficult.
Add next_state/2 helper function for ejabberd_s2s_out
Fixes muc:register_over_s2s
Log SSL errors from mongooose_transport
To test dialback and secrets management Add dialback_with_wrong_key testcase It improves coverage a bit
elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 936e2b1 small_tests_24 / small_tests / 936e2b1 small_tests_25 / small_tests / 936e2b1 small_tests_25_arm64 / small_tests / 936e2b1 ldap_mnesia_24 / ldap_mnesia / 936e2b1 pubsub_SUITE:dag+basic:retract_test{error,{{badmatch,false},
[{pubsub_tools,check_response,2,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,444}]},
{pubsub_tools,receive_response,3,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,434}]},
{pubsub_tools,receive_and_check_response,4,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,424}]},
{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,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 936e2b1 ldap_mnesia_25 / ldap_mnesia / 936e2b1 dynamic_domains_mysql_redis_25 / mysql_redis / 936e2b1 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 936e2b1 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 936e2b1 internal_mnesia_25 / internal_mnesia / 936e2b1 pgsql_mnesia_24 / pgsql_mnesia / 936e2b1 mam_SUITE:rdbms_async_pool_muc_all:muc_configurable_archiveid:muc_no_elements{failed,
{mam_SUITE,end_per_testcase,
{'EXIT',
{{room_archive_size,0,[{times,200,1}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,
"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mam_helper,wait_for_room_archive_size,3,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,789}]},
{mam_helper,clean_room_archive,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,733}]},
{mam_helper,destroy_room,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,726}]},
{mam_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/mam_SUITE.erl"},
{line,962}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1627}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1335}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}}}} mam_SUITE:rdbms_async_cache_muc_all:muc_configurable_archiveid:muc_only_stanzaid{failed,
{mam_SUITE,end_per_testcase,
{'EXIT',
{{room_archive_size,0,[{times,200,1}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,
"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mam_helper,wait_for_room_archive_size,3,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,789}]},
{mam_helper,clean_room_archive,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,733}]},
{mam_helper,destroy_room,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,726}]},
{mam_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/mam_SUITE.erl"},
{line,965}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1627}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1335}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}}}} pgsql_cets_25 / pgsql_cets / 936e2b1 pgsql_mnesia_25 / pgsql_mnesia / 936e2b1 mam_SUITE:rdbms_async_pool_muc_all:muc_configurable_archiveid:muc_only_stanzaid{failed,
{mam_SUITE,end_per_testcase,
{'EXIT',
{{room_archive_size,0,[{times,200,1}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,
"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mam_helper,wait_for_room_archive_size,3,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,789}]},
{mam_helper,clean_room_archive,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,733}]},
{mam_helper,destroy_room,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,726}]},
{mam_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/mam_SUITE.erl"},
{line,965}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1626}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1334}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}}}} mysql_redis_25 / mysql_redis / 936e2b1 mssql_mnesia_25 / odbc_mssql_mnesia / 936e2b1 mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} |
small_tests_24 / small_tests / 1ee1ccc elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 1ee1ccc small_tests_25 / small_tests / 1ee1ccc small_tests_25_arm64 / small_tests / 1ee1ccc ldap_mnesia_24 / ldap_mnesia / 1ee1ccc dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 1ee1ccc ldap_mnesia_25 / ldap_mnesia / 1ee1ccc dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 1ee1ccc dynamic_domains_mysql_redis_25 / mysql_redis / 1ee1ccc dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 1ee1ccc pgsql_mnesia_24 / pgsql_mnesia / 1ee1ccc mod_global_distrib_SUITE:hosts_refresher:test_host_refreshing{error,
{{trees_for_connections_present,true,[{times,50,false}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mod_global_distrib_SUITE,test_host_refreshing,1,
[{file,
"/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
{line,384}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1224}]}]}} internal_mnesia_25 / internal_mnesia / 1ee1ccc mysql_redis_25 / mysql_redis / 1ee1ccc mod_event_pusher_rabbit_SUITE:group_chat_message_publish:group_chat_message_received_event_properly_formatted{error,
{{assertMatch,
[{module,mod_event_pusher_rabbit_SUITE},
{line,422},
{expression,
"get_decoded_message_from_rabbit ( AliceGroupChatMsgRecvRK )"},
{pattern,
"# { << \"from_user_id\" >> := BobRoomJID , << \"to_user_id\" >> := AliceFullJID , << \"message\" >> := Message }"},
{value,
#{<<"from_user_id">> => <<"muc_publish@muc.localhost">>,
<<"message">> => <<>>,
<<"to_user_id">> =>
<<"alice_unnamed_2281@localhost/res1">>}}]},
[{mod_event_pusher_rabbit_SUITE,
'-group_chat_message_received_event_properly_formatted/1-fun-1-',3,
[{file,
"/home/circleci/project/big_tests/tests/mod_event_pusher_rabbit_SUITE.erl"},
{line,422}]},
{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,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}} pgsql_mnesia_25 / pgsql_mnesia / 1ee1ccc pgsql_cets_25 / pgsql_cets / 1ee1ccc mssql_mnesia_25 / odbc_mssql_mnesia / 1ee1ccc pgsql_mnesia_24 / pgsql_mnesia / 1ee1ccc |
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.
Looks good. For the future: please try to limit force pushes after review, especially for big PR's, because I had to re-read a lot of code for the third time... while what I'd like to see would be what changed after my last review, which is not easy to do.
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.
Thanks it's all looking good now 👌
elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 300b37c small_tests_24 / small_tests / 300b37c small_tests_25_arm64 / small_tests / 300b37c small_tests_25 / small_tests / 300b37c ldap_mnesia_24 / ldap_mnesia / 300b37c dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 300b37c dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 300b37c dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 300b37c ldap_mnesia_25 / ldap_mnesia / 300b37c dynamic_domains_mysql_redis_25 / mysql_redis / 300b37c pgsql_mnesia_24 / pgsql_mnesia / 300b37c internal_mnesia_25 / internal_mnesia / 300b37c pgsql_mnesia_25 / pgsql_mnesia / 300b37c mam_SUITE:rdbms_async_cache_muc_all:muc_configurable_archiveid:muc_no_elements{failed,
{mam_SUITE,end_per_testcase,
{'EXIT',
{{room_archive_size,0,[{times,200,1}],ok},
[{mongoose_helper,do_wait_until,2,
[{file,
"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
{line,357}]},
{mam_helper,wait_for_room_archive_size,3,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,789}]},
{mam_helper,clean_room_archive,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,733}]},
{mam_helper,destroy_room,1,
[{file,
"/home/circleci/project/big_tests/tests/mam_helper.erl"},
{line,726}]},
{mam_SUITE,end_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/mam_SUITE.erl"},
{line,962}]},
{test_server,do_end_per_testcase,4,
[{file,"test_server.erl"},{line,1626}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1334}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}}}} mssql_mnesia_25 / odbc_mssql_mnesia / 300b37c mysql_redis_25 / mysql_redis / 300b37c jingle_SUITE:all:resp_4xx_from_sip_proxy_results_in_session_terminate{error,
{{assertion_failed,assert,is_iq_result,
{xmlel,<<"iq">>,
[{<<"from">>,<<"error.480@localhost">>},
{<<"to">>,
<<"alice_resp_4xx_from_sip_proxy_results_in_session_terminate_1580@localhost/res1">>},
{<<"id">>,<<"a868642f-99e8-471a-afe5-b6e87ecf8a4e">>},
{<<"type">>,<<"set">>}],
[{xmlel,<<"jingle">>,
[{<<"xmlns">>,<<"urn:xmpp:jingle:1">>},
{<<"action">>,<<"session-terminate">>},
{<<"sid">>,<<"ddbe8cb0-35b8-4db8-964d-22229924483b">>}],
[{xmlel,<<"reason">>,[],
[{xmlel,<<"general-error">>,[],[]},
{xmlel,<<"sip-error">>,
[{<<"code">>,<<"480">>}],
[{xmlcdata,<<"Temporarily Unavailable">>}]}]}]}]},
"<iq from='error.480@localhost' to='alice_resp_4xx_from_sip_proxy_results_in_session_terminate_1580@localhost/res1' id='a868642f-99e8-471a-afe5-b6e87ecf8a4e' type='set'><jingle xmlns='urn:xmpp:jingle:1' action='session-terminate' sid='ddbe8cb0-35b8-4db8-964d-22229924483b'><reason><general-error/><sip-error code='480'>Temporarily Unavailable</sip-error></reason></jingle></iq>"},
[{escalus_new_assert,assert_true,2,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
{line,84}]},
{jingle_SUITE,send_initiate_and_wait_for_first_iq_set,2,
[{file,"/home/circleci/project/big_tests/tests/jingle_SUITE.erl"},
{line,389}]},
{jingle_SUITE,
'-resp_... pgsql_cets_25 / pgsql_cets / 300b37c |
This PR addresses MIM-1931
Proposed changes include:
s2s/
directory, because there are a lot of s2s files now (total 6). We could also move ejabberd_s2s, ejabberd_s2s_in, ejabberd_s2s_out into this directory later, so all s2s files are located together (not in this PR, because it would make git merging of the feature branch harder).Changes after the first review:
ejabberd_s2s:fromto()
type in a lot of places where possible. It simplifies logic a bit (one less argument to pass too).mongoose_s2s_lib
.ejabberd_s2s
module is pretty big already, so separating logic functions and functions that make side effects (i.e. routing, opening connections and writing data across the cluster) helps to understand code faster.mongoose_s2s_lib
, so the reader don't need to worry about all extra functions when trying to understand the logic for opening s2s connection.handle_conflict
which helps to choose which record to keep, when record is on both nodes that are trying to join together Conflict handler option cets#4ejabberd_s2s_out:stop_connection
callfrom ejabberd_s2s_in
. There is a comment about it. If we want to stop a connection, it should not be just one connection. But probably we should not stop connections fromejabberd_s2s_in