Skip to content
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

Fix event not registered on shutdown #4400

Merged
merged 13 commits into from
Dec 2, 2024

Conversation

arcusfelis
Copy link
Contributor

@arcusfelis arcusfelis commented Nov 19, 2024

This PR addresses "MIM-2316 event_not_registered for c2s_xmpp_element_size_out when stopping the node error".

When we call mongooseimctl stop (and there are some websocket connections), we see this error in logs:
{error,#{what => event_not_registered,labels => #{},event_name => c2s_xmpp_element_size_out} .

Code in question is this one in mongoose_listener:

stop() ->
    Listeners = mongoose_config:get_opt(listen),
    lists:foreach(fun stop_listener/1, Listeners),
    mongoose_instrument:tear_down(instrumentation(Listeners)).

So, basically it looks like there are some c2s processes alive on the node after we call tear_down. So, metric c2s_xmpp_element_size_out was there, but not here anymore.

Proposed changes include:

  • Try to reproduce the bug, most likely you will need websocket connections when you stop the server (or stop the listener?). - Done. Just having a websocket connection is enough.

  • Try to fix the bug by ensuring that there are no c2s processes after the listener is stopped. Make sure no processes could spawn up. - there was already logic for it, it was using ranch and c2s supervisor. Moving stopping based on the supervisor above before stopping the listeners fixes the issue. But there still a chance that new connections would be established. So, we 1) - disable acceptors. 2) - stop c2s processes. 3) - stop listeners completely. instead.

Global distribution:

  • mysql_redis preset was using the same redis for both reg and mim clusters. This means that session from reg was visible in mim cluster over ejabberd_sm_redis. So, eve pid was visible in ejabberd_sm on the mim cluster too. We use different redis database numbers for different clusters now.
  • added a test with a websocket client to global distribution too.
  • added debug logging into make_error_reply.

Shutdown:

  • mongoose_c2s_sup only contains websocket clients sessions (maybe bosh too).
  • ranch contains regular XMPP connections.

Shutdown logic now is:

  • suspend all ranch acceptors.
  • drain connections from both ranch and c2s supervisor - could take some time.
  • shotdown listeners and remove instrimentation metrics.

Use ranch:wait_for_connections(Ref, '==', 0), because it is more optimized, than just pulling a list of pids and checking its length in the loop.

Ideas for future:

  • can we use websocket process as a c2s process? so we have one process in the system per user. Could be nice savings in Websocket oriented setups.
  • Move this code around a bit, so we can have mongooseimctl suspend_listener and mongooseimctl drain commands, which could be useful for implementing graceful shutdowns in k8s or ansible scripts.

Disallow new connections by calling suspend_listeners
Call broadcast_c2s_shutdown_sup
Call mongoose_listener:stop

This should unify behaviour of c2s and websockets when shutting down the node
@mongoose-im
Copy link
Collaborator

mongoose-im commented Nov 19, 2024

elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 8d032a3
Reports root/ big
OK: 471 / Failed: 2 / User-skipped: 49 / Auto-skipped: 0

