-
Notifications
You must be signed in to change notification settings - Fork 429
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
MAM config in maps #3559
MAM config in maps #3559
Conversation
b427b4a
to
620a09e
Compare
Codecov Report
@@ Coverage Diff @@
## master #3559 +/- ##
==========================================
+ Coverage 79.49% 81.07% +1.57%
==========================================
Files 421 421
Lines 32307 32207 -100
==========================================
+ Hits 25683 26111 +428
+ Misses 6624 6096 -528
Continue to review full report at Codecov.
|
2b317e8
to
eefdd9d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
small_tests_24 / small_tests / f4a34a9 small_tests_23 / small_tests / f4a34a9 dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / f4a34a9 dynamic_domains_mysql_redis_24 / mysql_redis / f4a34a9 service_domain_db_SUITE:db:db_domains_with_unknown_host_type_are_ignored_by_core{error,
{{badmatch,{error,not_found}},
[{service_domain_db_SUITE,
db_domains_with_unknown_host_type_are_ignored_by_core,1,
[{file,
"/home/circleci/project/big_tests/tests/service_domain_db_SUITE.erl"},
{line,465}]},
{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}]}]}} dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / f4a34a9 dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / f4a34a9 ldap_mnesia_23 / ldap_mnesia / f4a34a9 ldap_mnesia_24 / ldap_mnesia / f4a34a9 internal_mnesia_24 / internal_mnesia / f4a34a9 pgsql_mnesia_24 / pgsql_mnesia / f4a34a9 elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / f4a34a9 mysql_redis_24 / mysql_redis / f4a34a9 mssql_mnesia_24 / odbc_mssql_mnesia / f4a34a9 pgsql_mnesia_23 / pgsql_mnesia / f4a34a9 riak_mnesia_24 / riak_mnesia / f4a34a9 dynamic_domains_mysql_redis_24 / mysql_redis / f4a34a9 |
small_tests_24 / small_tests / 4abdd21 small_tests_23 / small_tests / 4abdd21 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 4abdd21 dynamic_domains_mysql_redis_24 / mysql_redis / 4abdd21 dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 4abdd21 dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 4abdd21 ldap_mnesia_23 / ldap_mnesia / 4abdd21 internal_mnesia_24 / internal_mnesia / 4abdd21 ldap_mnesia_24 / ldap_mnesia / 4abdd21 pgsql_mnesia_23 / pgsql_mnesia / 4abdd21 pgsql_mnesia_24 / pgsql_mnesia / 4abdd21 elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 4abdd21 mysql_redis_24 / mysql_redis / 4abdd21 mssql_mnesia_24 / odbc_mssql_mnesia / 4abdd21 riak_mnesia_24 / riak_mnesia / 4abdd21 |
small_tests_24 / small_tests / 0746ec6 small_tests_23 / small_tests / 0746ec6 dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 0746ec6 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 0746ec6 dynamic_domains_mysql_redis_24 / mysql_redis / 0746ec6 dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 0746ec6 ldap_mnesia_23 / ldap_mnesia / 0746ec6 ldap_mnesia_24 / ldap_mnesia / 0746ec6 internal_mnesia_24 / internal_mnesia / 0746ec6 pgsql_mnesia_23 / pgsql_mnesia / 0746ec6 mysql_redis_24 / mysql_redis / 0746ec6 elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 0746ec6 pgsql_mnesia_24 / pgsql_mnesia / 0746ec6 mssql_mnesia_24 / odbc_mssql_mnesia / 0746ec6 riak_mnesia_24 / riak_mnesia / 0746ec6 |
fc18ed1
to
f55b29a
Compare
- Supply defaults for all options - db_jid_format and db_message_format have their own default logic, as these options have backend-specific defaults - Make Riak section included only when the backend is 'riak' - In the future we might inroduce similar subsection for other backends. - Remove redundant options: 'rdbms_message_format' and 'simple', which unnecessarily complicated the logic. - Allow to specify 'cache' only at the root level as it would not work for 'pm' or 'muc' anyway.
- Remove hardcoded defaults - Simplify 'is_archivable_message' - function name should be constant - Refactor hook handlers - Cassandra pool is not configurable and there is no async writer, so the code can be simplified - There were two different sets of defaults in mongoose_async_pools, now there is only one.
If there is a need, we could make a more generic one later (not module-specific). Also: fix type spec
- Use 'mod_mam_meta' in test setup for consistency, easier maintenance, and bringing the tests closer to the real configurations. - Simplify test groups. 'rdbms_mnesia_muc_cache' was identical to 'rdbms_mnesia_cache'. Groups are simplified to make cache enabled for both pm and muc, just like in the default configuration.
- Skip MAM tests when there is no backend available - Test MAM for backends other than RDBMS
small_tests_24 / small_tests / 93fc431 small_tests_23 / small_tests / 93fc431 dynamic_domains_mysql_redis_24 / mysql_redis / 93fc431 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 93fc431 dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 93fc431 dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 93fc431 ldap_mnesia_24 / ldap_mnesia / 93fc431 ldap_mnesia_23 / ldap_mnesia / 93fc431 internal_mnesia_24 / internal_mnesia / 93fc431 pgsql_mnesia_23 / pgsql_mnesia / 93fc431 pgsql_mnesia_24 / pgsql_mnesia / 93fc431 elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 93fc431 mssql_mnesia_24 / odbc_mssql_mnesia / 93fc431 mysql_redis_24 / mysql_redis / 93fc431 riak_mnesia_24 / riak_mnesia / 93fc431 |
small_tests_24 / small_tests / 920e113 small_tests_23 / small_tests / 920e113 dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 920e113 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 920e113 ldap_mnesia_23 / ldap_mnesia / 920e113 dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 920e113 ldap_mnesia_24 / ldap_mnesia / 920e113 internal_mnesia_24 / internal_mnesia / 920e113 pgsql_mnesia_23 / pgsql_mnesia / 920e113 elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 920e113 pgsql_mnesia_24 / pgsql_mnesia / 920e113 mssql_mnesia_24 / odbc_mssql_mnesia / 920e113 mysql_redis_24 / mysql_redis / 920e113 riak_mnesia_24 / riak_mnesia / 920e113 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've reviewed more or less everything, but I've mostly focused on reviewing mod_mam_meta and mam_SUITE, which I knew to be very very convoluted. This is an amazing improvement. It is still not obvious, but for the complexity inherently involved in such pieces of code we can only move incrementally and this is a great step forwards, thanks 👌🏽
Use maps for configuration of all MAM modules.
Main changes:
Other changes:
mam_SUITE
, this is fixed now.dynamic_modules
to set upmod_mam_meta
for all MAM big tests (instead of starting backend modules separately). Supply defaults with new helpers inmam_helper
.