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

Add GDPR removal for pubsub (alternative) #2349

Merged
merged 2 commits into from
Jun 26, 2019
Merged

Conversation

fenek
Copy link
Member

@fenek fenek commented Jun 25, 2019

Tests by @NelsonVides and @ludwikbukowski

This PR is an alternative implementation for #2348

@mongoose-im
Copy link
Collaborator

mongoose-im commented Jun 25, 2019

6735.1 / Erlang 20.3 / small_tests / 6902266
Reports root / small


6735.2 / Erlang 20.3 / internal_mnesia / 6902266
Reports root/ big
OK: 1279 / Failed: 2 / User-skipped: 167 / Auto-skipped: 0

pubsub_SUITE:tree+hometree_specific:disco_node_children_by_path_prefix
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"pubsub_tools.erl"},{line,472}]},
     {pubsub_tools,receive_response,3,
             [{file,"pubsub_tools.erl"},{line,462}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-disco_node_children_by_path_prefix/1-fun-0-',2,
             [{file,"pubsub_SUITE.erl"},{line,1796}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,994}]}]}}

Report log

sm_SUITE:parallel:subscription_requests_are_buffered_properly
{error,{{badmatch,false},
    [{escalus_session,stream_management,2,
              [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_session.erl"},
               {line,240}]},
     {escalus_connection,connection_step,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,154}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
     {escalus_connection,start,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,138}]},
     {sm_SUITE,'-subscription_requests_are_buffered_properly/1-fun-3-',6,
           [{file,"sm_SUITE.erl"},{line,848}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]}]}}

Report log


6735.3 / Erlang 20.3 / odbc_mssql_mnesia / 6902266
Reports root/ big
OK: 3162 / Failed: 1 / User-skipped: 278 / Auto-skipped: 0

pubsub_SUITE:tree+hometree_specific:can_create_node_with_existing_parent_path
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"pubsub_tools.erl"},{line,472}]},
     {pubsub_tools,receive_response,3,
             [{file,"pubsub_tools.erl"},{line,462}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-can_create_node_with_existing_parent_path/1-fun-0-',
             1,
             [{file,"pubsub_SUITE.erl"},{line,1768}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,994}]}]}}

Report log


6735.4 / Erlang 20.3 / ldap_mnesia / 6902266
Reports root/ big
OK: 1215 / Failed: 0 / User-skipped: 206 / Auto-skipped: 0


6735.5 / Erlang 20.3 / elasticsearch_and_cassandra_mnesia / 6902266
Reports root/ big
OK: 548 / Failed: 0 / User-skipped: 55 / Auto-skipped: 0


6735.8 / Erlang 21.3 / mysql_redis / 6902266
Reports root/ big
OK: 3170 / Failed: 1 / User-skipped: 280 / Auto-skipped: 0