gdpr_SUITE:retrieve_personal_data:retrieve_personal_data_mam:retrieve_personal_data_mam_cassandra:retrieve_mam_muc
{error,{#{what => invalid_response_code,expected_type => ok,
      response_code => {exit_status,1}},
    [{graphql_helper,assert_response_code,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,258}]},
     {graphql_helper,get_ok_value,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,241}]},
     {gdpr_SUITE,request_and_unzip_personal_data,3,
           [{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
            {line,1692}]},
     {gdpr_SUITE,'-retrieve_mam_muc/1-fun-2-',4,
           [{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
            {line,652}]},
     {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,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

gdpr_SUITE:retrieve_personal_data:retrieve_personal_data_mam:retrieve_personal_data_mam_cassandra:retrieve_mam_muc_private_msg
{error,{#{what => invalid_response_code,expected_type => ok,
      response_code => {exit_status,1}},
    [{graphql_helper,assert_response_code,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,258}]},
     {graphql_helper,get_ok_value,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,241}]},
     {gdpr_SUITE,request_and_unzip_personal_data,3,
           [{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
            {line,1692}]},
     {gdpr_SUITE,'-retrieve_mam_muc_private_msg/1-fun-2-',3,
           [{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
            {line,686}]},
     {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,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


small_tests_27 / small_tests / 8d032a3
Reports root / small


small_tests_26 / small_tests / 8d032a3
Reports root / small


small_tests_27_arm64 / small_tests / 8d032a3
Reports root / small


ldap_mnesia_27 / ldap_mnesia / 8d032a3
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_mysql_redis_27 / mysql_redis / 8d032a3
Reports root/ big
OK: 4722 / Failed: 0 / User-skipped: 152 / Auto-skipped: 0


ldap_mnesia_26 / ldap_mnesia / 8d032a3
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 8d032a3
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / 8d032a3
Reports root/ big
OK: 2492 / Failed: 0 / User-skipped: 768 / Auto-skipped: 0


pgsql_cets_27 / pgsql_cets / 8d032a3
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 8d032a3
Reports root/ big
OK: 4752 / Failed: 0 / User-skipped: 122 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 8d032a3
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / 8d032a3
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


mssql_mnesia_27 / odbc_mssql_mnesia / 8d032a3
Reports root/ big
OK: 5143 / Failed: 0 / User-skipped: 131 / Auto-skipped: 0


pgsql_mnesia_27 / pgsql_mnesia / 8d032a3
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


mysql_redis_27 / mysql_redis / 8d032a3
Reports root/ big
OK: 5126 / Failed: 1 / User-skipped: 147 / Auto-skipped: 0

mod_global_distrib_SUITE:cluster_restart:test_location_disconnect
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"alice_test_location_disconnect_2833@localhost/res1">>,
          escalus_tcp,<0.68760.0>,
          [{event_manager,<0.68756.0>},
           {server,<<"localhost">>},
           {username,<<"alicE_test_location_disconnect_2833">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.68756.0>},
            {server,<<"localhost">>},
            {username,<<"alicE_test_location_disconnect_2833">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alice_test_location_disconnect_2833">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE_test_location_disconnect_2833">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"5ad58f29a27edfd2">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {mod_global_distrib_SUITE,'-test_location_disconnect/1-fun-0-',2,
       [{file,
          "/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
        {line,702}]},
     {escalus_story,story,4,
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/esca...

Report log


cockroachdb_cets_27 / cockroachdb_cets / 8d032a3
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 8d032a3
Reports root/ big
OK: 473 / Failed: 0 / User-skipped: 49 / Auto-skipped: 0


mysql_redis_27 / mysql_redis / 8d032a3
Reports root/ big
OK: 5126 / Failed: 1 / User-skipped: 147 / Auto-skipped: 0

mod_global_distrib_SUITE:cluster_restart:test_location_disconnect
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"alice_test_location_disconnect_2795@localhost/res1">>,
          escalus_tcp,<0.68980.0>,
          [{event_manager,<0.68976.0>},
           {server,<<"localhost">>},
           {username,<<"alicE_test_location_disconnect_2795">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.68976.0>},
            {server,<<"localhost">>},
            {username,<<"alicE_test_location_disconnect_2795">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alice_test_location_disconnect_2795">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE_test_location_disconnect_2795">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"37d77508149bf259">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {mod_global_distrib_SUITE,'-test_location_disconnect/1-fun-0-',2,
       [{file,
          "/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
        {line,702}]},
     {escalus_story,story,4,
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/esca...

Report log


mysql_redis_27 / mysql_redis / 8d032a3
Reports root/ big
OK: 5126 / Failed: 1 / User-skipped: 147 / Auto-skipped: 0

mod_global_distrib_SUITE:cluster_restart:test_location_disconnect
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"alice_test_location_disconnect_2802@localhost/res1">>,
          escalus_tcp,<0.68650.0>,
          [{event_manager,<0.68646.0>},
           {server,<<"localhost">>},
           {username,<<"alicE_test_location_disconnect_2802">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.68646.0>},
            {server,<<"localhost">>},
            {username,<<"alicE_test_location_disconnect_2802">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alice_test_location_disconnect_2802">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE_test_location_disconnect_2802">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"bf062c7e08214252">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {mod_global_distrib_SUITE,'-test_location_disconnect/1-fun-0-',2,
       [{file,
          "/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
        {line,702}]},
     {escalus_story,story,4,
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/esca...

Report log


mysql_redis_27 / mysql_redis / 8d032a3
Reports root/ big
OK: 5126 / Failed: 1 / User-skipped: 147 / Auto-skipped: 0

mod_global_distrib_SUITE:cluster_restart:test_location_disconnect
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"alice_test_location_disconnect_2808@localhost/res1">>,
          escalus_tcp,<0.68707.0>,
          [{event_manager,<0.68703.0>},
           {server,<<"localhost">>},
           {username,<<"alicE_test_location_disconnect_2808">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.68703.0>},
            {server,<<"localhost">>},
            {username,<<"alicE_test_location_disconnect_2808">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alice_test_location_disconnect_2808">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE_test_location_disconnect_2808">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"ed8c1d51ef2de993">>}]},
        5000],
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {mod_global_distrib_SUITE,'-test_location_disconnect/1-fun-0-',2,
       [{file,
          "/home/circleci/project/big_tests/tests/mod_global_distrib_SUITE.erl"},
        {line,702}]},
     {escalus_story,story,4,
       [{file,
          "/home/circleci/project/big_tests/_build/default/lib/esca...

Report log

Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.29%. Comparing base (0403ca9) to head (87f7bf4).
Report is 58 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4400   +/-   ##
=======================================
  Coverage   85.28%   85.29%           
=======================================
  Files         550      550           
  Lines       33859    33880   +21     
=======================================
+ Hits        28877    28898   +21     
  Misses       4982     4982           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

mod_global_distrib_SUITE:test_location_disconnect fails trying to
route stanza to pid from another cluster (i.e. fed1).

So, it just looses a message instead of giving 503 error
Useful to debug when some errors happen
Hook callbacks should match the hook names
@mongoose-im
Copy link
Collaborator

mongoose-im commented Nov 28, 2024

elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / eb6c12d
Reports root/ big
OK: 473 / Failed: 0 / User-skipped: 49 / Auto-skipped: 0


small_tests_27 / small_tests / eb6c12d
Reports root / small


small_tests_26 / small_tests / eb6c12d
Reports root / small


small_tests_27_arm64 / small_tests / eb6c12d
Reports root / small


ldap_mnesia_26 / ldap_mnesia / eb6c12d
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_mysql_redis_27 / mysql_redis / eb6c12d
Reports root/ big
OK: 4722 / Failed: 0 / User-skipped: 152 / Auto-skipped: 0


ldap_mnesia_27 / ldap_mnesia / eb6c12d
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / eb6c12d
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / eb6c12d
Reports root/ big
OK: 2492 / Failed: 0 / User-skipped: 768 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / eb6c12d
Reports root/ big
OK: 4754 / Failed: 1 / User-skipped: 119 / Auto-skipped: 0

rdbms_SUITE:global_rdbms_queries:test_failed_wrapper_transaction
{error,
 {{assertEqual,
   [{module,rdbms_SUITE},
  {line,581},
  {expression,"rpc ( mim ( ) , meck , history , [ supervisor ] )"},
  {expected,[]},
  {value,
   [{<10418.116101.0>,
     {supervisor,handle_call,
    [which_children,
     {<10418.120459.0>,#Ref<10418.4016822428.296484867.44667>},
     {state,
      {local,mongoose_listener_sup},
      one_for_one,
      {[{8189,{127,0,0,1},tcp},
      {8666,{127,0,0,1},tcp},
      {8888,{127,0,0,1},tcp},
      {5269,{0,0,0,0},tcp},
      {9091,{0,0,0,0},tcp},
      {5561,{0,0,0,0},tcp},
      {5541,{0,0,0,0},tcp},
      {5551,{127,0,0,1},tcp},
      {8089,{0,0,0,0},tcp},
      {8088,{127,0,0,1},tcp},
      {5285,{0,0,0,0},tcp},
      {5280,{0,0,0,0},tcp},
      {5223,{0,0,0,0},tcp},
      {5222,{0,0,0,0},tcp}],
       #{{5222,{0,0,0,0},tcp} =>
        {child,<10418.116288.0>,
         {5222,{0,0,0,0},tcp},
         {mongoose_c2s_listener,start_link,
        [#{access => c2s,module => mongoose_c2s_listener,port => 5222,
           num_acceptors => 100,hibernate_after => 0,backlog => 1024,
           state_timeout => 5000,
           tls =>
          #{module => fast_tls,mode => starttls,verify_mode => none,
            certfile => "priv/ssl/fake_server.pem",
            dhfile => "priv/ssl/fake_dh_server.pem",
            protocol_options =>
             ["no_sslv2","no_sslv3","no_tlsv1","no_tlsv1_1"],
            ciphers => "TLSv1.2:TLSv1.3"},
           proxy_protocol => false,shaper => c2s_shaper,
           backwards_compat...

Report log


pgsql_cets_27 / pgsql_cets / eb6c12d
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / eb6c12d
Reports root/ big
OK: 4614 / Failed: 5 / User-skipped: 122 / Auto-skipped: 133

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/../test/common/distributed_helper.erl"},
           {line,140}]},
        {distributed_helper,has_mnesia,1,
          [{file,
             "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
           {line,31}]},
        {distributed_helper,remove_node_from_cluster,2,
          [{file,
             "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
           {line,53}]},
        {graphql_server_SUITE,end_per_testcase,2,
          [{file,
             "/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
           {line,121}]},
        {test_server,do_end_per_testcase,4,
          [{file,"test_server.erl"},{line,1638}]},
        {test_server,run_test_case_eval1,6,
          [{file,"test_server.erl"},{line,1346}]},
        {test_server,run_test_case_eval,9,
          [{file,"test_server.erl"},{line,1235}]}]}}}}

Report log

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,258}]},
     {graphql_helper,get_ok_value,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,241}]},
     {graphql_server_SUITE,remove_node_test,1,
                 [{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
                {line,225}]},
     {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

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,258}]},
     {graphql_helper,get_ok_value,2,
             [{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
              {line,241}]},
     {graphql_server_SUITE,stop_node_test,1,
                 [{file,"/home/circleci/project/big_tests/tests/graphql_server_SUITE.erl"},
                {line,230}]},
     {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: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,210}]},
         {mongoose_cluster,'-do_leave/0-fun-0-',0,
           [{file,"/home/circleci/project/src/mongoose_cluster.erl"},
          {line,52}]},
         {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,leave,0,[]}]}}},
   [{distributed_helper,rpc,
      [#{timeout => 30000,node => mongooseim2@localhost},
       mongoose_cluster,leave,[]],
      [{file,
         "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
       {line,140}]},
    {distributed_helper,remove_node_from_cluster,2,
      [{file,
         "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
       {line,55}]},
    {metrics_helper,finalize_by_all_metrics_are_global,2,
      [{file,"/home/circleci/project/big_tests/tests/metrics_helper.erl"},
       {line,30}]},
    {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,
         {'EXIT',
           {{badmatch,{[{atomic,ok}],[mongooseim3@localhost]}},
            [{mongoose_cluster,detach_nodes,1,
               [{file,
                "/home/circleci/project/src/mongoose_cluster.erl"},
              {line,210}]},
             {mongoose_cluster,'-do_leave/0-fun-0-',0,
               [{file,
                "/home/circleci/project/src/mongoose_cluster.erl"},
              {line,52}]},
             {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,leave,0,[]}]}}},
       [{distributed_helper,rpc,
          [#{timeout => 30000,node => mongooseim2@localhost},
           mongoose_cluster,leave,[]],
          [{file,
             "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
           {line,140}]},
        {distributed_helper,remove_node_from_cluster,2,
          [{file,
             "/home/circleci/project/big_tests/../test/common/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,475}]},
        {metrics_api_SUITE,ensure_nodes_not_clustered,1,
        ...

Report log

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,210}]},
             {mongoose_cluster,'-do_leave/0-fun-0-',0,
               [{file,
                "/home/circleci/project/src/mongoose_cluster.erl"},
              {line,52}]},
             {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,leave,0,[]}]}}},
       [{distributed_helper,rpc,
          [#{timeout => 30000,node => mongooseim2@localhost},
           mongoose_cluster,leave,[]],
          [{file,
             "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
           {line,140}]},
        {distributed_helper,remove_node_from_cluster,2,
          [{file,
             "/home/circleci/project/big_tests/../test/common/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,108}]},
        {test_server,do_end_per_testcase,4,
          [{file,"test_serv...

Report log

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,210}]},
         {mongoose_cluster,'-do_leave/0-fun-0-',0,
           [{file,"/home/circleci/project/src/mongoose_cluster.erl"},
          {line,52}]},
         {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,leave,0,[]}]}}},
   [{distributed_helper,rpc,
      [#{timeout => 30000,node => mongooseim@localhost},
       mongoose_cluster,leave,[]],
      [{file,
         "/home/circleci/project/big_tests/../test/common/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,174}]},
    {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

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/../test/common/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,2151}]},
    {service_domain_db_SUITE,init_per_suite,1,
      [{file,
         "/home/circleci/project/big_tests/tests/service_domain_db_SUITE.erl"},
       {line,198}]},
    {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

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,210}]},
             {mongoose_cluster,'-do_leave/0-fun-0-',0,
               [{file,
                "/home/circleci/project/src/mongoose_cluster.erl"},
              {line,52}]},
             {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,leave,0,[]}]}}},
       [{distributed_helper,rpc,
          [#{timeout => 30000,node => mongooseim2@localhost},
           mongoose_cluster,leave,[]],
          [{file,
             "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
           {line,140}]},
        {distributed_helper,remove_node_from_cluster,2,
          [{file,
             "/home/circleci/project/big_tests/../test/common/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,...

Report log

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/../test/common/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,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

system_probes_SUITE:mnesia:mnesia_info
{error,{test_case_failed,"Incorrect number of instrumentation events - matched: 0, expected: positive"}}

Report log

system_probes_SUITE:end_per_suite
{error,{test_case_failed,"Instrumentation events that were logged, but not tested:\n[{mnesia_info,#{}}]\nYou need to test them with instrument_helper:assert/3"}}

Report log


pgsql_mnesia_27 / pgsql_mnesia / eb6c12d
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


mysql_redis_27 / mysql_redis / eb6c12d
Reports root/ big
OK: 5127 / Failed: 0 / User-skipped: 147 / Auto-skipped: 0


mssql_mnesia_27 / odbc_mssql_mnesia / eb6c12d
Reports root/ big
OK: 5142 / Failed: 1 / User-skipped: 131 / Auto-skipped: 0

muc_SUITE:register:user_submits_registration_form_twice
{error,
  {{assertion_failed,assert,is_iq_result,
     [{xmlel,<<"iq">>,
        [{<<"type">>,<<"set">>},
         {<<"id">>,<<"60416375853d7a3fbd4c2b2f2d38b7b7">>},
         {<<"to">>,<<"muc.localhost">>}],
        [{xmlel,<<"query">>,
           [{<<"xmlns">>,<<"jabber:iq:register">>}],
           [{xmlel,<<"x">>,
            [{<<"xmlns">>,<<"jabber:x:data">>},
             {<<"type">>,<<"submit">>}],
            [{xmlel,<<"field">>,
               [{<<"type">>,<<"hidden">>},
                {<<"var">>,<<"FORM_TYPE">>}],
               [{xmlel,<<"value">>,[],
                  [{xmlcdata,<<"jabber:iq:register">>}]}]},
             {xmlel,<<"field">>,
               [{<<"type">>,<<"text-single">>},
                {<<"var">>,<<"nick">>}],
               [{xmlel,<<"value">>,[],
                  [{xmlcdata,
                     <<"thirdwitchroom-2814f1341e">>}]}]}]}]}]}],
     {xmlel,<<"iq">>,
       [{<<"from">>,<<"muc.localhost">>},
        {<<"to">>,
         <<"alice_user_submits_registration_form_twice_3004@localhost/res1">>},
        {<<"type">>,<<"error">>},
        {<<"id">>,<<"60416375853d7a3fbd4c2b2f2d38b7b7">>}],
       [{xmlel,<<"query">>,
          [{<<"xmlns">>,<<"jabber:iq:register">>}],
          [{xmlel,<<"x">>,
             [{<<"xmlns">>,<<"jabber:x:data">>},
            {<<"type">>,<<"submit">>}],
             [{xmlel,<<"field">>,
              [{<<"type">>,<<"hidden">>},
               {<<"var">>,<<"FORM_TYPE">>}],
              [{xmlel,<<"value">>,[],
   ...

Report log


cockroachdb_cets_27 / cockroachdb_cets / eb6c12d
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / eb6c12d
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Nov 29, 2024

elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 0a6f37d
Reports root/ big
OK: 473 / Failed: 0 / User-skipped: 49 / Auto-skipped: 0


small_tests_27 / small_tests / 0a6f37d
Reports root / small


small_tests_26 / small_tests / 0a6f37d
Reports root / small


small_tests_27_arm64 / small_tests / 0a6f37d
Reports root / small


ldap_mnesia_26 / ldap_mnesia / 0a6f37d
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


ldap_mnesia_27 / ldap_mnesia / 0a6f37d
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_mysql_redis_27 / mysql_redis / 0a6f37d
Reports root/ big
OK: 4722 / Failed: 0 / User-skipped: 152 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 0a6f37d
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / 0a6f37d
Reports root/ big
OK: 2492 / Failed: 0 / User-skipped: 768 / Auto-skipped: 0


pgsql_cets_27 / pgsql_cets / 0a6f37d
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 0a6f37d
Reports root/ big
OK: 4752 / Failed: 0 / User-skipped: 122 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 0a6f37d
Reports root/ big
OK: 4749 / Failed: 1 / User-skipped: 119 / Auto-skipped: 5

bosh_SUITE:essential:accept_higher_hold_value
{error,
  {{assertEqual,
     [{module,bosh_SUITE},
      {line,261},
      {expression,"get_bosh_sessions ( )"},
      {expected,[]},
      {value,
        [{bosh_session,<<"4db605ce011aff8422fadfa82f9d912d7f284ab0">>,
           <10418.10488.0>}]}]},
   [{bosh_SUITE,accept_higher_hold_value,1,
      [{file,"/home/circleci/project/big_tests/tests/bosh_SUITE.erl"},
       {line,261}]},
    {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


mysql_redis_27 / mysql_redis / 0a6f37d
Reports root/ big
OK: 5127 / Failed: 0 / User-skipped: 147 / Auto-skipped: 0


pgsql_mnesia_27 / pgsql_mnesia / 0a6f37d
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


cockroachdb_cets_27 / cockroachdb_cets / 0a6f37d
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / 0a6f37d
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


mssql_mnesia_27 / odbc_mssql_mnesia / 0a6f37d
Reports root/ big
OK: 5143 / Failed: 0 / User-skipped: 131 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 0a6f37d
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0

@arcusfelis arcusfelis marked this pull request as ready for review November 29, 2024 09:28
Copy link
Member

@chrzaszcz chrzaszcz left a comment

Choose a reason for hiding this comment

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

Looks good, nice to see it fixed 👍
I added minor comments.

-spec broadcast_c2s_shutdown_listeners() -> ok.
broadcast_c2s_shutdown_listeners() ->
-spec suspend_listeners(typed_listeners()) -> ok.
suspend_listeners(TypedListeners) ->
Copy link
Member

Choose a reason for hiding this comment

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

Could we place all new functions (suspend_listeners, get_typed_listeners, broadcast... etc) in a module like mongoose_listener?

Comment on lines 93 to 96
TypedListeners = get_typed_listeners(),
suspend_listeners(TypedListeners),
StoppedCount = broadcast_c2s_shutdown_sup(),
StoppedCount2 = broadcast_c2s_shutdown_to_regular_c2s_connections(TypedListeners),
Copy link
Member

Choose a reason for hiding this comment

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

This block with all the functions called could be replaced with something like mongoose_listener:shutdown_listeners()

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 2, 2024

elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 65b773b
Reports root/ big
OK: 473 / Failed: 0 / User-skipped: 49 / Auto-skipped: 0


small_tests_27 / small_tests / 65b773b
Reports root / small


small_tests_26 / small_tests / 65b773b
Reports root / small


small_tests_27_arm64 / small_tests / 65b773b
Reports root / small


ldap_mnesia_26 / ldap_mnesia / 65b773b
Reports root/ big
OK: 2349 / Failed: 1 / User-skipped: 910 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,delete_users,2,
      [{file,
        ...

Report log


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 65b773b
Reports root/ big
OK: 4754 / Failed: 1 / User-skipped: 119 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"domain.example.com">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"domain.example.com">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
    ...

Report log


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 65b773b
Reports root/ big
OK: 4754 / Failed: 1 / User-skipped: 119 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"domain.example.com">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"domain.example.com">>],
       30000,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,delete_users,2,
    ...

Report log


ldap_mnesia_27 / ldap_mnesia / 65b773b
Reports root/ big
OK: 2348 / Failed: 2 / User-skipped: 910 / Auto-skipped: 0

mod_ping_SUITE:server_ping:server_ping_pong
{error,{test_case_failed,"Incorrect number of instrumentation events - matched: 0, expected: 1"}}

Report log

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


dynamic_domains_mysql_redis_27 / mysql_redis / 65b773b
Reports root/ big
OK: 4721 / Failed: 1 / User-skipped: 152 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"domain.example.com">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"domain.example.com">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
    ...

Report log


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 65b773b
Reports root/ big
OK: 4751 / Failed: 1 / User-skipped: 122 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"domain.example.com">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"domain.example.com">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
    ...

Report log


pgsql_cets_27 / pgsql_cets / 65b773b
Reports root/ big
OK: 4631 / Failed: 1 / User-skipped: 186 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


internal_mnesia_27 / internal_mnesia / 65b773b
Reports root/ big
OK: 2491 / Failed: 1 / User-skipped: 768 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


pgsql_mnesia_26 / pgsql_mnesia / 65b773b
Reports root/ big
OK: 5145 / Failed: 1 / User-skipped: 128 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,delete_users,2,
      [{file,
        ...

Report log


mysql_redis_27 / mysql_redis / 65b773b
Reports root/ big
OK: 5126 / Failed: 1 / User-skipped: 147 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


pgsql_mnesia_27 / pgsql_mnesia / 65b773b
Reports root/ big
OK: 5145 / Failed: 1 / User-skipped: 128 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


cockroachdb_cets_27 / cockroachdb_cets / 65b773b
Reports root/ big
OK: 4631 / Failed: 1 / User-skipped: 186 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log


mssql_mnesia_27 / odbc_mssql_mnesia / 65b773b
Reports root/ big
OK: 5142 / Failed: 1 / User-skipped: 131 / Auto-skipped: 0

shutdown_SUITE:main:client_tries_to_connect_before_listener_stop
{error,{test_case_failed,wait_for_down_timeout}}

Report log

shutdown_SUITE:main:end_per_group
{error,
  {{badrpc,
     {'EXIT',
       {badarg,
         [{ets,lookup,
            [mongoose_domain_core,<<"localhost">>],
            [{error_info,
               #{cause => id,module => erl_stdlib_errors}}]},
          {mongoose_domain_core,get_host_type,1,
            [{file,
               "/home/circleci/project/src/domain/mongoose_domain_core.erl"},
             {line,48}]},
          {ejabberd_auth,call_auth_modules_for_domain,3,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,533}]},
          {ejabberd_auth,does_user_exist,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,331}]},
          {ejabberd_auth,remove_user,1,
            [{file,
               "/home/circleci/project/src/auth/ejabberd_auth.erl"},
             {line,404}]},
          {mongoose_account_api,unregister_user,1,
            [{file,
               "/home/circleci/project/src/mongoose_account_api.erl"},
             {line,106}]},
          {ejabberd_admin,unregister,2,[]}]}}},
   [{escalus_rpc,call_with_cookie_match,
      [mongooseim@localhost,ejabberd_admin,unregister,
       [<<"geralt_s">>,<<"localhost">>],
       30000,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,2310}]},
    {escalus_ejabberd,delete_users,2,
      [{file,
        ...

Report log

@arcusfelis arcusfelis force-pushed the fix-event_not_registered-on-shutdown branch from 65b773b to 87f7bf4 Compare December 2, 2024 12:26
@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 2, 2024

elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 87f7bf4
Reports root/ big
OK: 473 / Failed: 0 / User-skipped: 49 / Auto-skipped: 0


small_tests_27 / small_tests / 87f7bf4
Reports root / small


small_tests_26 / small_tests / 87f7bf4
Reports root / small


small_tests_27_arm64 / small_tests / 87f7bf4
Reports root / small


ldap_mnesia_26 / ldap_mnesia / 87f7bf4
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


ldap_mnesia_27 / ldap_mnesia / 87f7bf4
Reports root/ big
OK: 2350 / Failed: 0 / User-skipped: 910 / Auto-skipped: 0


dynamic_domains_mysql_redis_27 / mysql_redis / 87f7bf4
Reports root/ big
OK: 4722 / Failed: 0 / User-skipped: 152 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 87f7bf4
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 87f7bf4
Reports root/ big
OK: 4755 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


internal_mnesia_27 / internal_mnesia / 87f7bf4
Reports root/ big
OK: 2492 / Failed: 0 / User-skipped: 768 / Auto-skipped: 0


pgsql_cets_27 / pgsql_cets / 87f7bf4
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 87f7bf4
Reports root/ big
OK: 4752 / Failed: 0 / User-skipped: 122 / Auto-skipped: 0


mysql_redis_27 / mysql_redis / 87f7bf4
Reports root/ big
OK: 5127 / Failed: 0 / User-skipped: 147 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / 87f7bf4
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


pgsql_mnesia_27 / pgsql_mnesia / 87f7bf4
Reports root/ big
OK: 5146 / Failed: 0 / User-skipped: 128 / Auto-skipped: 0


mssql_mnesia_27 / odbc_mssql_mnesia / 87f7bf4
Reports root/ big
OK: 5143 / Failed: 0 / User-skipped: 131 / Auto-skipped: 0


cockroachdb_cets_27 / cockroachdb_cets / 87f7bf4
Reports root/ big
OK: 4632 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0

Copy link
Member

@chrzaszcz chrzaszcz left a comment

Choose a reason for hiding this comment

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

Looks good 👍

src/ejabberd_app.erl Show resolved Hide resolved
@chrzaszcz chrzaszcz merged commit a8aa910 into master Dec 2, 2024
4 checks passed
@chrzaszcz chrzaszcz deleted the fix-event_not_registered-on-shutdown branch December 2, 2024 15:34
@jacekwegr jacekwegr added this to the 6.3.1 milestone Dec 23, 2024
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