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

Cache consistency #3330

Merged
merged 16 commits into from
Nov 17, 2021
Merged

Cache consistency #3330

merged 16 commits into from
Nov 17, 2021

Conversation

NelsonVides
Copy link
Collaborator

Unify caches, use segmented_cache as a cache backend and have all caches use it. mod_cache_users owns its own cache instance, and mam, which had two caches, one for users and one for rooms, was first unified to have a single cache, and then introduced the possibility to reuse mod_cache_users cache entity.

@NelsonVides
Copy link
Collaborator Author

@chrzaszcz I don't really have a preference on how to properly design the configuration for this, please suggest anything else you'd prefer 🙂

@mongoose-im

This comment has been minimized.

@codecov
Copy link

codecov bot commented Oct 11, 2021

Codecov Report

Merging #3330 (55a6deb) into master (eacb079) will decrease coverage by 8.03%.
The diff coverage is 94.44%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3330      +/-   ##
==========================================
- Coverage   80.90%   72.87%   -8.04%     
==========================================
  Files         414      414              
  Lines       32437    32301     -136     
==========================================
- Hits        26244    23540    -2704     
- Misses       6193     8761    +2568     
Impacted Files Coverage Δ
src/mam/mod_mam_meta.erl 84.78% <72.72%> (-10.40%) ⬇️
src/mongoose_user_cache.erl 97.14% <97.14%> (ø)
src/mam/mod_mam_cache_user.erl 100.00% <100.00%> (+12.28%) ⬆️
src/mod_cache_users.erl 95.45% <100.00%> (+10.01%) ⬆️
src/rdbms/rdbms_queries_mssql.erl 0.00% <0.00%> (-100.00%) ⬇️
src/wpool/mongoose_wpool_ldap.erl 0.00% <0.00%> (-100.00%) ⬇️
src/event_pusher/mod_event_pusher_push_rdbms.erl 0.00% <0.00%> (-97.44%) ⬇️
src/mod_roster_riak.erl 0.00% <0.00%> (-96.93%) ⬇️
src/wpool/mongoose_wpool_cassandra.erl 0.00% <0.00%> (-95.66%) ⬇️
src/pubsub/mod_pubsub_db_rdbms.erl 0.00% <0.00%> (-95.35%) ⬇️
... and 75 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 eacb079...55a6deb. Read the comment docs.

@mongoose-im

This comment has been minimized.

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.

I added a few comments but I need to review the segmented_cache code as well to give my final input on this.

src/config/mongoose_config_spec.erl Outdated Show resolved Hide resolved
src/config/mongoose_config_spec.erl Outdated Show resolved Hide resolved
src/mam/mod_mam_cache_user.erl Outdated Show resolved Hide resolved
rebar.lock Outdated Show resolved Hide resolved
@mongoose-im

This comment has been minimized.

@mongoose-im

This comment has been minimized.

@mongoose-im

This comment has been minimized.

@mongoose-im

This comment has been minimized.

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.

I think it's going in the right direction, I added a few comments.

doc/modules/mod_mam.md Outdated Show resolved Hide resolved
test/config_parser_SUITE.erl Show resolved Hide resolved
src/mod_cache_users.erl Outdated Show resolved Hide resolved
{cache_config, CacheOpts} ->
Deps1 = case gen_mod:get_opt(cache_module, CacheOpts, internal) of
internal -> Deps;
mod_cache_users -> add_dep(mod_cache_users, CacheOpts, Deps)
Copy link
Member

Choose a reason for hiding this comment

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

What would happen if mod_cache_users is configured on its own with different options?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That is a fantastic question, and I can only guess (expect!) that gen_mod_deps is then choosing those configured for the actual module, like, mam won't override what mod_cache_users actually chose. But, I don't actually know, will check.
A similar issue we'd have for mod_blocking against mod_privacy btw, that's why I naively expect that problem to be solve already 😓

Copy link
Member

Choose a reason for hiding this comment

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

I checked this both in the code and in the live shell and the options are merged with overriding, but it's difficult to predict which one will win - in my case the ones from mod_mam_meta took precedence. It depends on the order of modules, which (as I quickly checked) currently is alphabetical and the last one wins.

