浏览代码

fix(sessds): Rename session_persistence to durable_sessions

ieQu1 1 年之前
父节点
当前提交
73f17249e9

+ 2 - 2
apps/emqx/integration_test/emqx_persistent_session_ds_SUITE.erl

@@ -56,7 +56,7 @@ init_per_testcase(t_session_gc = TestCase, Config) ->
         n => 3,
         n => 3,
         roles => [core, core, core],
         roles => [core, core, core],
         extra_emqx_conf =>
         extra_emqx_conf =>
-            "\n session_persistence {"
+            "\n durable_sessions {"
             "\n   last_alive_update_interval = 500ms "
             "\n   last_alive_update_interval = 500ms "
             "\n   session_gc_interval = 1s "
             "\n   session_gc_interval = 1s "
             "\n   session_gc_batch_size = 2 "
             "\n   session_gc_batch_size = 2 "
@@ -116,7 +116,7 @@ app_specs() ->
     app_specs(_Opts = #{}).
     app_specs(_Opts = #{}).
 
 
 app_specs(Opts) ->
 app_specs(Opts) ->
-    DefaultEMQXConf = "session_persistence {enable = true, renew_streams_interval = 1s}",
+    DefaultEMQXConf = "durable_sessions {enable = true, renew_streams_interval = 1s}",
     ExtraEMQXConf = maps:get(extra_emqx_conf, Opts, ""),
     ExtraEMQXConf = maps:get(extra_emqx_conf, Opts, ""),
     [
     [
         {emqx, DefaultEMQXConf ++ ExtraEMQXConf}
         {emqx, DefaultEMQXConf ++ ExtraEMQXConf}

+ 5 - 5
apps/emqx/src/emqx_persistent_message.erl

@@ -58,7 +58,7 @@ is_persistence_enabled() ->
 
 
 -spec is_persistence_enabled(emqx_types:zone()) -> boolean().
 -spec is_persistence_enabled(emqx_types:zone()) -> boolean().
 is_persistence_enabled(Zone) ->
 is_persistence_enabled(Zone) ->
-    emqx_config:get_zone_conf(Zone, [session_persistence, enable]).
+    emqx_config:get_zone_conf(Zone, [durable_sessions, enable]).
 
 
 -spec storage_backend() -> emqx_ds:create_db_opts().
 -spec storage_backend() -> emqx_ds:create_db_opts().
 storage_backend() ->
 storage_backend() ->
@@ -68,7 +68,7 @@ storage_backend() ->
 %% `emqx_persistent_session_ds':
 %% `emqx_persistent_session_ds':
 -spec force_ds(emqx_types:zone()) -> boolean().
 -spec force_ds(emqx_types:zone()) -> boolean().
 force_ds(Zone) ->
 force_ds(Zone) ->
-    emqx_config:get_zone_conf(Zone, [session_persistence, force_persistence]).
+    emqx_config:get_zone_conf(Zone, [durable_sessions, force_persistence]).
 
 
 storage_backend(Path) ->
 storage_backend(Path) ->
     ConfigTree = #{'_config_handler' := {Module, Function}} = emqx_config:get(Path),
     ConfigTree = #{'_config_handler' := {Module, Function}} = emqx_config:get(Path),
@@ -78,12 +78,12 @@ storage_backend(Path) ->
 
 
 -spec add_handler() -> ok.
 -spec add_handler() -> ok.
 add_handler() ->
 add_handler() ->
-    emqx_config_handler:add_handler([session_persistence], ?MODULE).
+    emqx_config_handler:add_handler([durable_sessions], ?MODULE).
 
 
-pre_config_update([session_persistence], #{<<"enable">> := New}, #{<<"enable">> := Old}) when
+pre_config_update([durable_sessions], #{<<"enable">> := New}, #{<<"enable">> := Old}) when
     New =/= Old
     New =/= Old
 ->
 ->
-    {error, "Hot update of session_persistence.enable parameter is currently not supported"};
+    {error, "Hot update of durable_sessions.enable parameter is currently not supported"};
 pre_config_update(_Root, _NewConf, _OldConf) ->
 pre_config_update(_Root, _NewConf, _OldConf) ->
     ok.
     ok.
 
 

+ 2 - 2
apps/emqx/src/emqx_persistent_message_ds_gc_worker.erl

@@ -81,7 +81,7 @@ handle_info(_Info, State) ->
 %%--------------------------------------------------------------------------------
 %%--------------------------------------------------------------------------------
 
 
 ensure_gc_timer() ->
 ensure_gc_timer() ->
-    Timeout = emqx_config:get([session_persistence, message_retention_period]),
+    Timeout = emqx_config:get([durable_sessions, message_retention_period]),
     _ = erlang:send_after(Timeout, self(), #gc{}),
     _ = erlang:send_after(Timeout, self(), #gc{}),
     ok.
     ok.
 
 
@@ -114,7 +114,7 @@ now_ms() ->
 maybe_gc() ->
 maybe_gc() ->
     AllGens = emqx_ds:list_generations_with_lifetimes(?PERSISTENT_MESSAGE_DB),
     AllGens = emqx_ds:list_generations_with_lifetimes(?PERSISTENT_MESSAGE_DB),
     NowMS = now_ms(),
     NowMS = now_ms(),
-    RetentionPeriod = emqx_config:get([session_persistence, message_retention_period]),
+    RetentionPeriod = emqx_config:get([durable_sessions, message_retention_period]),
     TimeThreshold = NowMS - RetentionPeriod,
     TimeThreshold = NowMS - RetentionPeriod,
     maybe_create_new_generation(AllGens, TimeThreshold),
     maybe_create_new_generation(AllGens, TimeThreshold),
     ?tp_span(
     ?tp_span(

+ 1 - 1
apps/emqx/src/emqx_persistent_session_bookkeeper.erl

@@ -102,6 +102,6 @@ tally_persistent_subscriptions(State0) ->
     State0#{subs_count := N}.
     State0#{subs_count := N}.
 
 
 ensure_subs_tally_timer() ->
 ensure_subs_tally_timer() ->
-    Timeout = emqx_config:get([session_persistence, subscription_count_refresh_interval]),
+    Timeout = emqx_config:get([durable_sessions, subscription_count_refresh_interval]),
     _ = erlang:send_after(Timeout, self(), #tally_subs{}),
     _ = erlang:send_after(Timeout, self(), #tally_subs{}),
     ok.
     ok.

+ 2 - 2
apps/emqx/src/emqx_persistent_session_ds.erl

@@ -1150,10 +1150,10 @@ expiry_interval(ConnInfo) ->
 %% zone, since the GC process is responsible for all sessions
 %% zone, since the GC process is responsible for all sessions
 %% regardless of the zone.
 %% regardless of the zone.
 bump_interval() ->
 bump_interval() ->
-    emqx_config:get([session_persistence, last_alive_update_interval]).
+    emqx_config:get([durable_sessions, last_alive_update_interval]).
 
 
 get_config(#{zone := Zone}, Key) ->
 get_config(#{zone := Zone}, Key) ->
-    emqx_config:get_zone_conf(Zone, [session_persistence | Key]).
+    emqx_config:get_zone_conf(Zone, [durable_sessions | Key]).
 
 
 -spec try_get_live_session(emqx_types:clientid()) ->
 -spec try_get_live_session(emqx_types:clientid()) ->
     {pid(), session()} | not_found | not_persistent.
     {pid(), session()} | not_found | not_persistent.

+ 4 - 4
apps/emqx/src/emqx_persistent_session_ds_gc_worker.erl

@@ -93,7 +93,7 @@ handle_info(_Info, State) ->
 %%--------------------------------------------------------------------------------
 %%--------------------------------------------------------------------------------
 
 
 ensure_gc_timer() ->
 ensure_gc_timer() ->
-    Timeout = emqx_config:get([session_persistence, session_gc_interval]),
+    Timeout = emqx_config:get([durable_sessions, session_gc_interval]),
     _ = erlang:send_after(Timeout, self(), #gc{}),
     _ = erlang:send_after(Timeout, self(), #gc{}),
     ok.
     ok.
 
 
@@ -133,8 +133,8 @@ start_gc() ->
     ).
     ).
 
 
 gc_context() ->
 gc_context() ->
-    GCInterval = emqx_config:get([session_persistence, session_gc_interval]),
-    BumpInterval = emqx_config:get([session_persistence, last_alive_update_interval]),
+    GCInterval = emqx_config:get([durable_sessions, session_gc_interval]),
+    BumpInterval = emqx_config:get([durable_sessions, last_alive_update_interval]),
     TimeThreshold = max(GCInterval, BumpInterval) * 3,
     TimeThreshold = max(GCInterval, BumpInterval) * 3,
     NowMS = now_ms(),
     NowMS = now_ms(),
     #{
     #{
@@ -149,7 +149,7 @@ gc_context() ->
     }.
     }.
 
 
 gc_loop(MinLastAlive, MinLastAliveWillMsg, It0) ->
 gc_loop(MinLastAlive, MinLastAliveWillMsg, It0) ->
-    GCBatchSize = emqx_config:get([session_persistence, session_gc_batch_size]),
+    GCBatchSize = emqx_config:get([durable_sessions, session_gc_batch_size]),
     case emqx_persistent_session_ds_state:session_iterator_next(It0, GCBatchSize) of
     case emqx_persistent_session_ds_state:session_iterator_next(It0, GCBatchSize) of
         {[], _It} ->
         {[], _It} ->
             ok;
             ok;

+ 5 - 5
apps/emqx/src/emqx_schema.erl

@@ -303,9 +303,9 @@ roots(low) ->
                     converter => fun flapping_detect_converter/2
                     converter => fun flapping_detect_converter/2
                 }
                 }
             )},
             )},
-        {session_persistence,
+        {durable_sessions,
             sc(
             sc(
-                ref("session_persistence"),
+                ref("durable_sessions"),
                 #{
                 #{
                     importance => ?IMPORTANCE_HIDDEN
                     importance => ?IMPORTANCE_HIDDEN
                 }
                 }
@@ -1652,12 +1652,12 @@ fields("trace") ->
                 desc => ?DESC(fields_trace_payload_encode)
                 desc => ?DESC(fields_trace_payload_encode)
             })}
             })}
     ];
     ];
