Commit Graph

6748 Commits

Author SHA1 Message Date
JianBo He
40c413ac05 chore: fix dialyzer warnings 2023-04-01 12:24:09 +08:00
JianBo He
0b6c5c4c91 refactor: split out emqx_coap application 2023-04-01 12:24:09 +08:00
JianBo He
786f030958 test: move tests into splited gateway dirs 2023-04-01 12:24:09 +08:00
JianBo He
159bcf329c refactor: make Stomp and MQTT-SN gateway as an independent apps 2023-04-01 12:24:09 +08:00
Thales Macedo Garitezi
53d760ec69
Merge pull request #10300 from thalesmg/fix-plugin-upload-v50
fix(plugins): create directory before uploading
2023-03-31 16:28:18 -03:00
Thales Macedo Garitezi
246a792965
Merge pull request #10273 from thalesmg/refactor-kprod-start-error-msg-rv50
fix: return friendly message when kafka producer and consumer fails to start (rv5.0)
2023-03-31 16:25:26 -03:00
Thales Macedo Garitezi
5011486b18 fix(kafka_consumer): return better error messages when probing kafka consumer bridge
Fixes https://emqx.atlassian.net/browse/EMQX-9422
2023-03-31 11:33:15 -03:00
Zaiming (Stone) Shi
9bbca07943
Merge pull request #10298 from emqx/release-50
Merge release-50 back to master
2023-03-31 15:35:51 +02:00
Zaiming (Stone) Shi
abf0329b60 test(emqx_banned_SUITE): fix flaky test case 2023-03-31 13:03:00 +02:00
Zaiming (Stone) Shi
bcde52383b docs: fix max batch size desc 2023-03-31 12:35:27 +02:00
William Yang
d9bec63733
Merge pull request #10284 from qzhuyan/docs/william/shared-subs
chore(docs): update shared_subscription_strategy
2023-03-31 09:44:12 +02:00
Stefan Strigler
7e31e60e90
style: fix wording 2023-03-31 09:19:48 +02:00
Stefan Strigler
1ff96f5314
style: fix wording
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-31 09:18:39 +02:00
Thales Macedo Garitezi
a2b82dae69 fix(plugins): create directory before uploading
Fixes https://emqx.atlassian.net/browse/EMQX-9434