pubsub_SUITE:dag+collection:discover_top_level_nodes_test
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,<<"alicE43.50371@localhost/res1">>,escalus_tcp,
          <0.16042.3>,
          [{event_manager,<0.15981.3>},
           {server,<<"localhost">>},
           {username,<<"alicE43.50371">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.15981.3>},
            {server,<<"localhost">>},
            {username,<<"alicE43.50371">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alicE43.50371">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE43.50371">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"8CE829EB2A9CA1C6">>}]},
        5000],
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {pubsub_tools,receive_response,3,
       [{file,"pubsub_tools.erl"},{line,461}]},
     {pubsub_tools,receive_and_check_response,4,
       [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-discover_top_level_nodes_test/1-fun-0-',2,
       [{file,"pubsub_SUITE.erl"},{line,1461}]},
     {escalus_story,story,4,
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/...

Report log


6735.7 / Erlang 21.3 / pgsql_mnesia / 6902266
Reports root/ big / small
OK: 3191 / Failed: 0 / User-skipped: 246 / Auto-skipped: 0


6735.9 / Erlang 21.3 / riak_mnesia / 6902266
Reports root/ big / small
OK: 1505 / Failed: 0 / User-skipped: 149 / Auto-skipped: 0

@codecov
Copy link

codecov bot commented Jun 26, 2019

Codecov Report

Merging #2349 into master will increase coverage by 1.49%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #2349      +/-   ##
=========================================
+ Coverage   76.31%   77.8%   +1.49%     
=========================================
  Files         335     335              
  Lines       29287   29314      +27     
=========================================
+ Hits        22349   22809     +460     
+ Misses       6938    6505     -433
Impacted Files Coverage Δ
src/pubsub/gen_pubsub_node.erl 80% <ø> (ø) ⬆️
src/pubsub/node_push.erl 93.93% <100%> (+0.18%) ⬆️
src/pubsub/mod_pubsub_db_rdbms.erl 95.01% <100%> (+0.47%) ⬆️
src/pubsub/mod_pubsub_db_rdbms_sql.erl 89.21% <100%> (-4.79%) ⬇️
src/pubsub/pubsub_index.erl 84.21% <100%> (+0.87%) ⬆️
src/pubsub/node_flat.erl 73.1% <100%> (-0.31%) ⬇️
src/pubsub/node_pep.erl 77.55% <100%> (-1.62%) ⬇️
src/pubsub/mod_pubsub_db_mnesia.erl 95.31% <100%> (+1.92%) ⬆️
src/pubsub/mod_pubsub.erl 72.25% <100%> (+0.35%) ⬆️
src/pubsub/mod_pubsub_db.erl 100% <100%> (+20%) ⬆️
... and 49 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 b33de16...dcc0c32. Read the comment docs.

BackendModules = mongoose_lib:find_behaviour_implementations(mod_pubsub_db),
lists:foreach(fun(Backend) ->
remove_user_per_backend_safe(LUser, LServer, Backend)
end, BackendModules).
Copy link
Collaborator

Choose a reason for hiding this comment

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

I had cases of dialyzer failing to me here. The spec of remove_user/2 in gdpr is to return the atom ok.

(_) ->
ok
end, Affs).
BackendModules = mongoose_lib:find_behaviour_implementations(mod_pubsub_db),
Copy link
Collaborator

Choose a reason for hiding this comment

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

And this just makes me think of one thing: why did we spawn a different process and return ok immediately before? Was it because of some timeout? Do we want to receive a notification for failure or so?

Copy link
Member Author

Choose a reason for hiding this comment

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

Original pubsub's remove_user implementation probably assumed that the operator doesn't care if the removal action actually finished when the function exits. Currently all GDPR ops we've added are synchronous, even for MAM.

Copy link
Contributor

@rslota rslota left a comment

Choose a reason for hiding this comment

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

This solution seem mostly "clean" apart from the fact that it skips one level of abstraction which really hurts. And since the implementation is the same and all nodes are based on node_flat, why don't we move this implementation to node_flat:on_remove_user? I'm sure we can get the plugin name from state, or even add it to the args and inside this node_flat:on_remove_user call Plugin:should_delete_when_owner_removed (erlang polymorphism? :) ).
Apart from that I have only some minor comments and some questions.

