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

Module config as a map #3534

Merged
merged 13 commits into from
Feb 10, 2022
Merged

Module config as a map #3534

merged 13 commits into from
Feb 10, 2022

Conversation

chrzaszcz
Copy link
Member

@chrzaszcz chrzaszcz commented Feb 7, 2022

Start the conversion of module options from proplists to maps. Maps are more efficient, easier to work with, and better integrated with mongoose_config.

Changes in gen_mod:

  • Support for maps in option lookup, including nested maps. Proplists need to be supported at least until all modules are converted to use maps.
  • More strict types for option keys and values.
    • This caused some rework of a few places in the code, where values were functions. It is not possible to set an arbitrary fun in TOML, so I think it's best to avoid this.
    • Instead of setting functions, set module names which implement a specific behaviour, like we do for backends.
    • For now, merger_fun in mongoose_user_cache is hardcoded to be maps:merge/2 as it was impossible to set this option anyway.
  • Dropped support for set_opt to discourage modifying options at runtime - if we need to do this with maps, the built-in map syntax is better suited for this. The result should be a new type.
  • Removed calls to gen_mod API not related to modules, e.g. general proplist processing, but only where dialyzer complained.

Changes in modules:

  • Update two first modules, mod_auth_token and mod_extdisco, to use maps.
  • Defaults are set up in the config specs.
  • mod_extdisco supports dynamic domains now - it was easy and the code was already modified a lot.
  • I decided to use direct pattern matching on maps to get the opts in simple cases instead of calling gen_mod:get_opt/2. I am not completely sure if this is always the right way, but it makes sense to leverage the language constructs instead of calling getter functions. However, the getters for nested maps might be useful, so I think that we need to find out what works best as we progress with the remaining modules.

@codecov
Copy link

codecov bot commented Feb 7, 2022

Codecov Report

Merging #3534 (503b249) into master (6a008ef) will decrease coverage by 0.03%.
The diff coverage is 95.23%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3534      +/-   ##
==========================================
- Coverage   81.10%   81.06%   -0.04%     
==========================================
  Files         419      419              
  Lines       32296    32282      -14     
==========================================
- Hits        26193    26171      -22     
- Misses       6103     6111       +8     
Impacted Files Coverage Δ
src/mongoose_async_pools.erl 95.74% <87.50%> (ø)
src/gen_mod.erl 78.57% <88.88%> (+1.00%) ⬆️
src/mod_auth_token.erl 81.50% <88.88%> (-0.62%) ⬇️
src/config/mongoose_config_parser.erl 90.24% <100.00%> (ø)
src/ejabberd_cowboy.erl 88.78% <100.00%> (ø)
src/http_upload/mod_http_upload.erl 94.62% <100.00%> (ø)
src/mam/mod_mam_rdbms_arch_async.erl 96.62% <100.00%> (-0.04%) ⬇️
src/mod_auth_token_backend.erl 100.00% <100.00%> (ø)
src/mod_extdisco.erl 100.00% <100.00%> (ø)
src/mongoose_api_users.erl 89.74% <100.00%> (ø)
... and 14 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6a008ef...503b249. Read the comment docs.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 7, 2022

small_tests_24 / small_tests / 3e286cf
Reports root / small


small_tests_23 / small_tests / 3e286cf
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 3e286cf
Reports root/ big
OK: 2691 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 3e286cf
Reports root/ big
OK: 2691 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 3e286cf
Reports root/ big
OK: 2674 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 3e286cf
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 3e286cf
Reports root/ big
OK: 2691 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 3e286cf
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 3e286cf
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 3e286cf
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 3e286cf
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 3e286cf
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 3e286cf
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 3e286cf
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 3e286cf
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 7, 2022

small_tests_24 / small_tests / 20876d2
Reports root / small


small_tests_23 / small_tests / 20876d2
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 20876d2
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 20876d2
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 20876d2
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 20876d2
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 20876d2
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 20876d2
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 20876d2
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 20876d2
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 20876d2
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 20876d2
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 20876d2
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 20876d2
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 20876d2
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 7, 2022

small_tests_24 / small_tests / dcb75df
Reports root / small


small_tests_23 / small_tests / dcb75df
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / dcb75df
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / dcb75df
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / dcb75df
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / dcb75df
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / dcb75df
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / dcb75df
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / dcb75df
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / dcb75df
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / dcb75df
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / dcb75df
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / dcb75df
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / dcb75df
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / dcb75df
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0

