Commit Graph

18665 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
3909e0cc08 docs: add changelog for PR 11975 2023-11-20 18:06:27 +01:00
Andrew Mayorov
110a5a4896
feat(schema): introduce separate root for new session persistence
With some knobs to choose a storage backend. Support only builtin
RocksDB-based backend with minimal configuration for now.
2023-11-20 23:49:14 +07:00
Zaiming (Stone) Shi
b02711af79 refactor(emqx_ws_connection): rename cache to buffer for limiter 2023-11-20 17:47:20 +01:00
Zaiming (Stone) Shi
7f078295c1 docs: add changelog for PR 11987 2023-11-20 17:44:39 +01:00
Andrew Mayorov
8e107ffe45
Merge pull request #11958 from keynslug/ft/EMQX-9745/preserve-acks
feat(sessds): preserve acks / replays in session state
2023-11-20 23:40:22 +07:00
Kjell Winblad
edbfe090c9 feat: add custom callback for creating connector from bridge V1 config 2023-11-20 17:23:51 +01:00
Stefan Strigler
5e313c7a3e
Merge pull request #11985 from sstrigler/EMQX-11378-the-status-code-returned-by-the-interface-for-deleting-the-connector-is-not-appropriate
fix(emqx_connector): don't crash in API on delete with active channels
2023-11-20 17:09:15 +01:00
Zaiming (Stone) Shi
ec19247271 refactor: rename limiter buffer related messages and var names 2023-11-20 16:55:26 +01:00
Andrew Mayorov
9684e79ee0
fix(sessds): ensure dup flag is on for replayed messages 2023-11-20 22:54:40 +07:00
Zaiming (Stone) Shi
8ec3b1db5d fix(emqx_connection): handle socket activation error return 2023-11-20 16:51:39 +01:00
Kjell Winblad
3aa8044475 fix(action): upgrade and downgrade strategy
This commit fixes the upgrade and downgrade strategy when upgrading
from a bridge V1 to connector and action or the other way around so that
the custom callbacks get the complete unchanged input instead of the
result of the automatic translation. The automatic translation is used
if the callback is not defined.
2023-11-20 16:40:27 +01:00
Thales Macedo Garitezi
f40f6bc5dd refactor: split resource_opts fields between connector and actions 2023-11-20 12:37:36 -03:00
Stefan Strigler
1f1d9e58c6 fix(emqx_connector): don't crash in API on delete with active channels 2023-11-20 16:23:46 +01:00
Kinple
010dc2b271
Merge pull request #11979 from Kinplemelon/kinple/for-upgrade-dashboard
chore: upgrade dashboard to e1.3.2-beta.1 for ee
2023-11-20 23:21:18 +08:00
Thales Macedo Garitezi
53e796bbd0 Merge remote-tracking branch 'origin/release-53' into sync-r53-to-m-20231120 2023-11-20 11:49:52 -03:00
Andrew Mayorov
ef7cfd0202
feat(sessds): add field to ds_pubrange for forward-compat 2023-11-20 19:56:55 +07:00
Thales Macedo Garitezi
b42d4e5ab0
Merge pull request #11950 from thalesmg/fix-bridge-v1-examples-r53-20231114
fix(bridges_v1): avoid merging action examples for non-v1 bridges
2023-11-20 09:12:23 -03:00
Thales Macedo Garitezi
926078b82c
Merge pull request #11960 from thalesmg/fix-kafka-producer-channel-status-r53-20231116
fix(kafka_producer): make status `connecting` while the client fails to connect
2023-11-20 09:12:05 -03:00
Stefan Strigler
d99f033d74
Merge pull request #11967 from sstrigler/bridge-v1-type-fun
feat(emqx_bridge): action_info with dynamic lookup
2023-11-20 12:35:22 +01:00
Kjell Winblad
79a764f117 fix: bridge to action upgrade fix up hook should run after upgrade
This commit changes how the `emqx_action_info` callback
`bridge_v1_to_action_fixup/1` works. It is now called after the
automatic upgrade instead of before. Since the full Bridge V1 config
might be needed to do the fixup, it is provided in a special field
`<<"__bridge_v1_conf__">>`. The `<<"__bridge_v1_conf__">>` field is
removed after the callback is called and can thus be ignored if it is
not needed.
2023-11-20 12:06:21 +01:00
Kinplemelon
0939b66af5 chore: upgrade dashboard to e1.3.2-beta.1 for ee 2023-11-20 17:28:01 +08:00
Stefan Strigler
84ff7b0b38 feat(emqx_bridge): action_info with dynamic lookup
This allows a n:1 relation between v1 bridge_types to action/connector types as
it's the case with mongodb for instance, where we had `mongodb_single`
`mongodb_sharded` etc and the new implementation will just have `mongodb`.
2023-11-20 10:22:37 +01:00
Andrew Mayorov
7081f1951f
refactor(sessds): use ds_pubrange record as is
Instead of converting it into almost similar runtime representation.
2023-11-20 15:40:43 +07:00
Andrew Mayorov
a5ff4144fe
test(sessds): add complex testcase for session replay 2023-11-20 15:40:43 +07:00
Ivan Dyachkov
ba2133abb3 chore: remove github copilot placeholder from pr template
https://githubnext.com/copilot-for-prs-sunset
2023-11-20 09:12:38 +01:00
Andrew Mayorov
1246d714c5
feat(sessds): preserve acks / ranges in mnesia for replays 2023-11-20 13:33:48 +07:00
Andrew Mayorov
5b40304d1f
chore(sessds): simplify subscriptions handling
There's currently no point in storing parsed topic filters in the
subscriptions table.
2023-11-20 13:33:48 +07:00
Andrew Mayorov
648b6ac63e
chore(sessds): rename iterators -> subscriptions
Also try to make clearer the difference between 2 flavors of topic
filter representation in use.
2023-11-20 13:33:48 +07:00
Zaiming (Stone) Shi
e73bf716ae fix(emqx_channel): do not log stale sock_close event as error
In some cases, EMQX may decide to close socket and mark connection
at 'disconnected' state, for example, when DISCONNECTE packet is
received, or, when failed to write data to socket.
However, by the time EMQX decided to close the socket, the socket
might have already been closed by peer, and the `tcp_closed` envet
is already delivered to the process mailbox -- causing EMQX to
handle sock_close event at 'disconnected' state.
2023-11-19 22:27:25 +01:00
Ilya Averyanov
e93e9ed108 feat(rebalance): improve rebalance usability
* make availability API endpoint public
* allow connections during wait_health_check interval
* make availability status calculation more consistent and lightweight
* refactor test to get rid of some mocks and to use cth
2023-11-18 21:29:16 +03:00
Thales Macedo Garitezi
6c19d1e78e
Merge pull request #11968 from kjellwinblad/kjell/bridge_v1_upgrade_downgrade_fixup_callbacks
Bridge V1 config upgrade downgrade fixup callbacks
2023-11-17 17:57:26 -03:00
Ilya Averyanov
034d4dcdcf
Merge pull request #11965 from savonarola/1117-fix-mongo-resource-stop-53
fix deadlock while stopping mongodb resource
2023-11-17 21:53:11 +02:00
Thales Macedo Garitezi
eb3f54184e refactor: address review comments and avoid transformations without schema knowledge 2023-11-17 16:16:34 -03:00
Kjell Winblad
86c126ffcd feat: callbacks for fixup after automatic Bridge V1 upgrade/downgrade
This commit adds callbacks to the emqx_action_info module for
doing fixes (such as changing a field name) after the automatic
split of a Bridge V1 config or the merge of connector and action
configs for the compatibility layer.
2023-11-17 16:10:08 -03:00
Kjell Winblad
9feba802e9 chore: add convenience function for creating action schemas 2023-11-17 16:10:08 -03:00
Ilya Averyanov
58437cd35a fix(mongodb): fix deadlock while stopping mongodb resource 2023-11-17 12:34:36 +03:00
Ilya Averyanov
bdbadaa2ca
Merge pull request #11955 from savonarola/1115-fix-mongo-resource-stop
fix: fix deadlock while stopping mongodb resource
2023-11-17 11:31:24 +02:00
Thales Macedo Garitezi
b92821188b fix(kafka_producer): make status connecting while the client fails to connect
Fixes https://emqx.atlassian.net/browse/EMQX-11408