{node_addr(), pubsub_node_name()}.
pubsub_node() -> pubsub_node(1).
pubsub_node(Num) ->
{pubsub_tools:node_addr(), <<"node",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
{pubsub_tools:node_addr(), <<"node",
{pubsub_tools:node_addr(), <<"node_",

Copy link
Contributor

Choose a reason for hiding this comment

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

IMHO the above ^ is gonna be more readable, but I don't have a strong opinion on that.

Copy link
Member Author

Choose a reason for hiding this comment

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

No strong opinion as well but maybe indeed adding _ would be a good thing.

true ->
% Oh my, we do have a mess in the API, don't we?
Backend:delete_node(Node),
Backend:del_node(Nidx);
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the difference? Maybe it's worth mentioning in comment why we call the same function twice only with different wording? I know that maybe it's not that hard to figure out by looking at the code, but this is "what the hell" moment for me, seeing that, and not having to understand lower layer by reading a comment would help a lot. And I'm sure I'm not alone in this feeling ;)

lists:foreach(fun({#pubsub_node{ id = Nidx, type = Type } = Node, owner}) ->
Plugin = plugin(Type),
MaybeBasePlugin
= maybe_default_node(Plugin, should_delete_when_owner_removed, []),
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
= maybe_default_node(Plugin, should_delete_when_owner_removed, []),
= maybe_default_node(Plugin, should_delete_when_owner_removed, []),

@@ -214,3 +220,8 @@ extra_debug_fun(Fun) ->
%% Internal functions
%%====================================================================

sanitize_reason(Map) when is_map(Map) ->
Map;
sanitize_reason(Other) ->
Copy link
Contributor

Choose a reason for hiding this comment

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

How is that possible? The spec above says ReasonData :: map(), so this either is a dead code or should be a dead code. Either way something is not right (spec or this clause).
On different topic, don't we prefer to simply match on map in db_error and crash if something weird is passed?

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 disabled backends pool_not_started is returned or similar, instead of map. This was a quick fix I needed for debugging but indeed maybe it can be done better.

@@ -208,6 +210,15 @@ node_name(Nidx) ->
_ -> <<>>
end.

-spec find_nodes_by_affiliated_user(JID :: jid:ljid()) ->
[{mod_pubsub:pubsubNode(), mod_pubsub:affiliation()}].
find_nodes_by_affiliated_user(LJID) ->
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need this function on such low-level module? Isn't there a plugin API that would do the same?

Copy link
Member Author

Choose a reason for hiding this comment

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

I actually think that such function fits better in DB layer because it should be a simple data retrieval instead the processing done in node_flat, which is actually a workaround for strange Mnesia data model.

Copy link
Contributor

Choose a reason for hiding this comment

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

I wasn't suggesting to move it, I was just asking if there is similar functionality already there :)

del_state(State).

-spec del_state(mod_pubsub:pubsubState()) -> ok.
del_state(#pubsub_state{ stateid = {LJID, Nidx}, subscriptions = Subs }) ->
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't really like the fact that this function behaves differently based on type of the argument. I know that arity is different, but the name is the same, so I would expect this function to do the same thing, only maybe based on different data. I would suggest renaming here.

del_state(State).

-spec del_state(mod_pubsub:pubsubState()) -> ok.
del_state(#pubsub_state{ stateid = {LJID, Nidx}, subscriptions = Subs }) ->
lists:foreach(fun({_, SubId}) -> mnesia:delete({pubsub_subscription, SubId}) end, Subs),
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, why do we even need this function? The code above seem to be the same as in https://github.com/esl/MongooseIM/pull/2349/files#diff-76947e0e8d171032fa48bd99ed39698dR550 . What is the difference?

Copy link
Member Author

Choose a reason for hiding this comment

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

del_state removes the state unconditionally, while delete_all_subscriptions_by_state only when there is no affiliation in the state (with all subscriptions removed).

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, but do we need to delete subs here? This function is called only from https://github.com/esl/MongooseIM/pull/2349/files#diff-76947e0e8d171032fa48bd99ed39698dR553, just after removing subs. Isn't this code redundant?

@mongoose-im
Copy link
Collaborator

mongoose-im commented Jun 26, 2019

6736.1 / Erlang 20.3 / small_tests / 9c46b5d
Reports root / small


6736.2 / Erlang 20.3 / internal_mnesia / 9c46b5d
Reports root/ big
OK: 1297 / Failed: 3 / User-skipped: 167 / Auto-skipped: 0

sm_SUITE:parallel:subscription_requests_are_buffered_properly
{error,{{badmatch,false},
    [{escalus_session,stream_management,2,
              [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_session.erl"},
               {line,240}]},
     {escalus_connection,connection_step,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,154}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
     {escalus_connection,start,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,138}]},
     {sm_SUITE,'-subscription_requests_are_buffered_properly/1-fun-3-',6,
           [{file,"sm_SUITE.erl"},{line,848}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]}]}}

Report log

sm_SUITE:parallel:subscription_requests_are_buffered_properly
{error,{{badmatch,false},
    [{escalus_session,stream_management,2,
              [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_session.erl"},
               {line,240}]},
     {escalus_connection,connection_step,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,154}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
     {escalus_connection,start,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,138}]},
     {sm_SUITE,'-subscription_requests_are_buffered_properly/1-fun-3-',6,
           [{file,"sm_SUITE.erl"},{line,848}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]}]}}

Report log

sm_SUITE:parallel:subscription_requests_are_buffered_properly
{error,{{badmatch,false},
    [{escalus_session,stream_management,2,
              [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_session.erl"},
               {line,240}]},
     {escalus_connection,connection_step,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,154}]},
     {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
     {escalus_connection,start,2,
               [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
                {line,138}]},
     {sm_SUITE,'-subscription_requests_are_buffered_properly/1-fun-3-',6,
           [{file,"sm_SUITE.erl"},{line,848}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]}]}}

Report log


6736.3 / Erlang 20.3 / odbc_mssql_mnesia / 9c46b5d
Reports root/ big
OK: 3162 / Failed: 1 / User-skipped: 278 / Auto-skipped: 0

pubsub_SUITE:tree+hometree_specific:can_create_node_with_existing_parent_path
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"pubsub_tools.erl"},{line,472}]},
     {pubsub_tools,receive_response,3,
             [{file,"pubsub_tools.erl"},{line,462}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-can_create_node_with_existing_parent_path/1-fun-0-',
             1,
             [{file,"pubsub_SUITE.erl"},{line,1768}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1546}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1062}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,994}]}]}}

