Repository navigation
Fix flaky test in bosh_SUITE - #4529
Conversation
The instrumentation event 'xmpp_element_in' checked in 'create_and_terminate_session' was actually NOT emitted in this test, but in another ones. This is why the test was flaky. Solution: - Simplify event assertions - check them once in 'interleave_requests'. - Make sure the events are emitted in the same test by using timestamps.
|
mssql_mnesia_27 / odbc_mssql_mnesia / c175963 elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / c175963 small_tests_27 / small_tests / c175963 small_tests_26 / small_tests / c175963 small_tests_27_arm64 / small_tests / c175963 ldap_mnesia_26 / ldap_mnesia / c175963 ldap_mnesia_27 / ldap_mnesia / c175963 internal_mnesia_27 / internal_mnesia / c175963 pubsub_SUITE:dag+node_config:notify_config_test{error,{{badmatch,false},
[{pubsub_tools,check_response,2,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,445}]},
{pubsub_tools,receive_response,3,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,435}]},
{pubsub_tools,receive_and_check_response,4,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,425}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,75}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1794}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1303}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1235}]}]}}metrics_api_SUITE:all_metrics_are_global:init_per_group{'EXIT',{{badrpc,timeout},
[{distributed_helper,rpc,
[#{timeout => 30000,
node => mongooseim2@localhost},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,152}]},
{distributed_helper,add_node_to_mnesia_cluster,2,
[{file,"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,56}]},
{distributed_helper,add_node_to_cluster,2,
[{file,"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,48}]},
{metrics_helper,prepare_by_all_metrics_are_global,2,
[{file,"/home/circleci/project/big_tests/tests/metrics_helper.erl"},
{line,20}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1794}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1391}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1235}]}]}}metrics_api_SUITE:global:cluster_size{skip,
{failed,
{metrics_api_SUITE,init_per_testcase,
{{badrpc,timeout},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,leave,[]],
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,152}]},
{distributed_helper,remove_node_from_cluster,2,
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,67}]},
{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,475}]},
{metrics_api_SUITE,ensure_nodes_not_clustered,1,
[{file,
"/home/circleci/project/big_tests/tests/metrics_api_SUITE.erl"},
{line,475}]},
{metrics_api_SUITE,init_per_testcase,2,
[{file,
"/home/circleci/project/big_tests/tests/metrics_api_SUITE.erl"},
{line,82}]},
{test_server,do_init_per_testcase,2,
[{file,"test_server.erl"},{line,1564}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1265}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1235}]}]}}}}mod_global_distrib_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}persistent_cluster_id_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}s2s_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}sasl_external_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}service_domain_db_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}service_mongoose_system_metrics_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}shutdown_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}system_probes_SUITE:init_per_suite{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / c175963 dynamic_domains_mysql_redis_27 / mysql_redis / c175963 dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / c175963 dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / c175963 mysql_redis_27 / mysql_redis / c175963 pgsql_cets_27 / pgsql_cets / c175963 pgsql_mnesia_26 / pgsql_mnesia / c175963 cockroachdb_cets_27 / cockroachdb_cets / c175963 sm_SUITE:tcp_tests:parallel_unacknowledged_message_hook:unacknowledged_message_hook_filter{error,
{{get_c2s_state_name,
{external_state,resume_session},
[{times,1,
{error,
{badrpc,
{'EXIT',
{{shutdown,socket_closed},
{sys,get_state,[<10433.107245.0>]}}}},
[{distributed_helper,rpc,
[#{node => mongooseim@localhost},
sys,get_state,
[<10433.107245.0>]],
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,152}]},
{mongoose_helper,get_c2s_state_name,1,
[{file,
"/home/circleci/project/big_tests/../test/common/mongoose_helper.erl"},
{line,530}]},
{wait_helper,do_wait_until,1,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/wait_helper/src/wait_helper.erl"},
{line,130}]},
{sm_SUITE,unacknowledged_message_hook_filter,1,
[{file,
"/home/circleci/project/big_tests/tests/sm_SUITE.erl"},
{line,1077}]},
{test_server,ts_tc,3,
[{file,"test_server.erl"},{line,1794}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1303}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1235}]}]}},
{times,49,
{error,
{badrpc,
{'EXIT',{noproc,{sys,get_state,[<10433.107245.0>]}}}},
[{distributed_...pgsql_mnesia_27 / pgsql_mnesia / c175963 internal_mnesia_27 / internal_mnesia / c175963 metrics_api_SUITE:all_metrics_are_global:init_per_group{'EXIT',
{{badrpc,
{'EXIT',
{{add_table_copy_error,
{{roster_version,disc_copies},
{aborted,
{system_limit,roster_version,
{mongooseim2@localhost,none_active}}}},
{{roster_version,disc_copies},
{aborted,
{system_limit,roster_version,
{mongooseim2@localhost,none_active}}}}},
[{mongoose_cluster,check_if_successful_copied,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,142}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,2310}]},
{mongoose_cluster,unsafe_join,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,122}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,219}]},
{global,trans,4,[{file,"global.erl"},{line,699}]},
{mongoose_cluster,join,1,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,152}]},
{distributed_helper,add_node_to_mnesia_cluster,2,
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,56}]},
{distributed_helper,add_node_to_cluster,2,
[{file,
"/home/ci...metrics_api_SUITE:global:cluster_size{error,
{{badrpc,
{'EXIT',
{{add_table_copy_error,
{{pubsub_item,disc_only_copies},
{aborted,
{system_limit,pubsub_item,
{mongooseim2@localhost,none_active}}}},
{{pubsub_item,disc_only_copies},
{aborted,
{system_limit,pubsub_item,
{mongooseim2@localhost,none_active}}}}},
[{mongoose_cluster,check_if_successful_copied,1,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,142}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,2310}]},
{mongoose_cluster,unsafe_join,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,122}]},
{mongoose_cluster,with_app_stopped,2,
[{file,"/home/circleci/project/src/mongoose_cluster.erl"},
{line,219}]},
{global,trans,4,[{file,"global.erl"},{line,699}]},
{mongoose_cluster,join,1,[]}]}}},
[{distributed_helper,rpc,
[#{timeout => 30000,node => mongooseim2@localhost},
mongoose_cluster,join,
[mongooseim@localhost]],
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,152}]},
{distributed_helper,add_node_to_mnesia_cluster,2,
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,56}]},
{distributed_helper,add_node_to_cluster,2,
[{file,
"/home/circl...cockroachdb_cets_27 / cockroachdb_cets / c175963 mssql_mnesia_27 / odbc_mssql_mnesia / c175963 internal_mnesia_27 / internal_mnesia / c175963 |
The instrumentation event
xmpp_element_inchecked increate_and_terminate_sessionwas actually NOT emitted in this test, but in the previous ones. This is why the test has become extremely flaky. It wasn't flaky before reworking the XMPP element events, because they used to be emitted by stream opening/ending tags as well.Solution:
interleave_requests, where they are all emitted indeed.