Skip to content

Commit c0cb080

Browse files
Merge branch 'main' into cluster_wide_queue_limit_main
2 parents 39d1376 + f124bca commit c0cb080

File tree

74 files changed

+2293
-1377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2293
-1377
lines changed

.elp.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[build_info]
2+
apps = "deps/*"
3+
deps = ""

.github/workflows/gazelle-scheduled.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
jobs:
66
bazel-run-gazelle:
77
name: bazel run gazelle
8-
runs-on: ubuntu-22.04
8+
runs-on: ubuntu-latest
99
strategy:
1010
max-parallel: 1
1111
fail-fast: false
@@ -21,6 +21,11 @@ jobs:
2121
uses: actions/checkout@v4
2222
with:
2323
ref: ${{ matrix.target_branch }}
24+
- name: Configure Erlang
25+
uses: erlef/setup-beam@v1
26+
with:
27+
otp-version: 26.2
28+
elixir-version: 1.15
2429
- name: BAZEL RUN GAZELLE
2530
run: |
2631
bazel run gazelle

.github/workflows/gazelle.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ on:
99
jobs:
1010
bazel-run-gazelle:
1111
name: bazel run gazelle
12-
runs-on: ubuntu-22.04
12+
runs-on: ubuntu-latest
1313
timeout-minutes: 10
1414
steps:
1515
- name: CHECKOUT REPOSITORY
1616
uses: actions/checkout@v4
1717
with:
1818
ref: ${{ github.event.inputs.target_branch }}
19+
- name: Configure Erlang
20+
uses: erlef/setup-beam@v1
21+
with:
22+
otp-version: 26.2
23+
elixir-version: 1.15
1924
- name: BAZEL RUN GAZELLE
2025
run: |
2126
bazel run gazelle