Report log


6736.4 / Erlang 20.3 / ldap_mnesia / 9c46b5d
Reports root/ big
OK: 1215 / Failed: 0 / User-skipped: 206 / Auto-skipped: 0


6736.5 / Erlang 20.3 / elasticsearch_and_cassandra_mnesia / 9c46b5d
Reports root/ big
OK: 548 / Failed: 0 / User-skipped: 55 / Auto-skipped: 0


6736.8 / Erlang 21.3 / mysql_redis / 9c46b5d
Reports root/ big
OK: 3167 / Failed: 4 / User-skipped: 280 / Auto-skipped: 0

mam_SUITE:muc_rsm04:pagination_first5
{'EXIT',tcp_close_timeout}

Report log

mam_SUITE:muc_rsm04:pagination_simple_before10
{'EXIT',tcp_close_timeout}

Report log

pubsub_SUITE:dag+collection:notify_collection_test
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,<<"alicE80.821865@localhost/res1">>,escalus_tcp,
          <0.15685.3>,
          [{event_manager,<0.15596.3>},
           {server,<<"localhost">>},
           {username,<<"alicE80.821865">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.15596.3>},
            {server,<<"localhost">>},
            {username,<<"alicE80.821865">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alicE80.821865">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE80.821865">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"542704AAD672CBBA">>}]},
        5000],
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {pubsub_tools,receive_response,3,
       [{file,"pubsub_tools.erl"},{line,461}]},
     {pubsub_tools,receive_and_check_response,4,
       [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-notify_collection_test/1-fun-0-',2,
       [{file,"pubsub_SUITE.erl"},{line,1232}]},
     {escalus_story,story,4,
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/li...

Report log

pubsub_SUITE:dag+collection:request_all_items_leaf_test
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,<<"alicE80.842907@localhost/res1">>,escalus_tcp,
          <0.15694.3>,
          [{event_manager,<0.15632.3>},
           {server,<<"localhost">>},
           {username,<<"alicE80.842907">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.15632.3>},
            {server,<<"localhost">>},
            {username,<<"alicE80.842907">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alicE80.842907">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE80.842907">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"7CC4E6CC17371898">>}]},
        5000],
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {pubsub_tools,receive_response,3,
       [{file,"pubsub_tools.erl"},{line,461}]},
     {pubsub_tools,receive_and_check_response,4,
       [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-request_all_items_leaf_test/1-fun-0-',2,
       [{file,"pubsub_SUITE.erl"},{line,1517}]},
     {escalus_story,story,4,
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/defau...

Report log


6736.7 / Erlang 21.3 / pgsql_mnesia / 9c46b5d
Reports root/ big / small
OK: 3191 / Failed: 0 / User-skipped: 246 / Auto-skipped: 0


6736.9 / Erlang 21.3 / riak_mnesia / 9c46b5d
Reports root/ big / small
OK: 1505 / Failed: 0 / User-skipped: 149 / Auto-skipped: 0


6736.8 / Erlang 21.3 / mysql_redis / 9c46b5d
Reports root/ big
OK: 3176 / Failed: 3 / User-skipped: 280 / Auto-skipped: 0

pubsub_SUITE:dag+collection:notify_collection_test
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,<<"alicE54.892196@localhost/res1">>,escalus_tcp,
          <0.15878.3>,
          [{event_manager,<0.15803.3>},
           {server,<<"localhost">>},
           {username,<<"alicE54.892196">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.15803.3>},
            {server,<<"localhost">>},
            {username,<<"alicE54.892196">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alicE54.892196">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE54.892196">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"FEE16C4510512BF7">>}]},
        5000],
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {pubsub_tools,receive_response,3,
       [{file,"pubsub_tools.erl"},{line,461}]},
     {pubsub_tools,receive_and_check_response,4,
       [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-notify_collection_test/1-fun-0-',2,
       [{file,"pubsub_SUITE.erl"},{line,1234}]},
     {escalus_story,story,4,
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/li...

Report log

pubsub_SUITE:tree+hometree_specific:deleting_parent_path_deletes_children
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"pubsub_tools.erl"},{line,472}]},
     {pubsub_tools,receive_response,3,
             [{file,"pubsub_tools.erl"},{line,462}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-deleting_parent_path_deletes_children/1-fun-0-',1,
             [{file,"pubsub_SUITE.erl"},{line,1815}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1080}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1012}]}]}}

