fix(exhook): ensuring that exhook dispatches the client events are sequential
porting by: https://github.com/emqx/emqx/pull/8311
This commit is contained in:
parent
9c094a8611
commit
2566f50c4e
|
@ -14,6 +14,7 @@
|
||||||
* Fix AuthN JWKS SSL schema. Using schema in `emqx_schema`. [#8458](https://github.com/emqx/emqx/pull/8458)
|
* Fix AuthN JWKS SSL schema. Using schema in `emqx_schema`. [#8458](https://github.com/emqx/emqx/pull/8458)
|
||||||
* `sentinel` field should be required when AuthN/AuthZ Redis using sentinel mode. [#8458](https://github.com/emqx/emqx/pull/8458)
|
* `sentinel` field should be required when AuthN/AuthZ Redis using sentinel mode. [#8458](https://github.com/emqx/emqx/pull/8458)
|
||||||
* Fix bad swagger format. [#8517](https://github.com/emqx/emqx/pull/8517)
|
* Fix bad swagger format. [#8517](https://github.com/emqx/emqx/pull/8517)
|
||||||
|
* Ensuring that exhook dispatches the client events are sequential.
|
||||||
|
|
||||||
## Enhancements
|
## Enhancements
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
]}.
|
]}.
|
||||||
|
|
||||||
{deps, [
|
{deps, [
|
||||||
{emqx, {path, "../emqx"}},
|
{emqx, {path, "../emqx"}}
|
||||||
{grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.4"}}}
|
|
||||||
]}.
|
]}.
|
||||||
|
|
||||||
{grpc, [
|
{grpc, [
|
||||||
|
|
|
@ -369,8 +369,11 @@ match_topic_filter(TopicName, TopicFilter) ->
|
||||||
|
|
||||||
-spec do_call(binary(), atom(), atom(), map(), map()) -> {ok, map()} | {error, term()}.
|
-spec do_call(binary(), atom(), atom(), map(), map()) -> {ok, map()} | {error, term()}.
|
||||||
do_call(ChannName, Hookpoint, Fun, Req, ReqOpts) ->
|
do_call(ChannName, Hookpoint, Fun, Req, ReqOpts) ->
|
||||||
Options = ReqOpts#{channel => ChannName},
|
|
||||||
NReq = Req#{meta => emqx_exhook_handler:request_meta()},
|
NReq = Req#{meta => emqx_exhook_handler:request_meta()},
|
||||||
|
Options = ReqOpts#{
|
||||||
|
channel => ChannName,
|
||||||
|
key_dispatch => key_dispatch(NReq)
|
||||||
|
},
|
||||||
?SLOG(debug, #{
|
?SLOG(debug, #{
|
||||||
msg => "do_call",
|
msg => "do_call",
|
||||||
module => ?PB_CLIENT_MOD,
|
module => ?PB_CLIENT_MOD,
|
||||||
|
@ -481,3 +484,13 @@ available_hooks() ->
|
||||||
'session.terminated'
|
'session.terminated'
|
||||||
| message_hooks()
|
| message_hooks()
|
||||||
].
|
].
|
||||||
|
|
||||||
|
%% @doc Get dispatch_key for each request
|
||||||
|
key_dispatch(_Req = #{clientinfo := #{clientid := ClientId}}) ->
|
||||||
|
ClientId;
|
||||||
|
key_dispatch(_Req = #{conninfo := #{clientid := ClientId}}) ->
|
||||||
|
ClientId;
|
||||||
|
key_dispatch(_Req = #{message := #{from := From}}) ->
|
||||||
|
From;
|
||||||
|
key_dispatch(_Req) ->
|
||||||
|
self().
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
{erl_opts, [debug_info]}.
|
{erl_opts, [debug_info]}.
|
||||||
{deps, [
|
{deps, [
|
||||||
{emqx, {path, "../emqx"}},
|
{emqx, {path, "../emqx"}}
|
||||||
{grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.4"}}}
|
|
||||||
]}.
|
]}.
|
||||||
|
|
||||||
{plugins, [
|
{plugins, [
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.3"}}}
|
, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.3"}}}
|
||||||
, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.13.2"}}}
|
, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.13.2"}}}
|
||||||
, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}
|
, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}
|
||||||
|
, {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.6"}}}
|
||||||
, {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.5"}}}
|
, {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.5"}}}
|
||||||
, {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.2"}}}
|
, {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.2"}}}
|
||||||
, {replayq, "0.3.4"}
|
, {replayq, "0.3.4"}
|
||||||
|
|
Loading…
Reference in New Issue