MIM-2733 PEP item deletion#4723
Conversation
- Reuse types - Simplify parsing
|
CircleCI results for 39e17fa small_tests_legacy / small_tests / cdd4fd9 small_tests_latest / small_tests / cdd4fd9 small_tests_latest_arm64 / small_tests / cdd4fd9 ldap_mnesia_latest / ldap_mnesia / cdd4fd9 internal_mnesia_latest / internal_mnesia / cdd4fd9 dynamic_domains_pgsql_cets_legacy / pgsql_cets / cdd4fd9 dynamic_domains_pgsql_cets_latest / pgsql_cets / cdd4fd9 pgsql_cets_legacy / pgsql_cets / cdd4fd9 pgsql_cets_latest / pgsql_cets / cdd4fd9 elasticsearch_and_cassandra_mnesia_latest / elasticsearch_and_cassandra_mnesia / cdd4fd9 mongoose_elasticsearch_SUITE:end_per_suite{error,
{{badrpc,
{'EXIT',
{#{what => event_already_registered,
event_name => wpool_global_queue_lengths,
labels => #{pool_tag => default,pool_type => elastic}},
[{mongoose_instrument,set_up,3,
[{file,
"/home/circleci/project/src/instrument/mongoose_instrument.erl"},
{line,110}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,2641}]},
{mongoose_wpool,start,5,
[{file,
"/home/circleci/project/src/wpool/mongoose_wpool.erl"},
{line,162}]},
{mongoose_wpool,'-start_configured_pools/3-lc$^1/1-1-',1,
[{file,
"/home/circleci/project/src/wpool/mongoose_wpool.erl"},
{line,129}]},
{mongoose_wpool,start_configured_pools,1,[]}]}}},
[{distributed_helper,rpc,
[#{node => mongooseim@localhost},
mongoose_wpool,start_configured_pools,
[[#{scope => global,tag => default,type => elastic,
opts =>
#{strategy => best_worker,workers => 10,
call_timeout => 5000},
conn_opts => #{port => 9200,host => <<"localhost">>}}]]],
[{file,
"/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
{line,143}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1796}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1393}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1237}]}]}...mysql_cets_latest / mysql_cets / cdd4fd9 pgsql_redis_latest / pgsql_redis / ff6b181 pgsql_mnesia_latest / pgsql_mnesia / cdd4fd9 cockroachdb_cets_latest / cockroachdb_cets / cdd4fd9 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feature/pubsub #4723 +/- ##
==================================================
- Coverage 86.08% 86.07% -0.02%
==================================================
Files 545 545
Lines 32972 33012 +40
==================================================
+ Hits 28385 28415 +30
- Misses 4587 4597 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
21e8613 to
d9eeb97
Compare
3fd3567 to
cbdacf8
Compare
- No batch processing yet, as there is none fo publish as well - Support for broadcasting of item deletion notifications
414f29f to
ff6b181
Compare
ff6b181 to
cdd4fd9
Compare
pawlooss1
left a comment
There was a problem hiding this comment.
Looks good 👍 please amend the last commit and we're good to merge
Summary
Add item retraction support to the new
mod_pubsubimplementation.This PR extends the lightweight PEP path with publisher-side item retraction, including backend support, XML parsing/reply handling, disco feature advertisement, tests, and a small Escalus update for the test helpers.
Important:
big_teststemporarily is switched to a newer Escalus branch required for the retract helpers and raw retract request construction. The Escalus PR needs to be merged first.Changes
Features
mod_pubsubnotifyis requestedXML handling
<retract/>requests inmod_pubsub_xmlnotifyflagAs part of this,
mod_pubsub_xml:parse_item_ids/1was refactored into a shared helper. It is not needed for single-item retracts anymore, but it might be useful when batch processing is added later.Tests and helpers
pubsub_toolswith retract helperspep_SUITEcoverage for retract success and retract error conditionspep_old_SUITEfor the current EscalusnotifyrepresentationTypes and docs
mod_pubsuband reuse them inmod_pubsub_xmlmod_pubsubNotes