Skip to content

Commit 16f7d50

Browse files
Merge pull request #8846 from rabbitmq/session-expiry-interval
Make mqtt.subscription_ttl unsupported
2 parents 52d78e0 + ed31a81 commit 16f7d50

File tree

8 files changed

+21
-23
lines changed

8 files changed

+21
-23
lines changed

deps/rabbit/docs/rabbitmq.conf.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,7 @@
913913
## 'infinity' means the session does not expire.
914914
## An MQTT 5.0 client can choose a lower value.
915915
##
916-
# mqtt.max_session_expiry_interval_secs = 1800
916+
# mqtt.max_session_expiry_interval_seconds = 1800
917917

918918
## Set the prefetch count (governing the maximum number of unacknowledged
919919
## messages that will be delivered).

deps/rabbitmq_mqtt/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ APP_ENV = """[
3434
{allow_anonymous, true},
3535
{vhost, <<"/">>},
3636
{exchange, <<"amq.topic">>},
37-
{max_session_expiry_interval_secs, 86400}, %% 1 day
37+
{max_session_expiry_interval_seconds, 86400}, %% 1 day
3838
{retained_message_store, rabbit_mqtt_retained_msg_store_dets},
3939
%% only used by DETS store
4040
{retained_message_store_dets_sync_interval, 2000},

deps/rabbitmq_mqtt/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ define PROJECT_ENV
1111
{allow_anonymous, true},
1212
{vhost, <<"/">>},
1313
{exchange, <<"amq.topic">>},
14-
{max_session_expiry_interval_secs, 86400}, %% 1 day
14+
{max_session_expiry_interval_seconds, 86400}, %% 1 day
1515
{retained_message_store, rabbit_mqtt_retained_msg_store_dets},
1616
%% only used by DETS store
1717
{retained_message_store_dets_sync_interval, 2000},

deps/rabbitmq_mqtt/priv/schema/rabbitmq_mqtt.schema

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,22 @@ end}.
7171

7272
{translation, "rabbitmq_mqtt.subscription_ttl",
7373
fun(Conf) ->
74-
cuttlefish:warn(
75-
"Since 3.13 mqtt.subscription_ttl (in milliseconds) is deprecated and "
76-
"has no effect anymore. Use mqtt.max_session_expiry_interval_secs (in "
77-
"seconds) instead."),
78-
cuttlefish:unset()
74+
cuttlefish:invalid(
75+
"Since 3.13 mqtt.subscription_ttl (in milliseconds) is unsupported. "
76+
"Use mqtt.max_session_expiry_interval_seconds (in seconds) instead.")
7977
end}.
8078

8179
%% Defines the maximum Session Expiry Interval in seconds allowed by the server.
8280
%% 'infinity' means the session does not expire.
8381
%% An MQTT 5.0 client can choose a lower value.
8482

85-
{mapping, "mqtt.max_session_expiry_interval_secs", "rabbitmq_mqtt.max_session_expiry_interval_secs", [
83+
{mapping, "mqtt.max_session_expiry_interval_seconds", "rabbitmq_mqtt.max_session_expiry_interval_seconds", [
8684
{datatype, [integer, {atom, infinity}]}
8785
]}.
8886

89-
{translation, "rabbitmq_mqtt.max_session_expiry_interval_secs",
87+
{translation, "rabbitmq_mqtt.max_session_expiry_interval_seconds",
9088
fun(Conf) ->
91-
case cuttlefish:conf_get("mqtt.max_session_expiry_interval_secs", Conf) of
89+
case cuttlefish:conf_get("mqtt.max_session_expiry_interval_seconds", Conf) of
9290
N when is_integer(N) andalso N < 0 ->
9391
cuttlefish:invalid("negative integer not allowed");
9492
Valid ->

deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ process_connect(
148148
MaxPacketSize = maps:get('Maximum-Packet-Size', ConnectProps, ?MAX_PACKET_SIZE),
149149
TopicAliasMax = persistent_term:get(?PERSISTENT_TERM_TOPIC_ALIAS_MAXIMUM),
150150
TopicAliasMaxOutbound = min(maps:get('Topic-Alias-Maximum', ConnectProps, 0), TopicAliasMax),
151-
{ok, MaxSessionExpiry} = application:get_env(?APP_NAME, max_session_expiry_interval_secs),
151+
{ok, MaxSessionExpiry} = application:get_env(?APP_NAME, max_session_expiry_interval_seconds),
152152
SessionExpiry =
153153
case {ProtoVer, CleanStart} of
154154
{5, _} ->
@@ -157,7 +157,7 @@ process_connect(
157157
?UINT_MAX ->
158158
%% "If the Session Expiry Interval is 0xFFFFFFFF (UINT_MAX),
159159
%% the Session does not expire."
160-
min(infinity, MaxSessionExpiry);
160+
MaxSessionExpiry;
161161
Seconds ->
162162
min(Seconds, MaxSessionExpiry)
163163
end;
@@ -569,7 +569,7 @@ process_request(?DISCONNECT,
569569
State0;
570570
_ ->
571571
%% "The session expiry interval can be modified at disconnect."
572-
{ok, MaxSEI} = application:get_env(?APP_NAME, max_session_expiry_interval_secs),
572+
{ok, MaxSEI} = application:get_env(?APP_NAME, max_session_expiry_interval_seconds),
573573
NewSEI = min(RequestedSEI, MaxSEI),
574574
lists:foreach(fun(QName) ->
575575
update_session_expiry_interval(QName, NewSEI)

deps/rabbitmq_mqtt/test/config_schema_SUITE_data/rabbitmq_mqtt.snippets

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
mqtt.allow_anonymous = true
66
mqtt.vhost = /
77
mqtt.exchange = amq.topic
8-
mqtt.max_session_expiry_interval_secs = 1800
8+
mqtt.max_session_expiry_interval_seconds = 86400
99
mqtt.prefetch = 10
1010
mqtt.sparkplug = true
1111
mqtt.listeners.ssl = none
@@ -25,7 +25,7 @@
2525
{allow_anonymous,true},
2626
{vhost,<<"/">>},
2727
{exchange,<<"amq.topic">>},
28-
{max_session_expiry_interval_secs,1800},
28+
{max_session_expiry_interval_seconds,86400},
2929
{prefetch,10},
3030
{sparkplug,true},
3131
{ssl_listeners,[]},
@@ -106,7 +106,7 @@
106106
mqtt.allow_anonymous = true
107107
mqtt.vhost = /
108108
mqtt.exchange = amq.topic
109-
mqtt.max_session_expiry_interval_secs = infinity
109+
mqtt.max_session_expiry_interval_seconds = infinity
110110
mqtt.prefetch = 10
111111
mqtt.proxy_protocol = true",
112112
[{rabbit,[{tcp_listeners,[5672]}]},
@@ -116,7 +116,7 @@
116116
{allow_anonymous,true},
117117
{vhost,<<"/">>},
118118
{exchange,<<"amq.topic">>},
119-
{max_session_expiry_interval_secs,infinity},
119+
{max_session_expiry_interval_seconds,infinity},
120120
{prefetch,10},
121121
{proxy_protocol,true}]}],
122122
[rabbitmq_mqtt]},
@@ -126,7 +126,7 @@
126126
mqtt.allow_anonymous = true
127127
mqtt.vhost = /
128128
mqtt.exchange = amq.topic
129-
mqtt.max_session_expiry_interval_secs = 1800
129+
mqtt.max_session_expiry_interval_seconds = 1800
130130
mqtt.prefetch = 10
131131
## use DETS (disk-based) store for retained messages
132132
mqtt.retained_message_store = rabbit_mqtt_retained_msg_store_dets
@@ -141,7 +141,7 @@
141141
{allow_anonymous,true},
142142
{vhost,<<"/">>},
143143
{exchange,<<"amq.topic">>},
144-
{max_session_expiry_interval_secs,1800},
144+
{max_session_expiry_interval_seconds,1800},
145145
{prefetch,10},
146146
{retained_message_store,rabbit_mqtt_retained_msg_store_dets},
147147
{retained_message_store_dets_sync_interval,2000},

deps/rabbitmq_mqtt/test/shared_SUITE.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -824,7 +824,7 @@ delete_create_queue(Config) ->
824824

825825
session_expiry(Config) ->
826826
App = rabbitmq_mqtt,
827-
Par = max_session_expiry_interval_secs,
827+
Par = max_session_expiry_interval_seconds,
828828
Seconds = 1,
829829
{ok, DefaultVal} = rpc(Config, application, get_env, [App, Par]),
830830
ok = rpc(Config, application, set_env, [App, Par, Seconds]),

deps/rabbitmq_mqtt/test/v5_SUITE.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ init_per_testcase(T, Config)
198198
when T =:= session_expiry_disconnect_infinity_to_zero;
199199
T =:= session_expiry_disconnect_to_infinity;
200200
T =:= session_expiry_reconnect_infinity_to_zero ->
201-
Par = max_session_expiry_interval_secs,
201+
Par = max_session_expiry_interval_seconds,
202202
{ok, Default} = rpc(Config, application, get_env, [?APP, Par]),
203203
ok = rpc(Config, application, set_env, [?APP, Par, infinity]),
204204
Config1 = rabbit_ct_helpers:set_config(Config, {Par, Default}),
@@ -215,7 +215,7 @@ end_per_testcase(T, Config)
215215
when T =:= session_expiry_disconnect_infinity_to_zero;
216216
T =:= session_expiry_disconnect_to_infinity;
217217
T =:= session_expiry_reconnect_infinity_to_zero ->
218-
Par = max_session_expiry_interval_secs,
218+
Par = max_session_expiry_interval_seconds,
219219
Default = ?config(Par, Config),
220220
ok = rpc(Config, application, set_env, [?APP, Par, Default]),
221221
end_per_testcase0(T, Config);

0 commit comments

Comments
 (0)