diff --git a/apps/emqx/include/emqx.hrl b/apps/emqx/include/emqx.hrl index e8200b7ec..cf419edc5 100644 --- a/apps/emqx/include/emqx.hrl +++ b/apps/emqx/include/emqx.hrl @@ -89,7 +89,7 @@ -record(route, { topic :: binary(), - dest :: node() | {binary(), node()} | binary() + dest :: node() | {binary(), node()} | emqx_session:sessionID() }). %%-------------------------------------------------------------------- diff --git a/apps/emqx/src/emqx_persistent_session_gc.erl b/apps/emqx/src/emqx_persistent_session_gc.erl index 2a6250374..be52bf9a3 100644 --- a/apps/emqx/src/emqx_persistent_session_gc.erl +++ b/apps/emqx/src/emqx_persistent_session_gc.erl @@ -37,6 +37,9 @@ -endif. -define(SERVER, ?MODULE). +%% TODO: Maybe these should be configurable? +-define(MARKER_GRACE_PERIOD, 60000000). +-define(ABANDONED_GRACE_PERIOD, 300000000). %%-------------------------------------------------------------------- %% API @@ -97,10 +100,6 @@ session_gc_timeout(_Ref, State) -> session_gc_worker() -> ok = emqx_persistent_session:gc_session_messages(fun session_gc_worker/2). -%% TODO: Maybe these should be configurable? --define(MARKER_GRACE_PERIOD, 60000000). --define(ABANDONED_GRACE_PERIOD, 300000000). - session_gc_worker(delete, Key) -> emqx_persistent_session:delete_session_message(Key); session_gc_worker(marker, Key) -> diff --git a/apps/emqx/src/emqx_session.erl b/apps/emqx/src/emqx_session.erl index 12b3002c3..03414fc60 100644 --- a/apps/emqx/src/emqx_session.erl +++ b/apps/emqx/src/emqx_session.erl @@ -259,7 +259,7 @@ stats(Session) -> info(?STATS_KEYS, Session). %%-------------------------------------------------------------------- ignore_local(Delivers, Subscriber, Session) -> - Subs = emqx_session:info(subscriptions, Session), + Subs = info(subscriptions, Session), lists:dropwhile(fun({deliver, Topic, #message{from = Publisher}}) -> case maps:find(Topic, Subs) of {ok, #{nl := 1}} when Subscriber =:= Publisher ->