فهرست منبع

fix(emqx_shared_sub): Don't crash on table schema change

ieQu1 3 سال پیش
والد
کامیت
e7d70c142c
1فایلهای تغییر یافته به همراه4 افزوده شده و 2 حذف شده
  1. 4 2
      apps/emqx/src/emqx_shared_sub.erl

+ 4 - 2
apps/emqx/src/emqx_shared_sub.erl

@@ -354,8 +354,10 @@ handle_cast(Msg, State) ->
     ?SLOG(error, #{msg => "unexpected_cast", req => Msg}),
     {noreply, State}.
 
-handle_info({mnesia_table_event, {write, NewRecord, _}}, State = #state{pmon = PMon}) ->
-    #emqx_shared_subscription{subpid = SubPid} = NewRecord,
+handle_info(
+    {mnesia_table_event, {write, #emqx_shared_subscription{subpid = SubPid}, _}},
+    State = #state{pmon = PMon}
+) ->
     {noreply, update_stats(State#state{pmon = emqx_pmon:monitor(SubPid, PMon)})};
 %% The subscriber may have subscribed multiple topics, so we need to keep monitoring the PID until
 %% it `unsubscribed` the last topic.