Skip to content

Commit d211f19

Browse files
lhoguinmergify[bot]
authored andcommittedNov 14, 2024·
CQ: Fix flakes in the store file scan test
We don't expect random bytes to be there in the current version of the message store as we overwrite empty spaces with zeroes when moving messages around. We also don't expect messages to be false flagged when the broker is running because it checks for message validity in the index. Therefore make sure message bodies in the tests don't contain byte 255. (cherry picked from commit db50739)

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed
 

‎deps/rabbit/test/backing_queue_SUITE.erl

+7-5
Original file line numberDiff line numberDiff line change
@@ -655,9 +655,11 @@ gen_msg() ->
655655
gen_msg(1024 * 1024).
656656

657657
gen_msg(MaxSize) ->
658-
%% This might generate false positives but very rarely
659-
%% so we don't do anything to prevent them.
660-
rand:bytes(rand:uniform(MaxSize)).
658+
Bytes = rand:bytes(rand:uniform(MaxSize)),
659+
%% We remove 255 to avoid false positives. In a running
660+
%% rabbit node we will not get false positives because
661+
%% we also check messages against the index.
662+
<< <<case B of 255 -> 254; _ -> B end>> || <<B>> <= Bytes >>.
661663

662664
gen_msg_file(Config, Blocks) ->
663665
PrivDir = ?config(priv_dir, Config),
@@ -667,8 +669,8 @@ gen_msg_file(Config, Blocks) ->
667669
{bin, Bin} ->
668670
Bin;
669671
{pad, Size} ->
670-
%% This might generate false positives although very unlikely.
671-
rand:bytes(Size);
672+
%% Empty space between messages is expected to be zeroes.
673+
<<0:Size/unit:8>>;
672674
{msg, MsgId, Msg} ->
673675
Size = 16 + byte_size(Msg),
674676
[<<Size:64>>, MsgId, Msg, <<255>>]

0 commit comments

Comments
 (0)
Please sign in to comment.