Просмотр исходного кода

fix(buffer worker): flush late replies to simple internal buffer queries

Fixes https://emqx.atlassian.net/browse/EMQX-13243
Thales Macedo Garitezi 1 год назад
Родитель
Сommit
e86c596b06
1 измененных файлов с 8 добавлено и 1 удалено
  1. 8 1
      apps/emqx_resource/src/emqx_resource_buffer_worker.erl

+ 8 - 1
apps/emqx_resource/src/emqx_resource_buffer_worker.erl

@@ -232,7 +232,14 @@ simple_sync_internal_buffer_query(Id, Request, QueryOpts0) ->
                 end
                 end
         end
         end
     after
     after
-        _ = unalias(ReplyAlias)
+        _ = unalias(ReplyAlias),
+        receive
+            {ReplyAlias, _Response} ->
+                %% stale response
+                ok
+        after 0 ->
+            ok
+        end
     end.
     end.
 
 
 simple_sync_query_opts() ->
 simple_sync_query_opts() ->