-fields("session_persistence") ->
+fields("durable_sessions") ->
     [
     [
         {"enable",
         {"enable",
             sc(
             sc(
                 boolean(), #{
                 boolean(), #{
-                    desc => ?DESC(session_persistence_enable),
+                    desc => ?DESC(durable_sessions_enable),
                     default => false
                     default => false
                 }
                 }
             )},
             )},
@@ -2091,7 +2091,7 @@ desc("ocsp") ->
     "Per listener OCSP Stapling configuration.";
     "Per listener OCSP Stapling configuration.";
 desc("crl_cache") ->
 desc("crl_cache") ->
     "Global CRL cache options.";
     "Global CRL cache options.";
-desc("session_persistence") ->
+desc("durable_sessions") ->
     "Settings governing durable sessions persistence.";
     "Settings governing durable sessions persistence.";
 desc(durable_storage) ->
 desc(durable_storage) ->
     ?DESC(durable_storage);
     ?DESC(durable_storage);

+ 1 - 1
apps/emqx/src/emqx_zone_schema.erl

@@ -34,7 +34,7 @@ roots() ->
         conn_congestion,
         conn_congestion,
         force_gc,
         force_gc,
         overload_protection,
         overload_protection,
-        session_persistence
+        durable_sessions
     ].
     ].
 
 
 zones_without_default() ->
 zones_without_default() ->