Fixes https://github.com/emqx/emqx-elixir-plugin/issues/23
2023-03-30 17:51:16 -03:00
Zaiming (Stone) Shi
36043dd651
Merge pull request #10286 from zmstone/0330-exit-with-non-zero-code-if-conf-init-failed
0330 exit with non zero code if conf init failed
2023-03-30 17:41:14 +02:00
Stefan Strigler
7c597bfaa9 docs: give a better idea of what this application is supposed to do 2023-03-30 16:57:16 +02:00
Stefan Strigler
87a262edff docs: add README for EMQX Dashboard 2023-03-30 16:53:27 +02:00
Thales Macedo Garitezi
632bffd451 fix: return friendly message when kafka producer fails to start (rv5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-9392

The returned information does not allow to diagnose the issue (i.e.: a
connection issue due to the wrong host and port, the wrong password
failing authn).  However, such information is printed to the logs.

This changes the returned error to the API so that the user is hinted
at looking at the logs for further investigation of the error.
2023-03-30 11:51:36 -03:00
Thales Macedo Garitezi
ad28d8418d
Merge pull request #10274 from thalesmg/fix-subs-api-egress-mqtt-v50
fix: handle subscription list api when there are `emqx:subscribe` internal subscriptions
2023-03-30 11:16:31 -03:00
lafirest
0af226dd5b
Merge pull request #10276 from lafirest/fix/banned_api
fix(i18n): fix the description error about the default value of `until`
2023-03-30 20:26:32 +08:00
William Yang
3c52faa55e chore(docs): update shared_subscription_strategy 2023-03-30 13:32:45 +02:00
William Yang
65ef9c9086
Merge pull request #10077 from qzhuyan/dev/william/quic-cert-password
feat(quic): support TLS password protected keyfile
2023-03-30 12:59:50 +02:00
Zaiming (Stone) Shi
494e4b639a chore: exit with non-zero status if config initialization failed 2023-03-30 12:52:51 +02:00
firest
f794666c7f fix(i18n): fix the description error about the default value of until 2023-03-30 17:12:45 +08:00
JianBo He
1ff8ecf604 chore: fix typos 2023-03-30 15:10:10 +08:00
JianBo He
3c495f8fd2
chore: update apps/emqx/i18n/emqx_schema_i18n.conf 2023-03-30 08:44:28 +08:00
JianBo He
758e610059
chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-30 08:42:08 +08:00
Thales Macedo Garitezi
806ee716ee fix(redis): remove required meta from schema
Since there's a default value, this field shouldn't be marked as
required.
2023-03-29 16:43:52 -03:00
Thales Macedo Garitezi
916ce99fd5 fix: handle subscription list api when there are emqx:subscribe subscriptions 2023-03-29 14:56:40 -03:00
Thales Macedo Garitezi
5089449203
Merge pull request #10260 from thalesmg/minor-refactor-basic-usage-rule-rv50
refactor(rule_engine): use more helper functions
2023-03-29 09:44:23 -03:00
Zaiming (Stone) Shi
80eb9d7542
Merge pull request #10252 from emqx/release-50
0327 merge release-50 to master
2023-03-29 12:33:17 +02:00
Kjell Winblad
8e0d315b7b
Merge pull request #10197 from kjellwinblad/0321-fix-inflight-window-hand-over-to-kjell
fix: add inflight window setting to the clickhouse bridge
2023-03-29 09:38:24 +02:00
JianBo He
fee4ff6a07
Merge pull request #10257 from HJianBo/gw-lwm2m-fixes
Fixed the issue where `auto_observe` was not working in LwM2M Gateway
2023-03-29 15:20:46 +08:00
JianBo He
27aa3f49aa docs: improve some mqtt options description 2023-03-29 15:02:01 +08:00
Zaiming (Stone) Shi
11c120f87c chore: bump emqx app vsn 2023-03-28 21:19:03 +02:00
Zaiming (Stone) Shi
4b428f7a29 chore: bump version to e5.0.2-rc.2 2023-03-28 21:18:21 +02:00
Thales Macedo Garitezi
64faccf50b test: fix flaky kafka consumer test 2023-03-28 14:50:55 -03:00
Thales Macedo Garitezi
d126c7dc62 refactor(rule_engine): use more helper functions
Follow up to
https://github.com/emqx/emqx/pull/10251#discussion_r1150710899 and
https://github.com/emqx/emqx/pull/10251#discussion_r1150720420
2023-03-28 13:46:56 -03:00
William Yang
ecc2cd1a94 test: password cert for SSL listener 2023-03-28 17:15:59 +02:00
Thales Macedo Garitezi
1824e7efcc fix(rule_engine): count referenced bridges in from clauses as dependencies (rv5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-9325

Currently, ingress bridges referenced in the `FROM` clause of rules
are not being accounted as dependencies.

When we try to delete an ingress bridge that's referenced in a rule
like `select * from "$bridges/mqtt:ingress"`, that bridge does not
trigger an UI warning about dependent actions.
2023-03-28 10:31:10 -03:00
Zaiming (Stone) Shi
f5e9d3eab2 test: use valid config for jq function timeout 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
3f9ed08308 fix(emqx_schema): ocsp field use 'importance' to replace 'hidden' 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
d07987288a chore: add some example annotations for config importance level 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
5a19b6f73e chore: pin hocon 0.38.0 (with config importance level annotation) 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
486352eb6f fix(swagger): do not generate scheam for hidden args 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
fb29f8035b feat: make possible to dump full schema (including hidden fields) 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
c302405408 fix: fail fast if not able to load config 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
813ccd7df1 chore: hide node.perf configs
these configs are rarely needed by regular users
and if they are to be changed, it should be done by
someone who really understands what they mean
2023-03-28 14:29:24 +02:00
JianBo He
6db5a4872a test(lwm2m): cover auto_observe mechanism 2023-03-28 18:31:20 +08:00
JianBo He
6750618d9a fix(lwm2m): ignore unknown ObjectId to auto observe 2023-03-28 17:44:33 +08:00
Xinyu Liu
c607e4ed92
Merge pull request #10243 from terry-xiaoyu/remove-peercert-from-conninfo50
chore: remove peercert from the state of connection processes
2023-03-28 17:22:57 +08:00
Stefan Strigler
193905c7b9
Merge pull request #10237 from sstrigler/EMQX-9138-e-5-0-2-ensure-that-the-error-messages-returned-are-consistent
fix: create consistent interface 'with_node' for API access
2023-03-28 10:41:10 +02:00
Andrew Mayorov
89108594f0
Merge pull request #10212 from keynslug/test/EMQX-9269/cluster-env
test(bridge-api): also run testcases in cluster environment
2023-03-28 11:36:48 +03:00
Andrew Mayorov
40f7fd691e
test(dashboard): reuse emqx_mgmt_api_test_util in testsuites
To reduce the init / teardown complexity.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
b14a420885
fix(test): delete mnesia schema in-between test suites
When using `emqx_common_test_helpers` at least. This should help
reduce the need for superfluous cleanups and test failures due to
unclean state.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
d942a531e6
fix(test): avoid unnecessary cleanups
This might make some noise in the logs, depending on the testsuite
configuration, because some test setup might be missing required
applications.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
11b5b7b638
test(bridge-api): also run testcases in cluster environment
Excluding a couple of testcases which does not make much sense running
in the cluster. Also try to reduce amount of "noise" in the testcases,
making them easier to comprehend.

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-27 23:41:08 +03:00
Zaiming (Stone) Shi
7a6494cda6
Merge pull request #10242 from zmstone/0326-fix-logging-avoid-using-pid-as-log-data-field
fix: avoid uisng 'pid' as log data field
2023-03-27 16:13:50 +02:00
Stefan Strigler
64a1d84a44 fix: create consistent interface 'with_node' for API access 2023-03-27 12:14:48 +02:00
William Yang
cec77c2b65 test(quic): chasing flaky tc. 2023-03-27 11:54:08 +02:00
William Yang
169cc9f822 chore(quic): unhide TLS certfile password 2023-03-27 11:54:08 +02:00
Andrew Mayorov
9a93b745fc
fix(dashboard): use correct default for listeners map 2023-03-27 12:38:07 +03:00
firest
5c9538086f chore: bump emqx_plugin_libs.app.src 2023-03-27 13:54:38 +08:00
JianBo He
bfa5922209
Merge pull request #10140 from HJianBo/cassa
feat: support cassandra data bridge
2023-03-27 10:23:02 +08:00
JimMoen
798597c834
Merge pull request #10217 from JimMoen/conn-health-check-with-worker
fix: for connection used ecpool, let worker do health check fun
2023-03-27 09:51:52 +08:00
JianBo He
b77aeb69cb
Merge pull request #10172 from HJianBo/fix-typos-acl-file
fix(acl): fix wrong default ACL rules
2023-03-27 09:51:02 +08:00
Shawn
07ac2cd57a chore: remove peercert from the state of connection processes 2023-03-27 09:33:17 +08:00
Zaiming (Stone) Shi
19e136bb66 fix: avoid uisng 'pid' as log data field
Since it clashes with log metad data field
2023-03-26 10:33:18 +02:00
Zaiming (Stone) Shi
dd996ad1dc chore: bump app vsns 2023-03-24 21:47:15 +01:00
Zaiming (Stone) Shi
b37f186142 Merge remote-tracking branch 'origin/master' into 0324-merge-release-50-back-to-master 2023-03-24 21:47:15 +01:00
Thales Macedo Garitezi
ff272a2071
Merge pull request #10206 from thalesmg/decouple-buffer-worker-query-call-mode-v50
feat(buffer_worker): decouple query mode from underlying connector call mode
2023-03-24 13:49:00 -03:00
Zaiming (Stone) Shi
bf29919708
Merge pull request #10160 from thalesmg/hide-ocsp-v50
chore(ocsp): hide ocsp from schema for now
2023-03-24 15:32:47 +01:00
SergeTupchiy
f4472f66de
Merge pull request #10225 from SergeTupchiy/EMQX-9290-fix-plugin-name-clash
fix(emqx_management): resolve plugin name clashes
2023-03-24 16:17:20 +02:00
Serge Tupchii
b02d0088ea fix(emqx_management): resolve plugin name clashes
Allow installing a plugin if its name matches the beginning of another (already installed) plugin name.
For example: if plugin "emqx_plugin_template_a" is installed, it must not block installing plugin "emqx_plugin_template".

Closes: #10213, EMQX-9290
2023-03-24 16:11:31 +02:00
Stefan Strigler
8d084ed13b
Merge pull request #10226 from sstrigler/EMQX-9273-e-5-0-2-creating-a-data-bridge-the-name-verification-returned-an-incorrect-error-code-of-500
fix(emqx_bridge): don't crash on validation error
2023-03-24 14:48:03 +01:00
Thales Macedo Garitezi
166191abd6 chore(ocsp): hide ocsp from schema for now
We're going to release it in a later version.  So, for now, we'll just
hide it.
2023-03-24 10:04:16 -03:00
Stefan Strigler
fbfdaf44e0 fix(emqx_bridge): don't crash on validation error 2023-03-24 11:46:41 +01:00
Stefan Strigler
a8cfc1c7a1 fix(emqx_bridge): filter status_reason in config update 2023-03-24 11:46:41 +01:00
Stefan Strigler
4f63982d13
Merge pull request #10195 from sstrigler/EMQX-8982-html-tags-are-displayed-in-http-api-doc
fix: add summary to schemas where description has html
2023-03-24 08:56:34 +01:00
Ivan Dyachkov
0208fc8296 chore: e5.0.2-rc.1 2023-03-24 08:55:31 +01:00
Zaiming (Stone) Shi
9870f4834e
Merge pull request #10179 from kjellwinblad/kjell/fix/rule_engine_app_readme
docs: refine README.md for the emqx_rule_engine app
2023-03-24 08:28:11 +01:00
JimMoen
65f468f706
fix: for connection used ecpool, let worker do health check fun
let it be same with ecpool:pick_and_do/3 for checkfun use format as {M,F,A}
2023-03-24 10:39:58 +08:00
Thales Macedo Garitezi
f8d5d53908 feat(buffer_worker): decouple query mode from underlying connector call mode
Fixes https://emqx.atlassian.net/browse/EMQX-9129

Currently, if an user configures a bridge with query mode sync, then
all calls to the underlying driver/connector ("inner calls") will
always be synchronous, regardless of its support for async calls.

Since buffer workers always support async queries ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.

There are two situations when we want to force synchronous calls to
the underlying connector even if it supports async:

1) When using `simple_sync_query`, since we are bypassing the buffer
workers;
2) When retrying the inflight window, to avoid overwhelming the
driver.
2023-03-23 13:40:31 -03:00
Stefan Strigler
678400bc0a fix: add summary to schemas where description has html 2023-03-23 16:40:43 +01:00
Stefan Strigler
ba49316ec5 fix: use lower-case 2023-03-23 16:08:27 +01:00
William Yang
7e15f90bf5 chore(test): check openssl cmd returns 2023-03-23 15:06:21 +01:00
William Yang
88731fd145 feat(quic): support TLS password protected keyfile 2023-03-23 15:06:21 +01:00
Stefan Strigler
2803aff798
Merge pull request #10207 from sstrigler/EMQX-9286-use-label-from-i-18-n-files-as-summary-for-open-api-spec
feat(emqx_dashboard): use label as summary in OpenAPI spec
2023-03-23 14:58:21 +01:00
Kjell Winblad
35474578ca refactor: rename async_inflight_window to inflight_window everywhere 2023-03-23 14:21:57 +01:00
Kjell Winblad
9d3f369cca
docs: fix spelling mistake
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-23 14:09:57 +01:00
Serge Tupchii
e3541d8947 test: move dashboard specific cleanup call from emqx_common_test_helpers to the relevant test suite 2023-03-23 11:59:43 +02:00
Serge Tupchii
50bbf4f231 chore: bump ekka to 0.14.6
ekka 0.14.6 uses mria 0.4.2, which unregisters mnesia_hook upon stopping mria.
This fixes mnesia_hook errors on restarting mria.

