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
|
case emqx_ds_replication_layer:ra_store_batch(DB, Shard, lists:reverse(Messages)) of
|
||||||
ok ->
|
ok ->
|
||||||
lists:foreach(fun(From) -> gen_server:reply(From, ok) end, Replies),
|
|
||||||
true = erlang:garbage_collect(),
|
|
||||||
?tp(
|
?tp(
|
||||||
emqx_ds_replication_layer_egress_flush,
|
emqx_ds_replication_layer_egress_flush,
|
||||||
#{db => DB, shard => Shard, batch => Messages}
|
#{db => DB, shard => Shard, batch => Messages}
|
||||||
);
|
),
|
||||||
|
lists:foreach(fun(From) -> gen_server:reply(From, ok) end, Replies),
|
||||||
|
true = erlang:garbage_collect(),
|
||||||
|
ok;
|
||||||
Error ->
|
Error ->
|
||||||
true = erlang:garbage_collect(),
|
true = erlang:garbage_collect(),
|
||||||
?tp(
|
?tp(
|
||||||
|
|
Loading…
Reference in New Issue