Skip to content

Fix flaky test in bosh_SUITE - #4529

Merged
pawlooss1 merged 1 commit into
masterfrom
fix-flaky-bosh-test
May 9, 2025
Merged

pawlooss1 merged 1 commit into
masterfrom
fix-flaky-bosh-test

Conversation

@chrzaszcz

@chrzaszcz chrzaszcz commented May 9, 2025 •

Copy link
Copy Markdown
Member

The instrumentation event xmpp_element_in checked in create_and_terminate_session was 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:

  • Simplify event assertions - check them once in interleave_requests, where they are all emitted indeed.
  • Make sure the asserted events are emitted in the same test by using timestamps.

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.
@mongoose-im

mongoose-im commented May 9, 2025 •

Copy link
Copy Markdown
Collaborator

mssql_mnesia_27 / odbc_mssql_mnesia / c175963
Reports root


elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / c175963
Reports root/ big
OK: 683 / Failed: 0 / User-skipped: 72 / Auto-skipped: 0


small_tests_27 / small_tests / c175963
Reports root / small


small_tests_26 / small_tests / c175963
Reports root / small


small_tests_27_arm64 / small_tests / c175963
Reports root / small


ldap_mnesia_26 / ldap_mnesia / c175963
Reports root/ big
OK: 2332 / Failed: 0 / User-skipped: 1187 / Auto-skipped: 0


ldap_mnesia_27 / ldap_mnesia / c175963
Reports root/ big
OK: 2332 / Failed: 0 / User-skipped: 1352 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / c175963
Reports root/ big
OK: 2301 / Failed: 1 / User-skipped: 1081 / Auto-skipped: 301

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}]}]}}

Report log

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}]}]}}

Report log

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}]}]}}}}

Report log

mod_global_distrib_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

persistent_cluster_id_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

s2s_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

sasl_external_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

service_domain_db_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

service_mongoose_system_metrics_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

shutdown_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log

system_probes_SUITE:init_per_suite
{fail,[{validate_node_failed,mongooseim_not_running,mongooseim2@localhost}]}

Report log


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / c175963
Reports root/ big
OK: 5034 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


dynamic_domains_mysql_redis_27 / mysql_redis / c175963
Reports root/ big
OK: 5164 / Failed: 0 / User-skipped: 154 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / c175963
Reports root/ big
OK: 5199 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / c175963
Reports root/ big
OK: 5194 / Failed: 0 / User-skipped: 124 / Auto-skipped: 0


mysql_redis_27 / mysql_redis / c175963
Reports root/ big
OK: 5567 / Failed: 0 / User-skipped: 149 / Auto-skipped: 0


pgsql_cets_27 / pgsql_cets / c175963
Reports root/ big
OK: 5285 / Failed: 0 / User-skipped: 188 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / c175963
Reports root/ big
OK: 5423 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


cockroachdb_cets_27 / cockroachdb_cets / c175963
Reports root/ big
OK: 5284 / Failed: 1 / User-skipped: 188 / Auto-skipped: 0

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_...

Report log


pgsql_mnesia_27 / pgsql_mnesia / c175963
Reports root/ big
OK: 5588 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / c175963
Reports root/ big
OK: 129 / Failed: 1 / User-skipped: 2 / Auto-skipped: 9

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...

Report log

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...

Report log


cockroachdb_cets_27 / cockroachdb_cets / c175963
Reports root/ big
OK: 116 / Failed: 0 / User-skipped: 0 / Auto-skipped: 0


mssql_mnesia_27 / odbc_mssql_mnesia / c175963
Reports root/ big
OK: 5583 / Failed: 0 / User-skipped: 133 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / c175963
Reports root/ big
OK: 22 / Failed: 0 / User-skipped: 0 / Auto-skipped: 0

@chrzaszcz
chrzaszcz marked this pull request as ready for review May 9, 2025 11:00

@pawlooss1 pawlooss1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 👍

@pawlooss1
pawlooss1 merged commit e9a8901 into master May 9, 2025
@pawlooss1
pawlooss1 deleted the fix-flaky-bosh-test branch May 9, 2025 11:47
@jacekwegr jacekwegr added this to the 6.4.0 milestone May 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants