Thales Macedo Garitezi
a6a9538e73
refactor: move JWT worker and helpers to separate app
...
Some bridge applications might need to use JWTs before the `emqx_connector` is started, so
we must move JWT table initialization to a separate dependency application.
2024-07-31 14:52:12 -03:00
Ilia Averianov
359bc38aa4
Merge pull request #13407 from savonarola/0701-shared-sub
...
Implement shared subscriptions
2024-07-30 16:12:13 +03:00
Ilya Averyanov
08f70e4a25
feat(queue): move ds shared sub dependent test to emqx_ds_shared_sub app
2024-07-30 14:19:39 +03:00
Ilya Averyanov
e408804efb
feat(queue): fix dialyzer issues
2024-07-30 13:01:48 +03:00
Ilya Averyanov
e294d35703
feat(queue): add schema descriptions
2024-07-30 13:01:48 +03:00
Ilya Averyanov
303ff95e10
feat(queue): add stub for CRUD API
2024-07-30 13:01:48 +03:00
Ilya Averyanov
23f0e88b45
feat(queue): add integration with external broker
2024-07-30 13:01:46 +03:00
Ilya Averyanov
f0dd1bc4f4
feat(queue): add shared sub support to the management API
2024-07-30 13:01:20 +03:00
Ilya Averyanov
9b30320ddb
feat(queue): simplify progress report on disconnect
2024-07-30 13:01:20 +03:00
Ilya Averyanov
cae27293a5
feat(queue): move route registration to sessions
2024-07-30 13:01:19 +03:00
Ilya Averyanov
81f4103d60
feat(queue): avoid cyclic dependencies
2024-07-30 13:01:19 +03:00
Ilya Averyanov
bab526be24
feat(queue): self-revoke all shared streams on session open
2024-07-30 13:01:19 +03:00
Ilya Averyanov
9307a82004
feat(queue): rearrange leader's code
2024-07-30 13:01:19 +03:00
Ilya Averyanov
b8e8f7c8e0
feat(queue): add pre_renew_streams callback
2024-07-30 13:01:18 +03:00
Ilya Averyanov
a97a0d6400
feat(queue): fix dialyzer issues
2024-07-30 13:01:18 +03:00
Ilya Averyanov
8705956cdc
feat(queue): update docs
2024-07-30 13:01:18 +03:00
Ilya Averyanov
f213569460
feat(queue): clarify naming; identify shared subs by full topic filter
2024-07-30 13:01:18 +03:00
Ilya Averyanov
7e23f8d19f
feat(queue): fix include
2024-07-30 13:01:17 +03:00
Ilya Averyanov
a676ede6b8
feat(queue): improve logging
2024-07-30 13:01:17 +03:00
Ilya Averyanov
9e5e7a23c5
feat(queue): remove unnecessary acked flag
2024-07-30 13:01:17 +03:00
Ilya Averyanov
143086b0ef
feat(queue): replace invalid rewing algorithm with skipping iterator
2024-07-30 13:01:16 +03:00
Ilya Averyanov
c569625dd1
feat(queue): handle partially unacked ranges
2024-07-30 13:01:16 +03:00
Ilya Averyanov
7daab1ab23
feat(queue): move replay progress to a separate data structure
2024-07-30 13:01:16 +03:00
Ilya Averyanov
077ee38530
feat(queue): add config
2024-07-30 13:01:15 +03:00
Ilya Averyanov
b74189570d
feat(queue): do not use ee app from emqx app
2024-07-30 13:01:15 +03:00
Ilya Averyanov
649cf88042
feat(queue): kick agents that do not return to the replaying state for long
2024-07-30 13:01:15 +03:00
Ilya Averyanov
1496f7f778
feat(queue): add leader_rank_progress test
2024-07-30 13:01:15 +03:00
Ilya Averyanov
91dd1183ad
feat(queue): fix dialyzer issues
2024-07-30 13:01:14 +03:00
Ilya Averyanov
65ab81ff74
feat(queue): fix quick resubscription
2024-07-30 13:01:14 +03:00
Ilya Averyanov
53d4cd3174
feat(queue): rename leader' stream_progresses to stream_states
2024-07-30 13:01:14 +03:00
Ilya Averyanov
7d004b37da
feat(queue): implement stream finalization
2024-07-30 13:01:13 +03:00
Ilya Averyanov
e5547005eb
feat(queue): implement resubscribe test
2024-07-30 13:01:13 +03:00
Ilya Averyanov
fada2a3fea
feat(queue): reorganize and document shared subs module
2024-07-30 13:01:13 +03:00
Ilya Averyanov
b4a010d63b
feat(queue): implement unsubscribe
2024-07-30 13:01:13 +03:00
Ilya Averyanov
9bde981c44
feat(queue): fix static check issues
2024-07-30 13:01:12 +03:00
Ilya Averyanov
7658e081c5
feat(queue): move design docs to the EIP
2024-07-30 13:01:12 +03:00
Ilya Averyanov
8dce530d15
feat(queue): fix progress reporting and more tests
...
We test reassignment during the intensive replay
2024-07-30 13:01:12 +03:00
Ilya Averyanov
a20d262327
feat(queue): send progress before fetching new messages
2024-07-30 13:01:11 +03:00
Ilya Averyanov
d32f282feb
feat(queue): add graceful disconnect
2024-07-30 13:01:11 +03:00
Ilya Averyanov
1d728a05b2
feat(queue): send metadata with agent when connecting to leader
...
It will be used to attach agent taints to improve stream assignment.
2024-07-30 13:01:11 +03:00
Ilya Averyanov
49bff5c08a
feat(queue): wrap remote calls in a proto
2024-07-30 13:01:10 +03:00
Ilya Averyanov
61eda0ff31
feat(queue): identify agents by SessionId in tests
2024-07-30 13:01:10 +03:00
Ilya Averyanov
8f0d807c00
feat(queue): add new test scenarios
2024-07-30 13:01:10 +03:00
Ilya Averyanov
bceb5d43ed
feat(queue): fix stream rebalancing issues, update tests
2024-07-30 13:01:10 +03:00
Ilya Averyanov
03fea34962
feat(queue): document protocol between agent and leader
...
Document leader's states
2024-07-30 13:01:09 +03:00
Ilya Averyanov
082514f557
feat(queue): implement full protocol between agent and leader
2024-07-30 13:01:09 +03:00
Ilya Averyanov
c831f0772f
feat(queue): handle renew_lease_timeout
2024-07-30 13:01:09 +03:00
Ivan Dyachkov
ca455ad992
Merge pull request #13532 from emqx/sync-release-57-20240729-021938
...
Sync release-57
2024-07-30 10:49:09 +02:00
ieQu1
18721d05bc
Merge pull request #13526 from ieQu1/replicant-ee
...
fix(mria): Reserve replicant role for EE only
2024-07-29 22:10:06 +02:00
zmstone
2e39c4ad5e
Merge pull request #13495 from thalesmg/20240719-m-hide-enable-fields-mkII
...
chore: hide enable flags from schema and config examples
2024-07-29 21:31:20 +02:00