- Support key paths for easier nested map processing
- Support old key-value list format as well for the transition period
- Define types more strictly
- Remove set_opt/3 to keep module options constant
Module options should remain constant.
Any modification means creating a new data structure,
so 'gen_mod' API sholdn't be used anymore for it.
This module should be used only when working with module options.
Instead, maintain the map as the new data structure.
The main motivation is that functions are not covered by the
  mongoose_config:value() type.
Functions are not allowed as config values.
This function would never be set in the config - it was impossible.
In the future we can change this code to accept e.g. module names instead.
- Make validity_period a map (more straightforward and easy to set defaults)
Also:
- Support dynamic domains
- Simplify types and XML generation
- Support iqdisc

Note: attribute order is not specified now, as it is not significant in XML
- Add a helper for testing default values
- Update tests for mod_auth_token and mod_extdisco
- Support dynamic domains
- iqdisc for 2 modules
- updated option format
@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 7, 2022

small_tests_24 / small_tests / 4fb9606
Reports root / small


small_tests_23 / small_tests / 4fb9606
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 4fb9606
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 4fb9606
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3007 / Failed: 3 / User-skipped: 247 / Auto-skipped: 74

mam_SUITE:rdbms_async_pool_muc_light:init_per_group
{'EXIT',
 {{badrpc,
   {'EXIT',
  {{start_child_failed,
    {error,
     {{shutdown,
     {failed_to_start_child,pm_mam_async_pool_localhost,
      {shutdown,
       {failed_to_start_child,
      'wpool_pool-pm_mam_async_pool_localhost-process-sup',
      {shutdown,
       {failed_to_start_child,
        'wpool_pool-pm_mam_async_pool_localhost-1',
        {already_started,<8641.15204.1>}}}}}}},
    {child,undefined,pm_mam_sup_async_pool_localhost,
     {mongoose_async_pools,start_link,
      [<<"localhost">>,pm_mam,
       #{batch_name => insert_mam_messages30,batch_size => 30,
       flush_callback => fun mod_mam_rdbms_arch_async:flush_pm/2,
       flush_extra =>
        #{batch_name => insert_mam_messages30,batch_size => 30,
        flush_interval => 1,pool_size => 16},
       flush_interval => 1,pool_size => 16}]},
     transient,false,infinity,supervisor,
     [mongoose_async_pools]}}},
    #{id => pm_mam_sup_async_pool_localhost,restart => transient,
    start =>
     {mongoose_async_pools,start_link,
      [<<"localhost">>,pm_mam,
       #{batch_name => insert_mam_messages30,batch_size => 30,
       flush_callback => fun mod_mam_rdbms_arch_async:flush_pm/2,
       flush_extra =>
        #{batch_name => insert_mam_messages30,batch_size => 30,
        flush_interval => 1,pool_size => 16},
       flush_interval => 1,pool_size => 16}]},
    type => supervisor}},
   [{ejabberd_sup,start_child,1,
     [{file,"/home/circleci/project/src/ejabberd_sup.erl"},{line,183}]},
    {mo...

Report log

mam_SUITE:rdbms_async_pool_prefs_cases:messages_filtered_when_prefs_default_policy_is_roster
{error,{test_case_failed,"ASSERT EQUAL\n\tExpected []\n\tValue [ok,ok,ok,ok,ok]\n"}}

Report log

mam_SUITE:rdbms_async_pool_prefs_cases:messages_filtered_when_prefs_default_policy_is_always
{error,{test_case_failed,"ASSERT EQUAL\n\tExpected []\n\tValue [ok,ok,ok,ok,ok,ok]\n"}}

Report log

mam_SUITE:rdbms_async_pool_prefs_cases:messages_filtered_when_prefs_default_policy_is_never
{error,{test_case_failed,"ASSERT EQUAL\n\tExpected []\n\tValue [ok,ok,ok]\n"}}

Report log

mam_SUITE:rdbms_mnesia_muc_light:init_per_group
{'EXIT',
  {{badrpc,
     {'EXIT',
       {{start_child_failed,
          {error,{already_started,<8641.15223.1>}},
          #{id => muc_mam_sup_async_pool_localhost,
          restart => transient,
          start =>
            {mongoose_async_pools,start_link,
              [<<"localhost">>,muc_mam,
               #{batch_name => insert_mam_muc_messages30,
                 batch_size => 30,
                 flush_callback =>
                   fun mod_mam_rdbms_arch_async:flush_muc/2,
                 flush_extra =>
                   #{batch_name => insert_mam_muc_messages30,
                   batch_size => 30,flush_interval => 1,
                   pool_size => 16},
                 flush_interval => 1,pool_size => 16}]},
          type => supervisor}},
        [{ejabberd_sup,start_child,1,
           [{file,"/home/circleci/project/src/ejabberd_sup.erl"},
          {line,183}]},
         {mod_mam_rdbms_arch_async,'-start/2-lc$^0/1-0-',2,
           [{file,
            "/home/circleci/project/src/mam/mod_mam_rdbms_arch_async.erl"},
          {line,48}]},
         {gen_mod,start_module_for_host_type,3,
           [{file,"/home/circleci/project/src/gen_mod.erl"},
          {line,132}]},
         {mongoose_modules,start_module,4,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,95}]},
         {mongoose_modules,ensure_started,3,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,75}]},
         {mongoo...

Report log

mam_SUITE:rdbms_async_cache_muc_all:init_per_group
{'EXIT',
  {{badrpc,
     {'EXIT',
       {{start_child_failed,
          {error,{already_started,<8641.15223.1>}},
          #{id => muc_mam_sup_async_pool_localhost,
          restart => transient,
          start =>
            {mongoose_async_pools,start_link,
              [<<"localhost">>,muc_mam,
               #{batch_name => insert_mam_muc_messages30,
                 batch_size => 30,
                 flush_callback =>
                   fun mod_mam_rdbms_arch_async:flush_muc/2,
                 flush_extra =>
                   #{batch_name => insert_mam_muc_messages30,
                   batch_size => 30,flush_interval => 1,
                   pool_size => 16},
                 flush_interval => 1,pool_size => 16}]},
          type => supervisor}},
        [{ejabberd_sup,start_child,1,
           [{file,"/home/circleci/project/src/ejabberd_sup.erl"},
          {line,183}]},
         {mod_mam_rdbms_arch_async,'-start/2-lc$^0/1-0-',2,
           [{file,
            "/home/circleci/project/src/mam/mod_mam_rdbms_arch_async.erl"},
          {line,48}]},
         {gen_mod,start_module_for_host_type,3,
           [{file,"/home/circleci/project/src/gen_mod.erl"},
          {line,132}]},
         {mongoose_modules,start_module,4,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,95}]},
         {mongoose_modules,ensure_started,3,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,75}]},
         {mongoo...

Report log

mam_SUITE:rdbms_async_cache_muc_light:init_per_group
{'EXIT',
  {{badrpc,
     {'EXIT',
       {{start_child_failed,
          {error,{already_started,<8641.15223.1>}},
          #{id => muc_mam_sup_async_pool_localhost,
          restart => transient,
          start =>
            {mongoose_async_pools,start_link,
              [<<"localhost">>,muc_mam,
               #{batch_name => insert_mam_muc_messages30,
                 batch_size => 30,
                 flush_callback =>
                   fun mod_mam_rdbms_arch_async:flush_muc/2,
                 flush_extra =>
                   #{batch_name => insert_mam_muc_messages30,
                   batch_size => 30,flush_interval => 1,
                   pool_size => 16},
                 flush_interval => 1,pool_size => 16}]},
          type => supervisor}},
        [{ejabberd_sup,start_child,1,
           [{file,"/home/circleci/project/src/ejabberd_sup.erl"},
          {line,183}]},
         {mod_mam_rdbms_arch_async,'-start/2-lc$^0/1-0-',2,
           [{file,
            "/home/circleci/project/src/mam/mod_mam_rdbms_arch_async.erl"},
          {line,48}]},
         {gen_mod,start_module_for_host_type,3,
           [{file,"/home/circleci/project/src/gen_mod.erl"},
          {line,132}]},
         {mongoose_modules,start_module,4,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,95}]},
         {mongoose_modules,ensure_started,3,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,75}]},
         {mongoo...

Report log

mam_SUITE:rdbms_cache_muc_light:init_per_group
{'EXIT',
  {{badrpc,
     {'EXIT',
       {{start_child_failed,
          {error,{already_started,<8641.15223.1>}},
          #{id => muc_mam_sup_async_pool_localhost,
          restart => transient,
          start =>
            {mongoose_async_pools,start_link,
              [<<"localhost">>,muc_mam,
               #{batch_name => insert_mam_muc_messages30,
                 batch_size => 30,
                 flush_callback =>
                   fun mod_mam_rdbms_arch_async:flush_muc/2,
                 flush_extra =>
                   #{batch_name => insert_mam_muc_messages30,
                   batch_size => 30,flush_interval => 1,
                   pool_size => 16},
                 flush_interval => 1,pool_size => 16}]},
          type => supervisor}},
        [{ejabberd_sup,start_child,1,
           [{file,"/home/circleci/project/src/ejabberd_sup.erl"},
          {line,183}]},
         {mod_mam_rdbms_arch_async,'-start/2-lc$^0/1-0-',2,
           [{file,
            "/home/circleci/project/src/mam/mod_mam_rdbms_arch_async.erl"},
          {line,48}]},
         {gen_mod,start_module_for_host_type,3,
           [{file,"/home/circleci/project/src/gen_mod.erl"},
          {line,132}]},
         {mongoose_modules,start_module,4,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,95}]},
         {mongoose_modules,ensure_started,3,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,75}]},
         {mongoo...

Report log

mam_SUITE:rdbms_mnesia_cache_muc_light:init_per_group
{'EXIT',
  {{badrpc,
     {'EXIT',
       {{start_child_failed,
          {error,{already_started,<8641.15223.1>}},
          #{id => muc_mam_sup_async_pool_localhost,
          restart => transient,
          start =>
            {mongoose_async_pools,start_link,
              [<<"localhost">>,muc_mam,
               #{batch_name => insert_mam_muc_messages30,
                 batch_size => 30,
                 flush_callback =>
                   fun mod_mam_rdbms_arch_async:flush_muc/2,
                 flush_extra =>
                   #{batch_name => insert_mam_muc_messages30,
                   batch_size => 30,flush_interval => 1,
                   pool_size => 16},
                 flush_interval => 1,pool_size => 16}]},
          type => supervisor}},
        [{ejabberd_sup,start_child,1,
           [{file,"/home/circleci/project/src/ejabberd_sup.erl"},
          {line,183}]},
         {mod_mam_rdbms_arch_async,'-start/2-lc$^0/1-0-',2,
           [{file,
            "/home/circleci/project/src/mam/mod_mam_rdbms_arch_async.erl"},
          {line,48}]},
         {gen_mod,start_module_for_host_type,3,
           [{file,"/home/circleci/project/src/gen_mod.erl"},
          {line,132}]},
         {mongoose_modules,start_module,4,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,95}]},
         {mongoose_modules,ensure_started,3,
           [{file,"/home/circleci/project/src/mongoose_modules.erl"},
          {line,75}]},
         {mongoo...

Report log


riak_mnesia_24 / riak_mnesia / 4fb9606
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 4fb9606
Reports root


small_tests_24 / small_tests / 4fb9606
Reports root / small


small_tests_24 / small_tests / 4fb9606
Reports root / small


small_tests_23 / small_tests / 4fb9606
Reports root / small


small_tests_23 / small_tests / 4fb9606
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 4fb9606
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 4fb9606
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 4fb9606
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 4fb9606
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 4fb9606
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 4fb9606
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 4fb9606
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 4fb9606
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 4fb9606
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0

@esl esl deleted a comment from mongoose-im Feb 9, 2022
@chrzaszcz chrzaszcz marked this pull request as ready for review February 9, 2022 09:29
Copy link
Contributor

@gustawlippa gustawlippa left a comment

Choose a reason for hiding this comment

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

Nice, looks good! 👍

{extdisco_configured, [sequence], extdisco_configured_tests()},
{multiple_extdisco_configured, [sequence], multiple_extdisco_configured_tests()},
{extdisco_required_elements_configured, [sequence], extdisco_required_elements_configured_tests()}],
ct_helper:repeat_all_until_all_ok(G).
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice. 👍 I know we have some flaky tests, but for me we could just remove it from all suites.

Copy link
Member Author

Choose a reason for hiding this comment

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

For extdisco and auth_token there should be no flaky tests already, so I removed the repeat.

src/mod_extdisco.erl Outdated Show resolved Hide resolved
@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 9, 2022

small_tests_24 / small_tests / 503b249
Reports root / small


small_tests_23 / small_tests / 503b249
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 503b249
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 503b249
Reports root/ big
OK: 2693 / Failed: 0 / User-skipped: 255 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 503b249
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 503b249
Reports root/ big
OK: 2710 / Failed: 0 / User-skipped: 238 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 503b249
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 503b249
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 503b249
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 503b249
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 503b249
Reports root/ big
OK: 1840 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 503b249
Reports root/ big
OK: 3079 / Failed: 0 / User-skipped: 252 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 503b249
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 503b249
Reports root/ big
OK: 3084 / Failed: 0 / User-skipped: 247 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 503b249
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 363 / Auto-skipped: 0

@gustawlippa gustawlippa merged commit 6eeb6b4 into master Feb 10, 2022
@gustawlippa gustawlippa deleted the module-opts-as-map branch February 10, 2022 09:52
@Premwoik Premwoik added this to the 5.1.0 milestone May 25, 2022
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