Thales Macedo Garitezi
b30bcf32bd
feat(ds): introduce keyspace concept
...
Fixes https://emqx.atlassian.net/browse/EMQX-10579
This introduces the concept of "keyspaces" to our durable storage (DS) implementation, and
also refactors some places where "shard" and "keyspace" would be mixed up.
We might want to tune the storage options differently for distinct sets of topics, the
keyspaces. The keyspace is composed by one or more shards.
- Keyspaces are identified simply by binary strings.
- DS configuration is scoped by keyspaces instead of shards.
- Starting a new DS shard requires definining to which keyspace the shard belongs.
2023-09-14 16:39:00 -03:00
Thales Macedo Garitezi
e41f7dd68c
Merge pull request #11598 from thalesmg/ds-fix-ps-router-m-20230912
...
fixes and improvements to persistent session router
2023-09-14 10:00:58 -03:00
lafirest
e07179a054
Merge pull request #11576 from lafirest/fix/banned_typo
...
fix(banned): fix typos
2023-09-14 14:31:22 +08:00
firest
3eb46be2ae
fix(banned): fix typos
2023-09-14 14:01:59 +08:00
Thales Macedo Garitezi
803b69d878
refactor: use more consistent return types
...
Co-authored-by: Andrew Mayorov <encube.ul@gmail.com>
2023-09-13 10:49:45 -03:00
Thales Macedo Garitezi
f55f6dc779
docs(ps_session): add notes explaining rationale about operation order and consistency
2023-09-13 10:12:27 -03:00
Thales Macedo Garitezi
e081abb9e6
perf(ps_router): only check if there are any routes when deciding whether to persist message
2023-09-13 10:02:39 -03:00
Thales Macedo Garitezi
cae9ae1fab
fix(ps_router): use disc_copies for storing persistent session routes
2023-09-13 10:02:39 -03:00
SergeTupchiy
cf334d5542
Merge pull request #11567 from SergeTupchiy/EMQX-10835-increase-graceful-stop-timeout
...
fix(nodetool): increase graceful stop timeout
2023-09-13 13:22:39 +03:00
SergeTupchiy
e20cc9d26f
Merge pull request #11597 from SergeTupchiy/mria-bootstrap-batch-size-config
...
Mria bootstrap batch size config
2023-09-13 13:19:03 +03:00
Serge Tupchii
a336300ab5
chore: add changelog
2023-09-13 10:54:50 +03:00
Serge Tupchii
e1456c1c04
feat(emqx_conf_schema): add node.default_bootstrap_batch_size config parameter
2023-09-13 10:11:14 +03:00
Serge Tupchii
af015bc2bb
chore(ekka): bump version to 0.15.13
2023-09-13 10:11:14 +03:00
Serge Tupchii
f790690d8b
fix(bin/emqx): don't suppress wait_for command output, as it can print warning messages
2023-09-12 19:55:16 +03:00
Serge Tupchii
6dd9e54ab8
fix(bin/emqx): remove ps -e opt, as it lists all processes regardless of -p <pid>
2023-09-12 19:55:16 +03:00
Serge Tupchii
9b3f88aeeb
feat(nodetool): print shutdown status messages while EMQX is stopping
2023-09-12 19:55:16 +03:00
Serge Tupchii
9de9631d6b
fix(nodetool): increase graceful stop timeout, handle and report {badrpc, timeout} error
2023-09-12 19:55:16 +03:00
Thales Macedo Garitezi
f2346b2e9a
Merge pull request #11574 from thalesmg/ds-topic-filter-m-20230907
...
feat(ds): add filter for message persistence
2023-09-12 12:47:26 -03:00
Thales Macedo Garitezi
59b94788bf
refactor: address review comments
2023-09-11 16:25:34 -03:00
Thales Macedo Garitezi
64fcdb671d
test: fix a bunch of inter-suite interferences
2023-09-11 16:25:34 -03:00
Thales Macedo Garitezi
f1294736b7
feat(ds): add filter for message persistence
...
Fixes https://emqx.atlassian.net/browse/EMQX-10520
2023-09-11 16:25:34 -03:00
Thales Macedo Garitezi
fe4640922d
feat(ds): add delete callback
2023-09-11 16:25:33 -03:00
Thales Macedo Garitezi
7805cc8c9b
fix(session): check if session is persistent
2023-09-11 16:25:33 -03:00
Thales Macedo Garitezi
a054049d12
Merge pull request #11586 from thalesmg/fix-session-record-m-20230911
...
fix(session): remove recently added `iterators` field from `#session{}` record
2023-09-11 16:03:26 -03:00
Thales Macedo Garitezi
063913f245
fix(session): remove recently added iterators field from #session{} record
...
Fixes https://emqx.atlassian.net/browse/EMQX-10945
This could lead to `badrecord` errors being raised if a takeover were to happen during a
rolling cluster upgrade, as the old nodes could receive a record with more fields than
expected.
2023-09-11 14:46:12 -03:00
Andrew Mayorov
19abb7c99e
Merge pull request #11579 from keynslug/fix/otp-24-compat
...
fix(router): use `ets:new/2` options compatible with OTP 24
2023-09-08 18:52:24 +04:00
Andrew Mayorov
3d133801af
fix(router): use ets:new/2 options compatible with OTP 24
...
While essentially keeping the same effect.
2023-09-08 18:04:29 +04:00
Thales Macedo Garitezi
e089fda260
Merge pull request #11568 from thalesmg/republish-props-m-20230905
...
feat(republish): allow templating mqtt properties
2023-09-07 16:43:00 -03:00
Thales Macedo Garitezi
68293231b8
test: add cases for more complex placeholders
2023-09-07 13:40:03 -03:00
Thales Macedo Garitezi
014bc64d3b
chore: ensure general prop is a binary
2023-09-07 13:40:03 -03:00
Thales Macedo Garitezi
02b8bbf76a
chore: drop templating support for Subscription-Identifier
...
This is highly-dependent on the session state, as is `Topic-Alias`.
2023-09-07 13:40:03 -03:00
Thales Macedo Garitezi
47bd19dee4
chore: lower error log messages down to debug
2023-09-07 13:40:03 -03:00
Thales Macedo Garitezi
080cb73da1
fix: handle badmap inside emqx_placeholder:proc_tmpl
2023-09-07 13:40:03 -03:00
zhongwencool
0376c0fd10
Merge pull request #11569 from zmstone/0906-sync-release-52-to-master
...
0906 sync release 52 to master
2023-09-07 11:18:59 +08:00
Zaiming (Stone) Shi
7c2f87fabe
test: merge broker and router boot modules
2023-09-06 21:36:16 +02:00
Thales Macedo Garitezi
bb55b04d46
refactor: inline fn clauses, improve error logging
2023-09-06 13:54:40 -03:00
Thales Macedo Garitezi
c9100c7591
refactor: improve logging information and descriptions
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-09-06 13:33:59 -03:00
Thales Macedo Garitezi
78c5a779d7
feat(republish): allow templating mqtt properties
...
Fixes https://emqx.atlassian.net/browse/EMQX-10912
2023-09-06 09:54:02 -03:00
Zaiming (Stone) Shi
18c6bfec97
chore: bump app vsns
2023-09-06 11:12:56 +02:00
Zaiming (Stone) Shi
916306b6ba
chore: delete beta release feature changelog
2023-09-06 09:56:36 +02:00
Zaiming (Stone) Shi
e794143ae1
Merge remote-tracking branch 'origin/release-52' into 0906-sync-release-52-to-master
2023-09-06 09:08:22 +02:00
Thales Macedo Garitezi
954b73a9aa
Merge pull request #11533 from thalesmg/ds-unsubscribe-m-20230828
...
feat(ds): close iterators when handling `UNSUBSCRIBE` packets
2023-09-05 09:47:17 -03:00
ieQu1
51b5ac11d2
Merge pull request #11564 from ieQu1/dev/mria-0.6.1
...
chore(mria): Bump mria to 0.6.1
2023-09-05 12:58:17 +02:00
ieQu1
01a128878f
chore(mria): Bump mria to 0.6.1
2023-09-05 11:08:32 +02:00
Andrew Mayorov
d26995a2aa
Merge pull request #11524 from keynslug/ft/EMQX-10713/unified-route-tab
...
feat(router): add routing storage schema with 2 tables
2023-09-05 12:38:00 +04:00
Zaiming (Stone) Shi
f6d347304b
Merge pull request #11562 from thalesmg/cluster-purge-r52-20230904
...
feat: cluster purge (r5.2)
2023-09-05 10:22:43 +02:00
Thales Macedo Garitezi
23d63f5e01
refactor: fork clientid type for emqx_ds:session_id/0
2023-09-04 15:38:25 -03:00
Thales Macedo Garitezi
60ae3c15c8
refactor: disregard impossible case
2023-09-04 15:38:25 -03:00
Thales Macedo Garitezi
2cfe5ba057
fix(plugins_api): fix response types and test
2023-09-04 14:37:25 -03:00
Thales Macedo Garitezi
02c3d6a0a7
fix(data_import): rm duplicate import call and fix test
2023-09-04 14:19:59 -03:00