Skip to content

Commit 175634e

Browse files
authored
Merge branch 'main' into improve-login-exp
2 parents cd680bc + 67285d6 commit 175634e

9 files changed

+87
-8
lines changed

deps/rabbit/app.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,7 @@ def all_srcs(name = "all_srcs"):
539539
"include/amqqueue.hrl",
540540
"include/amqqueue_v2.hrl",
541541
"include/gm_specs.hrl",
542+
"include/internal_user.hrl",
542543
"include/mc.hrl",
543544
"include/rabbit_global_counters.hrl",
544545
"include/vhost.hrl",

deps/rabbit/include/internal_user.hrl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-define(is_internal_user(U),
2+
(?is_internal_user_v2(U))).
3+
4+
-define(is_internal_user_v2(U), is_record(U, internal_user, 6)).

deps/rabbit/src/rabbit_db_exchange_m2k_converter.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ init_copy_to_khepri(StoreId, _MigrationId, Tables) ->
4545
%% @private
4646

4747
copy_to_khepri(
48-
rabbit_exchange = Table, Record,
48+
rabbit_exchange = Table, #exchange{} = Record,
4949
#?MODULE{store_id = StoreId} = State) ->
5050
Name = Record#exchange.name,
5151
?LOG_DEBUG(

deps/rabbit/src/rabbit_db_maintenance_m2k_converter.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ init_copy_to_khepri(StoreId, _MigrationId, Tables) ->
4545
%% @private
4646

4747
copy_to_khepri(
48-
rabbit_node_maintenance_states = Table, Record,
48+
rabbit_node_maintenance_states = Table, #node_maintenance_state{} = Record,
4949
#?MODULE{store_id = StoreId} = State) ->
5050
Name = Record#node_maintenance_state.node,
5151
?LOG_DEBUG(

deps/rabbit/src/rabbit_db_queue_m2k_converter.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
-include_lib("khepri/include/khepri.hrl").
1414
-include_lib("khepri_mnesia_migration/src/kmm_logging.hrl").
1515
-include_lib("rabbit_common/include/rabbit.hrl").
16+
-include("amqqueue.hrl").
1617

1718
-export([init_copy_to_khepri/3,
1819
copy_to_khepri/3,
@@ -45,7 +46,7 @@ init_copy_to_khepri(StoreId, _MigrationId, Tables) ->
4546
%% @private
4647

4748
copy_to_khepri(rabbit_queue = Table, Record,
48-
#?MODULE{store_id = StoreId} = State) ->
49+
#?MODULE{store_id = StoreId} = State) when ?is_amqqueue(Record) ->
4950
Name = amqqueue:get_name(Record),
5051
?LOG_DEBUG(
5152
"Mnesia->Khepri data copy: [~0p] key: ~0p",

deps/rabbit/src/rabbit_db_user_m2k_converter.erl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
-include_lib("khepri/include/khepri.hrl").
1414
-include_lib("khepri_mnesia_migration/src/kmm_logging.hrl").
1515
-include_lib("rabbit_common/include/rabbit.hrl").
16+
-include("internal_user.hrl").
1617

1718
-export([init_copy_to_khepri/3,
1819
copy_to_khepri/3,
@@ -46,7 +47,7 @@ init_copy_to_khepri(StoreId, _MigrationId, Tables) ->
4647

4748
copy_to_khepri(
4849
rabbit_user = Table, Record,
49-
#?MODULE{store_id = StoreId} = State) ->
50+
#?MODULE{store_id = StoreId} = State) when ?is_internal_user(Record) ->
5051
Username = internal_user:get_username(Record),
5152
?LOG_DEBUG(
5253
"Mnesia->Khepri data copy: [~0p] key: ~0p",
@@ -62,7 +63,7 @@ copy_to_khepri(
6263
Error -> Error
6364
end;
6465
copy_to_khepri(
65-
rabbit_user_permission = Table, Record,
66+
rabbit_user_permission = Table, #user_permission{} = Record,
6667
#?MODULE{store_id = StoreId} = State) ->
6768
#user_permission{
6869
user_vhost = #user_vhost{
@@ -89,7 +90,7 @@ copy_to_khepri(
8990
Error -> Error
9091
end;
9192
copy_to_khepri(
92-
rabbit_topic_permission = Table, Record,
93+
rabbit_topic_permission = Table, #topic_permission{} = Record,
9394
#?MODULE{store_id = StoreId} = State) ->
9495
#topic_permission{
9596
topic_permission_key =

deps/rabbit/src/rabbit_db_vhost_m2k_converter.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
-include_lib("khepri/include/khepri.hrl").
1414
-include_lib("khepri_mnesia_migration/src/kmm_logging.hrl").
1515
-include_lib("rabbit_common/include/rabbit.hrl").
16+
-include("vhost.hrl").
1617

1718
-export([init_copy_to_khepri/3,
1819
copy_to_khepri/3,
@@ -46,7 +47,7 @@ init_copy_to_khepri(StoreId, _MigrationId, Tables) ->
4647

4748
copy_to_khepri(
4849
rabbit_vhost = Table, Record,
49-
#?MODULE{store_id = StoreId} = State) ->
50+
#?MODULE{store_id = StoreId} = State) when ?is_vhost(Record) ->
5051
Name = vhost:get_name(Record),
5152
?LOG_DEBUG(
5253
"Mnesia->Khepri data copy: [~0p] key: ~0p",

deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1581,7 +1581,8 @@ drop_local(QNames, #state{subscriptions = Subs,
15811581
"qos", _:1/binary >>},
15821582
#{binding_keys := BindingKeys}})
15831583
when Vhost0 =:= Vhost andalso
1584-
ClientId0 =:= ClientId ->
1584+
ClientId0 =:= ClientId andalso
1585+
map_size(BindingKeys) > 0 ->
15851586
rabbit_misc:maps_any(
15861587
fun(BKey, true) ->
15871588
TopicFilter = amqp_to_mqtt(BKey),

release-notes/3.11.25.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
RabbitMQ `3.11.25` is a maintenance release in the `3.11.x` [release series](https://www.rabbitmq.com/versions.html).
2+
This release series [goes out of community support on Dec 31, 2023](https://rabbitmq.com/versions.html).
3+
4+
Please refer to the upgrade section from [v3.11.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0)
5+
if upgrading from a version prior to 3.11.0.
6+
7+
This release requires Erlang 25 and supports Erlang versions up to `25.3.x`.
8+
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/which-erlang.html) has more details on
9+
Erlang version requirements for RabbitMQ.
10+
11+
12+
### Minimum Supported Erlang Version
13+
14+
As of 3.11.0, RabbitMQ requires Erlang 25. Nodes **will fail to start** on older Erlang releases.
15+
16+
Erlang 25 as our new baseline means much improved performance on ARM64 architectures, [profiling with flame graphs](https://blog.rabbitmq.com/posts/2022/05/flame-graphs/)
17+
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ 3.11 users.
18+
19+
20+
## Changes Worth Mentioning
21+
22+
Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v3.11.x/release-notes).
23+
24+
25+
### Core Server
26+
27+
#### Bug Fixes
28+
29+
* Avoids a potential exception in the `autoheal` partition handler.
30+
31+
Contributed by @Ayanda-D.
32+
33+
GitHub issue: [#9819](https://github.com/rabbitmq/rabbitmq-server/pull/9819)
34+
35+
#### Enhancements
36+
37+
* `raft.segment_max_entries` is now validated to prevent the value from overflowing its 16-bit segment file field.
38+
Maximum supported value is now ``65535.
39+
40+
GitHub issue: [#9748](https://github.com/rabbitmq/rabbitmq-server/pull/9748)
41+
42+
43+
### Shovel Plugin
44+
45+
#### Enhancements
46+
47+
* Significantly faster Shovel startup in environments where there are many of them (one thousand or more).
48+
49+
GitHub issue: [#9800](https://github.com/rabbitmq/rabbitmq-server/pull/9800)
50+
51+
52+
### AMQP 1.0 Erlang Client
53+
54+
#### Enhancements
55+
56+
* User-provided credentials are now obfuscated using an one-off key pair generated on node boot.
57+
This keeps sensitive client state information from being logged by the runtime exception logger.
58+
59+
GitHub issue: [#9778](https://github.com/rabbitmq/rabbitmq-server/pull/9778)
60+
61+
62+
## Dependency Upgrades
63+
64+
None in this release.
65+
66+
67+
## Source Code Archives
68+
69+
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.11.25.tar.xz`
70+
instead of the source tarball produced by GitHub.

0 commit comments

Comments
 (0)