-
Notifications
You must be signed in to change notification settings - Fork 428
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
Merge Feature/cets into master #4063
Conversation
Use cets for stream resumption backend Print cets tables in mongoosectl mnesia info Enable cets on CI Add test for mongooseimctl mnesia info Test ejabberd_sm_cets in ejabberd_sm_SUITE Rename to cets
Otherwise sm_SUITE fails with already_started error
…_by_nonexistent_name
Merge master into cets
This comment was marked as outdated.
This comment was marked as outdated.
Disable mnesia in pgsql_cets preset
This comment was marked as outdated.
This comment was marked as outdated.
Update CETS dependency
This comment was marked as outdated.
This comment was marked as outdated.
small_tests_24 / small_tests / 48b9569 elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 48b9569 small_tests_25 / small_tests / 48b9569 small_tests_25_arm64 / small_tests / 48b9569 ldap_mnesia_24 / ldap_mnesia / 48b9569 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 48b9569 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 48b9569 ldap_mnesia_25 / ldap_mnesia / 48b9569 dynamic_domains_mysql_redis_25 / mysql_redis / 48b9569 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 48b9569 pgsql_cets_25 / pgsql_cets / 48b9569 pgsql_mnesia_24 / pgsql_mnesia / 48b9569 mysql_redis_25 / mysql_redis / 48b9569 internal_mnesia_25 / internal_mnesia / 48b9569 mssql_mnesia_25 / odbc_mssql_mnesia / 48b9569 pgsql_mnesia_25 / pgsql_mnesia / 48b9569 |
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.
Ok, with such a gigantic diff, I'm not going to carefully read and verify everything changed here, some sections I'll only skim over, trusting that previous rounds of review and tests went well.
Notes:
- I've checked documentation, seems good to me. Not extensive enough but what is there is fine.
- I'm not verifying that everything mnesia now has a cets alternative, I trust having disabled mnesia in tests checked that already.
- I'm not paying thorough attention to pieces like bosh, jingle, or regular muc, I've only read the main module and it seems good, I trust their respective backends and/or helper modules are cool. Though btw, if we already created a dir for
muc
with the_online_
helpers, we might have as well putmod_muc
in there. Not important, just mentioning. - Changes to ejabberd_router, components, and s2s, they're amazing, thank you!
Some comments request small changes, specially the one in ejabberd_app:start/2
, please fix that one 🙏🏽
@@ -80,6 +80,7 @@ | |||
{cache_tab, "1.0.30"}, | |||
{segmented_cache, "0.3.0"}, | |||
{worker_pool, "6.0.1"}, | |||
{cets, {git, "https://github.com/esl/cets.git", {branch, "main"}}}, |
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'm going to insist in creating a hex package for this soon.
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.
Yes, we will do before release (or you could try to make a package, hope the name is free... or we would have to use short eslcets)
@@ -156,12 +156,19 @@ init([]) -> | |||
PG = | |||
{pg, | |||
{pg, start_link, [mim_scope]}, | |||
permanent, infinity, supervisor, [pg]}, | |||
permanent, infinity, worker, [pg]}, |
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.
Good catch, this wasn't a supervisor. But now this and the one below are the only worker whose death timeout is set to infinity while all the others have a brutal_kill. Out of the scope of this PR but we should give it a thought some day (I'm already doing so 😇 )
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.
rewrite it all, there is a lot of repetition in this module...
mod_muc.erl could be moved in a separate PR into |
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.
LGTM 🔥🔥🔥
elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / c5faa49 small_tests_24 / small_tests / c5faa49 small_tests_25_arm64 / small_tests / c5faa49 small_tests_25 / small_tests / c5faa49 ldap_mnesia_24 / ldap_mnesia / c5faa49 ldap_mnesia_25 / ldap_mnesia / c5faa49 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / c5faa49 dynamic_domains_mysql_redis_25 / mysql_redis / c5faa49 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / c5faa49 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / c5faa49 pgsql_mnesia_24 / pgsql_mnesia / c5faa49 pgsql_cets_25 / pgsql_cets / c5faa49 mysql_redis_25 / mysql_redis / c5faa49 pgsql_mnesia_25 / pgsql_mnesia / c5faa49 internal_mnesia_25 / internal_mnesia / c5faa49 mssql_mnesia_25 / odbc_mssql_mnesia / c5faa49 |
This PR checks if the CETS code from the feature branch passes the tests.
Ready for the final review and merge.
The following will be done after the merge:
component_backend
internal_databases
and the need to specifymnesia
explicitly.