diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index ff1446b6d..7268a7e59 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -1358,6 +1358,15 @@ fields("broker") -> ref("broker_perf"), #{importance => ?IMPORTANCE_HIDDEN} )}, + {"unified_routing_table", + sc( + boolean(), + #{ + default => false, + importance => ?IMPORTANCE_HIDDEN, + desc => ?DESC(broker_unified_routing_table) + } + )}, %% FIXME: Need new design for shared subscription group {"shared_subscription_group", sc( diff --git a/rel/i18n/emqx_schema.hocon b/rel/i18n/emqx_schema.hocon index 6c21b31ea..c63b248f4 100644 --- a/rel/i18n/emqx_schema.hocon +++ b/rel/i18n/emqx_schema.hocon @@ -1549,6 +1549,12 @@ fields_ws_opts_max_frame_size.label: sys_event_messages.desc: """Client events messages.""" +broker_unified_routing_table.desc: +"""Enable unified routing table. +Unified routing table should increase both subscription and routing performance at the cost of slight increase in memory consumption per subscription. +NOTE: This is an experimental feature. +NOTE: Full non-rolling cluster restart is needed after enabling or disabling this option for it to take any effect.""" + broker_perf_trie_compaction.desc: """Enable trie path compaction. Enabling it significantly improves wildcard topic subscribe rate, if wildcard topics have unique prefixes like: 'sensor/{{id}}/+/', where ID is unique per subscriber.