Report log

pubsub_SUITE:tree+hometree_specific:disco_node_children_by_path_prefix
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"pubsub_tools.erl"},{line,472}]},
     {pubsub_tools,receive_response,3,
             [{file,"pubsub_tools.erl"},{line,462}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-disco_node_children_by_path_prefix/1-fun-0-',2,
             [{file,"pubsub_SUITE.erl"},{line,1796}]},
     {escalus_story,story,4,
            [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1080}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1012}]}]}}

Report log


6736.8 / Erlang 21.3 / mysql_redis / 9c46b5d
Reports root/ big
OK: 3170 / Failed: 1 / User-skipped: 280 / Auto-skipped: 0

pubsub_SUITE:dag+collection:notify_collection_test
{error,
  {timeout_when_waiting_for_stanza,
    [{escalus_client,wait_for_stanza,
       [{client,<<"alicE55.138441@localhost/res1">>,escalus_tcp,
          <0.15802.3>,
          [{event_manager,<0.15768.3>},
           {server,<<"localhost">>},
           {username,<<"alicE55.138441">>},
           {resource,<<"res1">>}],
          [{event_client,
             [{event_manager,<0.15768.3>},
            {server,<<"localhost">>},
            {username,<<"alicE55.138441">>},
            {resource,<<"res1">>}]},
           {resource,<<"res1">>},
           {username,<<"alicE55.138441">>},
           {server,<<"localhost">>},
           {host,<<"localhost">>},
           {port,5222},
           {auth,{escalus_auth,auth_plain}},
           {wspath,undefined},
           {username,<<"alicE55.138441">>},
           {server,<<"localhost">>},
           {password,<<"matygrysa">>},
           {stream_id,<<"75AE15A39EF0CD1A">>}]},
        5000],
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_client.erl"},
        {line,136}]},
     {pubsub_tools,receive_response,3,
       [{file,"pubsub_tools.erl"},{line,461}]},
     {pubsub_tools,receive_and_check_response,4,
       [{file,"pubsub_tools.erl"},{line,452}]},
     {pubsub_SUITE,'-notify_collection_test/1-fun-0-',2,
       [{file,"pubsub_SUITE.erl"},{line,1232}]},
     {escalus_story,story,4,
       [{file,
          "/home/travis/build/esl/MongooseIM/big_tests/_build/default/li...

Report log

@fenek fenek merged commit 1609e60 into master Jun 26, 2019
@fenek fenek deleted the alternative-gdpr-pubsub-remove branch June 26, 2019 14:01
@fenek fenek added this to the 3.4.0 milestone Jun 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants