Commit Graph

19712 Commits

Author SHA1 Message Date
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 d7974d835f
fix(sharesub): anticipate messages w/o redispatch header
For instance, `emqx_session_mem` will push almost all of the messages
that are still in the state to `emqx_shared_sub:redispatch/1`. After
this commit, the session will no longer crash during channel terminate.
2023-11-20 15:53:24 +07: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
zhongwencool ddde927bd6
Merge pull request #11884 from zhongwencool/prometheus
support enable_basic_auth option for Prometheus scrape api
2023-11-20 14:26:01 +08: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
zhongwencool b2e168d508 feat: add prometheus.push_gateway.enable config 2023-11-17 09:48:39 +08:00
zhongwencool c4eb9f86e7 chore: add refactor prometheus refactor changelog 2023-11-17 08:23:51 +08:00
zhongwencool b343653769 chore: support list(tuple()) for schema_with_examples/3 2023-11-17 08:23:51 +08:00
zhongwencool f04cafe57e chore: update prometheus config desc 2023-11-17 08:23:51 +08:00
zhongwencool 0c2610fa61 feat: support prometheus.enable_basic_auth 2023-11-17 08:23:51 +08:00
zhongwencool c376a5db29 refactor: prometheus config 2023-11-17 08:23:51 +08: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 df6221a219
Merge pull request #11959 from keynslug/ci/routing-tc-flaky-54
ci(router): fix flaky testcase
2023-11-16 20:52:10 +07:00
Andrew Mayorov 656d575e2d
ci(router): fix flaky testcase 2023-11-16 17:53:20 +07:00
Andrew Mayorov d019be5806
Merge pull request #11935 from keynslug/feat/EMQX-10713/routing-v2-default
feat(router): switch to v2 routing store by default
2023-11-16 15:56:26 +07: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 893e90b372
fix(kafka): use safe publish in consumer
Routing with v2 schema is actually more strict with respect to input to
`emqx_router` module routines. This causes Kafka consumer bridge to
crash when it tries to publish a message to a topic that looks like a
topic filter.
2023-11-15 22:37:00 +07:00
Andrew Mayorov 98f947f4f3
ci(router): fix flaky testcase 2023-11-15 22:28:52 +07:00
Andrew Mayorov 8919b08207
fix(utils): rename `emqx_utils_stream:take/2` to `consume/2`
Which is more neutral and harder to confuse with a destructive `take` in
collections.
2023-11-15 17:20:40 +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 3016aaa355
Merge pull request #11953 from id/1115-sync-master-to-r54
sync master to release-54
2023-11-15 10:47:45 +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
Ivan Dyachkov 7c0e345d3a Merge remote-tracking branch 'upstream/release-54' 2023-11-14 19:38:21 +01:00
Thales Macedo Garitezi 2f1d88d414 fix(bridges_v1): avoid merging action examples for non-v1 bridges
Since some new bridges might not have a V1 equivalent (i.e. they are not registered in
`emqx_bridge_enterprise`), we should avoid displaying their examples in the V1 API spec.
2023-11-14 13:56:50 -03:00
Zaiming (Stone) Shi 88637f81d1
Merge pull request #11936 from zmstone/1112-readable-types
refactor(schema): keep type converters close
2023-11-14 17:56:07 +01:00
Andrew Mayorov e80600ca0f
Merge pull request #11896 from keynslug/ft/EMQX-10808/opt-file-secret-bridges
feat(bridge): accept wrapped secrets as passwords
2023-11-14 23:08:38 +07:00
Thales Macedo Garitezi 35aaca1aa6
Merge pull request #11939 from thalesmg/fix-name-validation-r53-20231113
fix(connector): validate connector name before converting ssl certs
2023-11-14 13:01:42 -03:00
ieQu1 8ddef21ac4
Merge pull request #11948 from ieQu1/dev/EMQX-10998-receive-maximum
fix(ds): Respect receive_maximum from the connection info
2023-11-14 16:45:36 +01:00