when=2021-11-16T08:29:45.513101+00:00 level=warning what=overriding_argument pid=<0.419.0> at=gen_mod_deps:merge_args/3:154 old_value={time_to_live,2} new_value={time_to_live,42} module=mod_cache_users

My recommendation is in this case to completely forbid setting the cache config options in case mod_cache_users is used instead of internal to prevent confusion. This way we would also get rid of the whole extra complexity in mod_mam_meta, which is IMO complex enough.

Anyway, the deps are declared twice: once in mod_mam_cache_user without options and then again in mod_mam_meta with options. Let's just leave the latter and it will be fine.

Copy link
Member

Choose a reason for hiding this comment

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

If there should be no options here, why not do add_dep(mod_cache_users, Deps)? For me it would be more straightforward.

src/mam/mod_mam_cache_user.erl Outdated Show resolved Hide resolved
@mongoose-im

This comment has been minimized.

@mongoose-im

This comment has been minimized.

@mongoose-im

This comment has been minimized.

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.

I reviewed again and checked the whole dependency issue - I think it needs some simplification.

{cache_config, CacheOpts} ->
Deps1 = case gen_mod:get_opt(cache_module, CacheOpts, internal) of
internal -> Deps;
mod_cache_users -> add_dep(mod_cache_users, CacheOpts, Deps)
Copy link
Member

Choose a reason for hiding this comment

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

I checked this both in the code and in the live shell and the options are merged with overriding, but it's difficult to predict which one will win - in my case the ones from mod_mam_meta took precedence. It depends on the order of modules, which (as I quickly checked) currently is alphabetical and the last one wins.

when=2021-11-16T08:29:45.513101+00:00 level=warning what=overriding_argument pid=<0.419.0> at=gen_mod_deps:merge_args/3:154 old_value={time_to_live,2} new_value={time_to_live,42} module=mod_cache_users

My recommendation is in this case to completely forbid setting the cache config options in case mod_cache_users is used instead of internal to prevent confusion. This way we would also get rid of the whole extra complexity in mod_mam_meta, which is IMO complex enough.

Anyway, the deps are declared twice: once in mod_mam_cache_user without options and then again in mod_mam_meta with options. Let's just leave the latter and it will be fine.

doc/modules/mod_mam.md Outdated Show resolved Hide resolved
@mongoose-im

This comment has been minimized.

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 in general, I just found a few minor bits that I think could be improved.

{cache_config, CacheOpts} ->
Deps1 = case gen_mod:get_opt(cache_module, CacheOpts, internal) of
internal -> Deps;
mod_cache_users -> add_dep(mod_cache_users, CacheOpts, Deps)
Copy link
Member

Choose a reason for hiding this comment

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

If there should be no options here, why not do add_dep(mod_cache_users, Deps)? For me it would be more straightforward.

%% path: (host_config[].)modules.*.cache
config_spec() ->
#section{
items = #{<<"module">> => #option{type = atom, validate = {enum, [internal, mod_cache_users]}},
Copy link
Member

@chrzaszcz chrzaszcz Nov 16, 2021

Choose a reason for hiding this comment

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

It is not a blocker, but I would omit this option in mod_cache_users as it does not make sense there, just for better clarity - it confused me a bit when reading the code. Config spec can be used as a reference and I think that unused options should not be there.

