test: fix flaky test
We should emit the trace event before replying to callers. Example failure: https://github.com/emqx/emqx/actions/runs/8378977952/job/22946318696#step:6:182 ``` =CRITICAL REPORT==== 21-Mar-2024::17:45:37.676024 === "check stage" failed: error {assertMatch,[{module,emqx_ds_storage_bitfield_lts_SUITE}, {line,270}, {expression,"? of_kind ( emqx_ds_replication_layer_egress_flush , Trace )"}, {pattern,"[ # { batch := [ _ , _ , _ ] } ]"}, {value,[]}]} Stacktrace: [{emqx_ds_storage_bitfield_lts_SUITE, '-t_atomic_store_batch/1-fun-1-',1, [{file, "/__w/emqx/emqx/apps/emqx_durable_storage/test/emqx_ds_storage_bitfield_lts_SUITE.erl"}, {line,270}]}, {emqx_ds_storage_bitfield_lts_SUITE,t_atomic_store_batch,1, [{file, "/__w/emqx/emqx/apps/emqx_durable_storage/test/emqx_ds_storage_bitfield_lts_SUITE.erl"}, {line,249}]}] ```
This commit is contained in:
parent
68af211130
commit
796c04e7a8
|
@ -161,12 +161,13 @@ do_flush(
|
|||
) ->
|
||||
case emqx_ds_replication_layer:ra_store_batch(DB, Shard, lists:reverse(Messages)) of
|
||||
ok ->
|
||||
lists:foreach(fun(From) -> gen_server:reply(From, ok) end, Replies),
|
||||
true = erlang:garbage_collect(),
|
||||
?tp(
|
||||
emqx_ds_replication_layer_egress_flush,
|
||||
#{db => DB, shard => Shard, batch => Messages}
|
||||
);
|
||||
),
|
||||
lists:foreach(fun(From) -> gen_server:reply(From, ok) end, Replies),
|
||||
true = erlang:garbage_collect(),
|
||||
ok;
|
||||
Error ->
|
||||
true = erlang:garbage_collect(),
|
||||
?tp(
|
||||
|
|
Loading…
Reference in New Issue