+ 1 - 1
apps/emqx/test/emqx_config_SUITE.erl

@@ -465,7 +465,7 @@ zone_global_defaults() ->
                 enable => false
                 enable => false
             },
             },
         stats => #{enable => true},
         stats => #{enable => true},
-        session_persistence =>
+        durable_sessions =>
             #{
             #{
                 enable => false,
                 enable => false,
                 batch_size => 100,
                 batch_size => 100,

+ 2 - 2
apps/emqx/test/emqx_persistent_messages_SUITE.erl

@@ -46,7 +46,7 @@ init_per_testcase(t_session_subscription_iterators = TestCase, Config) ->
 init_per_testcase(t_message_gc = TestCase, Config) ->
 init_per_testcase(t_message_gc = TestCase, Config) ->
     Opts = #{
     Opts = #{
         extra_emqx_conf =>
         extra_emqx_conf =>
-            "\n  session_persistence.message_retention_period = 3s"
+            "\n  durable_sessions.message_retention_period = 3s"
             "\n  durable_storage.messages.n_shards = 3"
             "\n  durable_storage.messages.n_shards = 3"
     },
     },
     common_init_per_testcase(TestCase, [{n_shards, 3} | Config], Opts);
     common_init_per_testcase(TestCase, [{n_shards, 3} | Config], Opts);
@@ -554,7 +554,7 @@ app_specs(Opts) ->
     ExtraEMQXConf = maps:get(extra_emqx_conf, Opts, ""),
     ExtraEMQXConf = maps:get(extra_emqx_conf, Opts, ""),
     [
     [
         emqx_durable_storage,
         emqx_durable_storage,
-        {emqx, "session_persistence {enable = true}" ++ ExtraEMQXConf}
+        {emqx, "durable_sessions {enable = true}" ++ ExtraEMQXConf}
     ].
     ].
 
 
 cluster() ->
 cluster() ->

+ 2 - 2
apps/emqx/test/emqx_persistent_session_SUITE.erl