Closes: EMQX-9101
2023-03-23 11:59:43 +02:00
JianBo He
8cbbc9f271 Merge remote-tracking branch 'upstream/master' into cassa 2023-03-23 11:53:17 +08:00
Thales Macedo Garitezi
ddffba0355
Merge pull request #10154 from thalesmg/fix-buffer-worker-default-req-timeout
fix(buffer_worker): calculate default `resume_interval` based on `request_timeout` and `health_check_interval`
2023-03-22 20:21:04 -03:00
Thales Macedo Garitezi
84f7e9c320
Merge pull request #10209 from thalesmg/fix-lwt-banned-then-kicked-v50
fix(last_will_testament): don't publish LWT if client is banned when kicked out
2023-03-22 18:30:31 -03:00
Thales Macedo Garitezi
cb65cded88 fix(last_will_testament): don't publish LWT if client is banned when kicked
Fixes https://emqx.atlassian.net/browse/EMQX-9288

Related issue:
https://github.com/emqx/emqx/issues/10192#issuecomment-1478809900
2023-03-22 16:47:58 -03:00
Thales Macedo Garitezi
8844b22c80
docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-22 15:32:09 -03:00
Thales Macedo Garitezi
127a075b66 test(dynamo): attempt to fix dynamo tests
Those tests in the `flaky` test are really flaky and require lots of
CI retries.

Apparently, the flakiness comes from race conditions from restarting
bridges with the same name too fast between test cases.  Previously,
all test cases were sharing the same bridge name (the module name).
2023-03-22 14:34:37 -03:00
Stefan Strigler
2662f79ec0 feat(emqx_dashboard): use label as summary in OpenAPI spec 2023-03-22 16:29:51 +01:00
Thales Macedo Garitezi
61cb03b45a fix(buffer_worker): change the default resume_interval value and expose it as hidden config
Also removes the previously added alarm for request timeout.

There are situations where having a short request timeout and a long
health check interval make sense, so we don't want to alarm the user
for those situations.  Instead, we automatically attempt to set a
reasonable `resume_interval` value.
2023-03-22 11:47:36 -03:00