To make it consistent with the previous bridge behavior.

Also, introduces macros for resource status to avoid problems with typos.
2023-11-16 14:50:23 -03:00
Ilya Averyanov
4c54efd8b1 fix(auth): fix deadlock while stopping mongodb resource 2023-11-16 19:29:08 +03:00
Thales Macedo Garitezi
36b5d58957 test: reorganize test suite a bit 2023-11-16 13:16:02 -03:00
Thales Macedo Garitezi
90571b7d8e test: fix noise about undefined unofficial callbacks 2023-11-16 13:16:02 -03:00
Andrew Mayorov
d91b7658be
Merge pull request #11954 from keynslug/ci/routing-tc-flaky
ci(router): fix flaky testcase
2023-11-15 23:45:32 +07:00
Andrew Mayorov
98f947f4f3
ci(router): fix flaky testcase 2023-11-15 22:28:52 +07:00
Ivan Dyachkov
709c200ee5
Merge pull request #11952 from id/1115-sync-master-to-r53
sync master to release-53
2023-11-15 10:50:19 +01:00
Ivan Dyachkov
1395f1c424
Merge pull request #11951 from id/1114-sync-r54-take2
sync release-54 to master
2023-11-15 09:45:08 +01:00
Ivan Dyachkov
65ba381fd8 Merge remote-tracking branch 'upstream/master' into 1115-sync-master-to-r53 2023-11-15 09:25:03 +01:00
Thales Macedo Garitezi
f5545bbdf3 fix(schema_types): add missing secret() type 2023-11-14 16:08:13 -03:00
Thales Macedo Garitezi
5275a01727 fix(syskeeper): refactor action to new action info scheme 2023-11-14 19:49:28 +01:00
Thales Macedo Garitezi
d2cf29fae4 fix(schema): use hoconsc:union/1 2023-11-14 19:49:08 +01:00
Thales Macedo Garitezi
423fb32171 test: fix noise about undefined unofficial callbacks 2023-11-14 19:48:39 +01:00