Jelajahi Sumber

Merge pull request #6252 from JimMoen/fix-clients-cluster-query

fix(mgmt): fix broken `ets:continuation` been sent between nodes
Zaiming (Stone) Shi 4 tahun lalu
induk
melakukan
b59ad6b186
1 mengubah file dengan 4 tambahan dan 4 penghapusan
  1. 4 4
      apps/emqx_management/src/emqx_mgmt_api.erl

+ 4 - 4
apps/emqx_management/src/emqx_mgmt_api.erl

@@ -213,9 +213,9 @@ select_table_with_count(Tab, {Ms, FuzzyFilterFun}, ?FRESH_SELECT, Limit, FmtFun)
             Rows = FuzzyFilterFun(RawResult),
             Rows = FuzzyFilterFun(RawResult),
             {length(Rows), lists:map(FmtFun, Rows), NContinuation}
             {length(Rows), lists:map(FmtFun, Rows), NContinuation}
     end;
     end;
-select_table_with_count(_Tab, {_Ms, FuzzyFilterFun}, Continuation, _Limit, FmtFun)
+select_table_with_count(_Tab, {Ms, FuzzyFilterFun}, Continuation, _Limit, FmtFun)
   when is_function(FuzzyFilterFun) ->
   when is_function(FuzzyFilterFun) ->
-    case ets:select(Continuation) of
+    case ets:select(ets:repair_continuation(Continuation, Ms)) of
         '$end_of_table' ->
         '$end_of_table' ->
             {0, [], ?FRESH_SELECT};
             {0, [], ?FRESH_SELECT};
         {RawResult, NContinuation} ->
         {RawResult, NContinuation} ->
@@ -230,8 +230,8 @@ select_table_with_count(Tab, Ms, ?FRESH_SELECT, Limit, FmtFun)
         {RawResult, NContinuation} ->
         {RawResult, NContinuation} ->
             {length(RawResult), lists:map(FmtFun, RawResult), NContinuation}
             {length(RawResult), lists:map(FmtFun, RawResult), NContinuation}
     end;
     end;
-select_table_with_count(_Tab, _Ms, Continuation, _Limit, FmtFun) ->
-    case ets:select(Continuation) of
+select_table_with_count(_Tab, Ms, Continuation, _Limit, FmtFun) ->
+    case ets:select(ets:repair_continuation(Continuation, Ms)) of
         '$end_of_table' ->
         '$end_of_table' ->
             {0, [], ?FRESH_SELECT};
             {0, [], ?FRESH_SELECT};
         {RawResult, NContinuation} ->
         {RawResult, NContinuation} ->