@@ -68,7 +68,7 @@ groups() ->
 
 
 init_per_group(persistence_disabled, Config) ->
 init_per_group(persistence_disabled, Config) ->
     [
     [
-        {emqx_config, ?EMQX_CONFIG ++ "session_persistence { enable = false }"},
+        {emqx_config, ?EMQX_CONFIG ++ "durable_sessions { enable = false }"},
         {persistence, false}
         {persistence, false}
         | Config
         | Config
     ];
     ];
@@ -76,7 +76,7 @@ init_per_group(persistence_enabled, Config) ->
     [
     [
         {emqx_config,
         {emqx_config,
             ?EMQX_CONFIG ++
             ?EMQX_CONFIG ++
-                "session_persistence {\n"
+                "durable_sessions {\n"
                 "  enable = true\n"
                 "  enable = true\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"

+ 1 - 1
apps/emqx/test/emqx_persistent_session_ds_router_SUITE.erl

@@ -38,7 +38,7 @@ init_per_suite(Config) ->
     AppSpecs = [
     AppSpecs = [
         emqx_durable_storage,
         emqx_durable_storage,
         {emqx, #{
         {emqx, #{
-            config => #{session_persistence => #{enable => true}},
+            config => #{durable_sessions => #{enable => true}},
             override_env => [{boot_modules, [broker]}]
             override_env => [{boot_modules, [broker]}]
         }}
         }}
     ],
     ],

+ 2 - 2
apps/emqx/test/emqx_takeover_SUITE.erl

@@ -69,7 +69,7 @@ init_per_group(persistence_enabled = Group, Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
             {emqx,
             {emqx,
-                "session_persistence = {\n"
+                "durable_sessions = {\n"
                 "  enable = true\n"
                 "  enable = true\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"
@@ -85,7 +85,7 @@ init_per_group(persistence_enabled = Group, Config) ->
     ];
     ];
 init_per_group(persistence_disabled = Group, Config) ->
 init_per_group(persistence_disabled = Group, Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
-        [{emqx, "session_persistence.enable = false"}],
+        [{emqx, "durable_sessions.enable = false"}],
         #{work_dir => emqx_cth_suite:work_dir(Group, Config)}
         #{work_dir => emqx_cth_suite:work_dir(Group, Config)}
     ),
     ),
     [
     [

+ 1 - 1
apps/emqx_conf/src/emqx_conf_cli.erl

@@ -208,7 +208,7 @@ hidden_roots() ->
         <<"stats">>,
         <<"stats">>,
         <<"broker">>,
         <<"broker">>,
         <<"persistent_session_store">>,
         <<"persistent_session_store">>,
-        <<"session_persistence">>,
+        <<"durable_sessions">>,
         <<"plugins">>,
         <<"plugins">>,
         <<"zones">>
         <<"zones">>
     ].
     ].

+ 1 - 1
apps/emqx_dashboard/test/emqx_dashboard_monitor_SUITE.erl

@@ -82,7 +82,7 @@ init_per_group(persistent_sessions = Group, Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
             emqx_conf,
             emqx_conf,
-            {emqx, "session_persistence {enable = true}"},
+            {emqx, "durable_sessions {enable = true}"},
             {emqx_retainer, ?BASE_RETAINER_CONF},
             {emqx_retainer, ?BASE_RETAINER_CONF},
             emqx_management,
             emqx_management,
             emqx_mgmt_api_test_util:emqx_dashboard(
             emqx_mgmt_api_test_util:emqx_dashboard(

+ 1 - 1
apps/emqx_management/src/emqx_mgmt_data_backup.erl

@@ -65,7 +65,7 @@
     <<"limiter">>,
     <<"limiter">>,
     <<"log">>,
     <<"log">>,
     <<"persistent_session_store">>,
     <<"persistent_session_store">>,
-    <<"session_persistence">>,
+    <<"durable_sessions">>,
     <<"prometheus">>,
     <<"prometheus">>,
     <<"crl_cache">>,
     <<"crl_cache">>,
     <<"conn_congestion">>,
     <<"conn_congestion">>,

+ 2 - 2
apps/emqx_management/test/emqx_mgmt_SUITE.erl

@@ -46,7 +46,7 @@ groups() ->
 init_per_group(persistence_disabled, Config) ->
 init_per_group(persistence_disabled, Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
-            {emqx, "session_persistence { enable = false }"},
+            {emqx, "durable_sessions { enable = false }"},
             emqx_management
             emqx_management
         ],
         ],
         #{work_dir => emqx_cth_suite:work_dir(Config)}
         #{work_dir => emqx_cth_suite:work_dir(Config)}
@@ -59,7 +59,7 @@ init_per_group(persistence_enabled, Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
             {emqx,
             {emqx,
-                "session_persistence {\n"
+                "durable_sessions {\n"
                 "  enable = true\n"
                 "  enable = true\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  last_alive_update_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"
                 "  renew_streams_interval = 100ms\n"

+ 1 - 1
apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl

@@ -79,7 +79,7 @@ end_per_suite(Config) ->
 
 
 init_per_group(persistent_sessions, Config) ->
 init_per_group(persistent_sessions, Config) ->
     AppSpecs = [
     AppSpecs = [
-        {emqx, "session_persistence.enable = true"},
+        {emqx, "durable_sessions.enable = true"},
         emqx_management
         emqx_management
     ],
     ],
     Dashboard = emqx_mgmt_api_test_util:emqx_dashboard(
     Dashboard = emqx_mgmt_api_test_util:emqx_dashboard(

+ 1 - 1
apps/emqx_management/test/emqx_mgmt_api_ds_SUITE.erl

@@ -29,7 +29,7 @@ all() ->
 init_per_suite(Config) ->
 init_per_suite(Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
-            {emqx, "session_persistence.enable = true"},
+            {emqx, "durable_sessions.enable = true"},
             emqx_management,
             emqx_management,
             {emqx_dashboard, "dashboard.listeners.http { enable = true, bind = 18083 }"}
             {emqx_dashboard, "dashboard.listeners.http { enable = true, bind = 18083 }"}
         ],
         ],

+ 1 - 1
apps/emqx_management/test/emqx_mgmt_api_subscription_SUITE.erl

@@ -61,7 +61,7 @@ init_per_suite(Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
             {emqx,
             {emqx,
-                "session_persistence {\n"
+                "durable_sessions {\n"
                 "    enable = true\n"
                 "    enable = true\n"
                 "    renew_streams_interval = 10ms\n"
                 "    renew_streams_interval = 10ms\n"
                 "}"},
                 "}"},

+ 1 - 1
apps/emqx_management/test/emqx_mgmt_api_topics_SUITE.erl

@@ -27,7 +27,7 @@ all() ->
 init_per_suite(Config) ->
 init_per_suite(Config) ->
     Apps = emqx_cth_suite:start(
     Apps = emqx_cth_suite:start(
         [
         [
-            {emqx, "session_persistence.enable = true"},
+            {emqx, "durable_sessions.enable = true"},
             emqx_management,
             emqx_management,
             emqx_mgmt_api_test_util:emqx_dashboard()
             emqx_mgmt_api_test_util:emqx_dashboard()
         ],
         ],

+ 1 - 1
changes/ce/feat-12739.en.md

@@ -1,2 +1,2 @@
-Make it possible to override `session_persistence` settings per zone.
+Make it possible to override `durable_sessions` settings per zone.
 Since durable sessions are inherently more expensive to maintain than the regular sessions, it's desirable to grant the operator finer control of session durability for different classes of clients.
 Since durable sessions are inherently more expensive to maintain than the regular sessions, it's desirable to grant the operator finer control of session durability for different classes of clients.

+ 2 - 0
changes/ce/fix-13060.en.md

@@ -0,0 +1,2 @@
+- Rename durable storage for MQTT messages from `emqx_persistent_message` to  `messages`
+- Rename configuration root from `session_persistence` to `durable_sessions`

+ 3 - 3
rel/i18n/emqx_schema.hocon

@@ -1207,7 +1207,7 @@ base_listener_zone.desc: """~
     - `force_shutdown`
     - `force_shutdown`
     - `force_gc`
     - `force_gc`
     - `flapping_detect`
     - `flapping_detect`
-    - `session_persistence`"""
+    - `durable_sessions`"""
 
 
 base_listener_zone.label: "Zone"
 base_listener_zone.label: "Zone"
 
 
@@ -1544,10 +1544,10 @@ resource_tags.label:
 resource_tags.desc:
 resource_tags.desc:
 """Tags to annotate this config entry."""
 """Tags to annotate this config entry."""
 
 
-session_persistence_enable.label:
+durable_sessions_enable.label:
 """Enable session persistence"""
 """Enable session persistence"""
 
 
-session_persistence_enable.desc:
+durable_sessions_enable.desc:
 """Use durable storage for client sessions persistence.
 """Use durable storage for client sessions persistence.
 If enabled, sessions configured to outlive client connections, along with their corresponding messages, will be durably stored and survive broker downtime.
 If enabled, sessions configured to outlive client connections, along with their corresponding messages, will be durably stored and survive broker downtime.