MODULE.bazel

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ erlang_config.internal_erlang_from_github_release(
112112
erlang_config.internal_erlang_from_github_release(
113113
name = "26_2",
114114
extra_make_opts = ["-j 4"],
115-
sha256 = "d537ff4ac5d8c1cb507aedaf7198fc1f155ea8aa65a8d83edb35c2802763cc28",
116-
version = "26.2.2",
115+
sha256 = "de155c4ad9baab2b9e6c96dbd03bf955575a04dd6feee9c08758beb28484c9f6",
116+
version = "26.2.5",
117117
)
118118

119119
erlang_config.internal_erlang_from_http_archive(
@@ -148,8 +148,8 @@ elixir_config.internal_elixir_from_github_release(
148148

149149
elixir_config.internal_elixir_from_github_release(
150150
name = "1_15",
151-
sha256 = "78bde2786b395515ae1eaa7d26faa7edfdd6632bfcfcd75bccb6341a18e8798f",
152-
version = "1.15.7",
151+
sha256 = "09e697ab13fc60f27adaba9b71f8793105acd4320a89b16be0ceb4a13426d779",
152+
version = "1.15.8",
153153
)
154154

155155
use_repo(
@@ -349,8 +349,8 @@ erlang_package.hex_package(
349349
name = "ra",
350350
build_file = "@rabbitmq-server//bazel:BUILD.ra",
351351
pkg = "ra",
352-
sha256 = "0c9c02e8db48a9ed8f9b56e3b105dc25c72fde01c3dc07e2dc4f0618545595cd",
353-
version = "2.10.0",
352+
sha256 = "ab0e53c69b6964b237d94a3ac8f2ae5ba5cdc2dc9ef73ef3731d85f0c01d35d0",
353+
version = "2.10.1",
354354
)
355355

356356
erlang_package.git_package(

WORKSPACE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ http_file(
7878

7979
http_file(
8080
name = "otp_src_26_2",
81-
downloaded_file_path = "OTP-26.2.2.tar.gz",
82-
sha256 = "93c09aa8814018c23d218ac68b2bcdba188e12086223fbfa08af5cc70edd7ee1",
83-
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.2.tar.gz"],
81+
downloaded_file_path = "OTP-26.2.5.tar.gz",
82+
sha256 = "d34b409cb5968ae47dd5a0c4f85b925d5601898d90788bbb08d514964a3a141d",
83+
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.5.tar.gz"],
8484
)
8585

8686
new_git_repository(

deps/oauth2_client/BUILD.bazel

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ eunit(
8282
name = "eunit",
8383
compiled_suites = [
8484
":test_oauth_http_mock_beam",
85-
":test_oauth2_client_test_util_beam"],
85+
":test_oauth2_client_test_util_beam",
86+
],
8687
target = ":test_erlang_app",
8788
)
8889

deps/oauth2_client/app.bzl

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ def all_beam_files(name = "all_beam_files"):
88
)
99
erlang_bytecode(
1010
name = "other_beam",
11-
srcs = ["src/oauth2_client.erl",
12-
"src/jwt_helper.erl"],
11+
srcs = [
12+
"src/jwt_helper.erl",
13+
"src/oauth2_client.erl",
14+
],
1315
hdrs = [":public_and_private_hdrs"],
1416
app_name = "oauth2_client",
1517
dest = "ebin",
1618
erlc_opts = "//:erlc_opts",
17-
deps = [
18-
"@jose//:erlang_app"
19-
],
19+
deps = ["@jose//:erlang_app"],
2020
)
2121

2222
def all_test_beam_files(name = "all_test_beam_files"):
@@ -28,15 +28,15 @@ def all_test_beam_files(name = "all_test_beam_files"):
2828
erlang_bytecode(
2929
name = "test_other_beam",
3030
testonly = True,
31-
srcs = ["src/oauth2_client.erl",
32-
"src/jwt_helper.erl"],
31+
srcs = [
32+
"src/jwt_helper.erl",
33+
"src/oauth2_client.erl",
34+
],
3335
hdrs = [":public_and_private_hdrs"],
3436
app_name = "oauth2_client",
3537
dest = "test",
3638
erlc_opts = "//:test_erlc_opts",
37-
deps = [
38-
"@jose//:erlang_app"
39-
],
39+
deps = ["@jose//:erlang_app"],
4040
)
4141

4242
def all_srcs(name = "all_srcs"):
@@ -54,8 +54,10 @@ def all_srcs(name = "all_srcs"):
5454

5555
filegroup(
5656
name = "srcs",
57-
srcs = ["src/oauth2_client.erl",
58-
"src/jwt_helper.erl"],
57+
srcs = [
58+
"src/jwt_helper.erl",
59+
"src/oauth2_client.erl",
60+
],
5961
)
6062
filegroup(
6163
name = "private_hdrs",

deps/rabbit/BUILD.bazel

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,6 @@ rabbitmq_integration_suite(
319319
rabbitmq_integration_suite(
320320
name = "classic_queue_prop_SUITE",
321321
size = "large",
322-
shard_count = 6,
323-
sharding_method = "case",
324322
deps = [
325323
"@proper//:erlang_app",
326324
],
@@ -399,7 +397,13 @@ rabbitmq_integration_suite(
399397
additional_beam = [
400398
":test_queue_utils_beam",
401399
],
402-
shard_count = 7,
400+
shard_count = 8,
401+
)
402+
403+
rabbitmq_integration_suite(
404+
name = "message_containers_deaths_v2_SUITE",
405+
size = "medium",
406+
shard_count = 1,
403407
)
404408

405409
rabbitmq_integration_suite(

deps/rabbit/app.bzl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2228,3 +2228,12 @@ def test_suite_beam_files(name = "test_suite_beam_files"):
22282228
erlc_opts = "//:test_erlc_opts",
22292229
deps = ["//deps/amqp10_common:erlang_app", "//deps/rabbitmq_amqp_client:erlang_app"],
22302230
)
2231+
erlang_bytecode(
2232+
name = "message_containers_deaths_v2_SUITE_beam_files",
2233+
testonly = True,
2234+
srcs = ["test/message_containers_deaths_v2_SUITE.erl"],
2235+
outs = ["test/message_containers_deaths_v2_SUITE.beam"],
2236+
app_name = "rabbit",
2237+
erlc_opts = "//:test_erlc_opts",
2238+
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
2239+
)

deps/rabbit/include/mc.hrl

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
1-
-type death_key() :: {SourceQueue :: rabbit_misc:resource_name(), rabbit_dead_letter:reason()}.
2-
-type death_anns() :: #{first_time := non_neg_integer(), %% the timestamp of the first
3-
last_time := non_neg_integer(), %% the timestamp of the last
4-
ttl => OriginalExpiration :: non_neg_integer()}.
5-
-record(death, {exchange :: OriginalExchange :: rabbit_misc:resource_name(),
6-
routing_keys = [] :: OriginalRoutingKeys :: [rabbit_types:routing_key()],
7-
count = 0 :: non_neg_integer(),
8-
anns :: death_anns()}).
9-
10-
-record(deaths, {first :: death_key(),
11-
last :: death_key(),
12-
records = #{} :: #{death_key() := #death{}}}).
13-
14-
151
%% good enough for most use cases
162
-define(IS_MC(Msg), element(1, Msg) == mc andalso tuple_size(Msg) == 5).
173

@@ -26,3 +12,25 @@
2612
-define(ANN_RECEIVED_AT_TIMESTAMP, rts).
2713
-define(ANN_DURABLE, d).
2814
-define(ANN_PRIORITY, p).
15+
16+
-define(FF_MC_DEATHS_V2, message_containers_deaths_v2).
17+
18+
-type death_key() :: {SourceQueue :: rabbit_misc:resource_name(), rabbit_dead_letter:reason()}.
19+
-type death_anns() :: #{%% timestamp of the first time this message
20+
%% was dead lettered from this queue for this reason
21+
first_time := pos_integer(),
22+
%% timestamp of the last time this message
23+
%% was dead lettered from this queue for this reason
24+
last_time := pos_integer(),
25+
ttl => OriginalTtlHeader :: non_neg_integer()}.
26+
27+
-record(death, {exchange :: OriginalExchange :: rabbit_misc:resource_name(),
28+
routing_keys :: OriginalRoutingKeys :: [rabbit_types:routing_key(),...],
29+
%% how many times this message was dead lettered from this queue for this reason
30+
count :: pos_integer(),
31+
anns :: death_anns()}).
32+
33+
-record(deaths, {first :: death_key(), % redundant to mc annotations x-first-death-*
34+
last :: death_key(), % redundant to mc annotations x-last-death-*
35+
records :: #{death_key() := #death{}}
36+
}).

0 commit comments

Comments
 (0)