diff --git a/src/emqttd_session.erl b/src/emqttd_session.erl index e8e694530..fa4ba2141 100644 --- a/src/emqttd_session.erl +++ b/src/emqttd_session.erl @@ -394,9 +394,9 @@ handle_cast({subscribe, _From, TopicTable, AckFun}, maps:put(Topic, NewQos, SubMap); error -> emqttd:subscribe(Topic, ClientId, Opts), - emqttd_hooks:run('session.subscribed', [ClientId, Username], {Topic, Opts}), maps:put(Topic, NewQos, SubMap) end, + emqttd_hooks:run('session.subscribed', [ClientId, Username], {Topic, Opts}), {[NewQos|QosAcc], SubMap1} end, {[], Subscriptions}, TopicTable), AckFun(lists:reverse(GrantedQos)),