@@ -2164,11 +2164,11 @@ test_mod_mam_meta(T, M) ->
?errf(T(#{<<"simple">> => <<"yes">>})),
?errf(T(#{<<"extra_fin_element">> => <<"bad_module">>})),
?errf(T(#{<<"extra_lookup_params">> => <<"bad_module">>})),
?errf(T(#{<<"cache_config">> => #{<<"cache_module">> => <<"mod_wrong_cache">>}})),
Copy link
Member

@chrzaszcz chrzaszcz Nov 16, 2021

Choose a reason for hiding this comment

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

I think we could add a small test here with module set to internal and some options to make sure it produces an error.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Nov 16, 2021

small_tests_24 / small_tests / 64a6275
Reports root / small


internal_mnesia_24 / internal_mnesia / 64a6275
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 297 / Auto-skipped: 0


small_tests_23 / small_tests / 64a6275
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 2722 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 64a6275
Reports root/ big
OK: 2709 / Failed: 2 / User-skipped: 203 / Auto-skipped: 1

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

Report log

mongooseimctl_SUITE:stats:stats_global
{error,{{badmatch,{"5\n",0}},
    [{mongooseimctl_SUITE,'-stats_global/1-fun-0-',3,
                [{file,"/home/circleci/app/big_tests/tests/mongooseimctl_SUITE.erl"},
                 {line,1057}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1292}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1224}]}]}}

Report log


ldap_mnesia_24 / ldap_mnesia / 64a6275
Reports root/ big
OK: 1514 / Failed: 0 / User-skipped: 370 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 2722 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 64a6275
Reports root/ big
OK: 2722 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 64a6275
Reports root/ big
OK: 1514 / Failed: 0 / User-skipped: 370 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 3119 / Failed: 1 / User-skipped: 183 / Auto-skipped: 1

mongooseimctl_SUITE:stats:stats_global
{error,{{badmatch,{"5\n",0}},
    [{mongooseimctl_SUITE,'-stats_global/1-fun-0-',3,
                [{file,"/home/circleci/app/big_tests/tests/mongooseimctl_SUITE.erl"},
                 {line,1057}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1292}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1224}]}]}}

Report log


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 64a6275
Reports root/ big
OK: 1892 / Failed: 0 / User-skipped: 297 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 3121 / Failed: 0 / User-skipped: 183 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 64a6275
Reports root/ big
OK: 3117 / Failed: 2 / User-skipped: 200 / Auto-skipped: 0

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

Report log

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_stop_c2s
{error,{thrown,{timeout,msg}}}

Report log


mssql_mnesia_24 / odbc_mssql_mnesia / 64a6275
Reports root/ big
OK: 3131 / Failed: 2 / User-skipped: 183 / Auto-skipped: 0

pep_SUITE:pep_tests:delayed_receive
{error,{{badmatch,[]},
    [{pep_SUITE,'-delayed_receive/1-fun-0-',3,
          [{file,"/home/circleci/app/big_tests/tests/pep_SUITE.erl"},
           {line,276}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1292}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1224}]}]}}

Report log

pep_SUITE:pep_tests:send_caps_after_login_test
{error,{{assertion_failed,assert_many,false,
              [is_roster_set,is_presence,is_presence],
              [{xmlel,<<"presence">>,
                  [{<<"from">>,
                  <<"bOb_send_caps_after_login_test_71.502629@localhost/res1">>},
                   {<<"to">>,
                  <<"alice_send_caps_after_login_test_71.502629@localhost/res1">>},
                   {<<"xml:lang">>,<<"en">>}],
                  []}],
              "   <presence from='bOb_send_caps_after_login_test_71.502629@localhost/res1' to='alice_send_caps_after_login_test_71.502629@localhost/res1' xml:lang='en'/>"},
    [{escalus_new_assert,assert_true,2,
               [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
                {line,84}]},
     {escalus_story,'-make_all_clients_friends/1-fun-0-',2,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,114}]},
     {escalus_utils,'-each_with_index/3-fun-0-',3,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_utils.erl"},
             {line,87}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1267}]},
     {escalus_utils,'-each_with_index/3-fun-0-',3,
            [{file,"/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_utils.erl"},
             {line,87}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1267}]},
     {escalus_utils,distinct_pairs,2,
            [{file,"...

Report log


riak_mnesia_24 / riak_mnesia / 64a6275
Reports root/ big
OK: 1738 / Failed: 0 / User-skipped: 298 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 64a6275
Reports root/ big
OK: 2711 / Failed: 1 / User-skipped: 203 / Auto-skipped: 0

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

Report log


pgsql_mnesia_24 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 3118 / Failed: 3 / User-skipped: 183 / Auto-skipped: 0

service_domain_db_SUITE:db:db_keeps_syncing_after_cluster_join
{error,{test_case_failed,{[<<"example1.com">>],
              [<<"example1.com">>,<<"example2.com">>]}}}

Report log

service_domain_db_SUITE:db:rest_with_auth:rest_delete_domain_cleans_data_from_mam
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"bob_rest_delete_domain_cleans_data_from_mam_82.622188@example.org/res1">>,
          escalus_tcp,<0.19015.2>,
          [{event_manager,<0.19009.2>},
           {server,<<"example.org">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_82.622188">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.19009.2>},
            {server,<<"example.org">>},
            {username,
              <<"bob_rest_delete_domain_cleans_data_from_mam_82.622188">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_82.622188">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {port,5232},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_82.622188">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {password,<<"makota3">>},
           {port,5232},
           {stream_id,<<"0cffcc4a0ff9370c">>}]},
        5000],
       [{file,
          "/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {service_domain_db_SUITE,
       '-rest_delete_domain_cleans_data_from_mam/1-fun-0-',5...

Report log

service_domain_db_SUITE:db:rest_without_auth:rest_delete_domain_cleans_data_from_mam
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,
          <<"bob_rest_delete_domain_cleans_data_from_mam_90.698970@example.org/res1">>,
          escalus_tcp,<0.19655.2>,
          [{event_manager,<0.19649.2>},
           {server,<<"example.org">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_90.698970">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.19649.2>},
            {server,<<"example.org">>},
            {username,
              <<"bob_rest_delete_domain_cleans_data_from_mam_90.698970">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_90.698970">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {port,5232},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,
             <<"bob_rest_delete_domain_cleans_data_from_mam_90.698970">>},
           {server,<<"example.org">>},
           {host,<<"localhost">>},
           {password,<<"makota3">>},
           {port,5232},
           {stream_id,<<"6f5ffabfe67647ed">>}]},
        5000],
       [{file,
          "/home/circleci/app/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {service_domain_db_SUITE,
       '-rest_delete_domain_cleans_data_from_mam/1-fun-0-',5...

Report log


pgsql_mnesia_24 / pgsql_mnesia / 64a6275
Reports root/ big
OK: 3121 / Failed: 0 / User-skipped: 183 / 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.

There is just this tiny thing in the doc...

doc/modules/mod_mam.md Outdated Show resolved Hide resolved
@mongoose-im
Copy link
Collaborator

mongoose-im commented Nov 17, 2021

small_tests_24 / small_tests / 55a6deb
Reports root / small


internal_mnesia_24 / internal_mnesia / 55a6deb
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 297 / Auto-skipped: 0


small_tests_23 / small_tests / 55a6deb
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 55a6deb
Reports root/ big
OK: 2722 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 55a6deb
Reports root/ big
OK: 2722 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 55a6deb
Reports root/ big
OK: 1521 / Failed: 1 / User-skipped: 370 / Auto-skipped: 0

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_send_message
{error,
  {{assertion_failed,assert_many,true,
     [#Fun<sm_SUITE.22.149602>,#Fun<sm_SUITE.22.149602>,
      #Fun<sm_SUITE.22.149602>],
     [{xmlel,<<"presence">>,
        [{<<"from">>,
        <<"alicE_resume_session_state_send_message_87.478353@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alice_resume_session_state_send_message_87.478353@localhost/escalus-default-resource">>},
         {<<"xml:lang">>,<<"en">>}],
        []},
      {xmlel,<<"message">>,
        [{<<"from">>,
        <<"bOb_resume_session_state_send_message_87.430965@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alicE_resume_session_state_send_message_87.478353@localhost">>},
         {<<"xml:lang">>,<<"en">>},
         {<<"type">>,<<"chat">>}],
        [{xmlel,<<"body">>,[],[{xmlcdata,<<"msg-1">>}]},
         {xmlel,<<"delay">>,
           [{<<"xmlns">>,<<"urn:xmpp:delay">>},
          {<<"stamp">>,<<"2021-11-17T17:44:47.547168Z">>},
          {<<"from">>,<<"localhost">>}],
           [{xmlcdata,<<"SM Storage">>}]}]},
      {xmlel,<<"message">>,
        [{<<"from">>,
        <<"bOb_resume_session_state_send_message_87.430965@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alicE_resume_session_state_send_message_87.478353@localhost">>},
         {<<"xml:lang">>,<<"en">>},
         {<<"type">>,<<"chat">>}],
        [{xmlel,<<"body">>,[],[{xmlcdata,<<"msg-2">>}]},
         {xmlel,<<"delay">>,
           [{<<"xmlns">>,<<"urn:xmpp:delay"...

Report log


dynamic_domains_mysql_redis_24 / mysql_redis / 55a6deb
Reports root/ big
OK: 2711 / Failed: 1 / User-skipped: 203 / Auto-skipped: 0

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]\n"}}

Report log


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 55a6deb
Reports root/ big
OK: 2732 / Failed: 2 / User-skipped: 186 / Auto-skipped: 0

carboncopy_SUITE:all:prop_forward_received_chat_messages
{error,
  {{assertEqual,
     [{module,carboncopy_SUITE},
      {line,278},
      {expression,
        "proper : quickcheck ( proper : conjunction ( [ { PropName , Property } ] ) , [ verbose , long_result , { numtests , 3 } ] )"},
      {expected,true},
      {value,
        [[{forward_received,
          [{5,<<"Now, fair Hippolyta, our nuptial hour">>}]}]]}]},
   [{carboncopy_SUITE,run_prop,2,
      [{file,"/home/circleci/app/big_tests/tests/carboncopy_SUITE.erl"},
       {line,278}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1292}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1224}]}]}}

Report log

carboncopy_SUITE:all:prop_normal_routing_to_bare_jid
{error,
  {{assertEqual,
     [{module,carboncopy_SUITE},
      {line,278},
      {expression,
        "proper : quickcheck ( proper : conjunction ( [ { PropName , Property } ] ) , [ verbose , long_result , { numtests , 3 } ] )"},
      {expected,true},
      {value,
        [[{normal_routing,
          [{5,<<"Long withering out a young man revenue.">>}]}]]}]},
   [{carboncopy_SUITE,run_prop,2,
      [{file,"/home/circleci/app/big_tests/tests/carboncopy_SUITE.erl"},
       {line,278}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1292}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1224}]}]}}

Report log


ldap_mnesia_23 / ldap_mnesia / 55a6deb
Reports root/ big
OK: 1514 / Failed: 0 / User-skipped: 370 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 55a6deb
Reports root/ big
OK: 1892 / Failed: 0 / User-skipped: 297 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 55a6deb
Reports root/ big
OK: 3121 / Failed: 0 / User-skipped: 183 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 55a6deb
Reports root/ big
OK: 3121 / Failed: 0 / User-skipped: 183 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 55a6deb
Reports root/ big
OK: 3104 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 55a6deb
Reports root/ big
OK: 3121 / Failed: 0 / User-skipped: 183 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 55a6deb
Reports root/ big
OK: 1745 / Failed: 1 / User-skipped: 298 / Auto-skipped: 0

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_send_message
{error,
  {{assertion_failed,assert_many,true,
     [#Fun<sm_SUITE.22.149602>,#Fun<sm_SUITE.22.149602>,
      #Fun<sm_SUITE.22.149602>],
     [{xmlel,<<"presence">>,
        [{<<"from">>,
        <<"alicE_resume_session_state_send_message_18.170186@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alice_resume_session_state_send_message_18.170186@localhost/escalus-default-resource">>},
         {<<"xml:lang">>,<<"en">>}],
        []},
      {xmlel,<<"message">>,
        [{<<"from">>,
        <<"bOb_resume_session_state_send_message_18.46528@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alicE_resume_session_state_send_message_18.170186@localhost">>},
         {<<"xml:lang">>,<<"en">>},
         {<<"type">>,<<"chat">>}],
        [{xmlel,<<"body">>,[],[{xmlcdata,<<"msg-1">>}]},
         {xmlel,<<"delay">>,
           [{<<"xmlns">>,<<"urn:xmpp:delay">>},
          {<<"stamp">>,<<"2021-11-17T17:53:38.401681Z">>},
          {<<"from">>,<<"localhost">>}],
           [{xmlcdata,<<"SM Storage">>}]}]},
      {xmlel,<<"message">>,
        [{<<"from">>,
        <<"bOb_resume_session_state_send_message_18.46528@localhost/escalus-default-resource">>},
         {<<"to">>,
        <<"alicE_resume_session_state_send_message_18.170186@localhost">>},
         {<<"xml:lang">>,<<"en">>},
         {<<"type">>,<<"chat">>}],
        [{xmlel,<<"body">>,[],[{xmlcdata,<<"msg-2">>}]},
         {xmlel,<<"delay">>,
           [{<<"xmlns">>,<<"urn:xmpp:delay">>...

Report log

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!

@chrzaszcz chrzaszcz merged commit 90d6e47 into master Nov 17, 2021
@chrzaszcz chrzaszcz deleted the cache_consistency branch November 17, 2021 17:46
@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants