Commit Graph

8118 Commits

Author SHA1 Message Date
firest 81adb02402 chore: bump apps version 2023-02-14 22:04:29 +08:00
firest 530b21268a feat(bridges): add TDengine 2023-02-14 22:04:23 +08:00
Stefan Strigler 4417ea9db7 style: missing comma 2023-02-14 09:13:45 +01:00
JianBo He 0d63cfdc97 chore: remove changes to 5.0.18 2023-02-14 15:34:12 +08:00
JianBo He 36b1c3eb5b fix(api): fix bad return error message if client id is not found 2023-02-14 15:30:55 +08:00
Zaiming (Stone) Shi ba65cf48c3 feat: add new module emqx_cover.erl 2023-02-13 22:31:18 +01:00
Stefan Strigler 8b47acd58d test: page overflow and bad rpc in cluster 2023-02-13 17:46:26 +01:00
Stefan Strigler 8d34a72ab6 test: add test for clustered badrpc 2023-02-13 17:14:15 +01:00
Stefan Strigler a28588ebf0 fix: bad spec 2023-02-13 17:14:02 +01:00
Stefan Strigler 89630a8a74 test: query bad node 2023-02-13 16:09:04 +01:00
Stefan Strigler 0c87d238e9 chore: bump version 2023-02-13 15:46:27 +01:00
Stefan Strigler 9e954585ae test: add node query tests and some more 2023-02-13 15:45:37 +01:00
Stefan Strigler 0e9289e48c refactor: remove unused clause 2023-02-13 15:45:37 +01:00
Stefan Strigler 743ced17c9 test: add test for more types in schema 2023-02-13 15:45:37 +01:00
Stefan Strigler 28560e4603 refactor: remove unused code 2023-02-13 15:45:37 +01:00
Zaiming (Stone) Shi 7d9b0f4826 chore: bump version to v5.0.17 2023-02-13 08:53:09 +01:00
Zaiming (Stone) Shi a11217aa0f chore: bump version to v5.0.17 2023-02-12 11:36:53 +01:00
Zaiming (Stone) Shi 72fe10f18b chore: fix spell check errors 2023-02-10 19:41:14 +01:00
Zaiming (Stone) Shi fb61c2b266 perf: avoid getting metrics (gen_server:call) for each resource lookup 2023-02-10 19:40:37 +01:00
Andrew Mayorov fe450ca2d9
Merge pull request #9938 from keynslug/feat/mqtt-bridge-async-errors
feat(mqtt-bridge): report recoverable errors of async queries
2023-02-10 20:40:58 +04:00
Andrew Mayorov 2ed54e560f
Merge pull request #9952 from keynslug/fix/mqtt-bridge-no-qos2-clean-start
fix(mqtt-bridge): disallow QoS 2 on ingress bridges
2023-02-10 20:40:37 +04:00
Andrew Mayorov cbb2885499
fix(mqtt-bridge): allow to configure `clean_start` for ingresses 2023-02-10 19:15:48 +03:00
Stefan Strigler be615a2bb1
Merge pull request #9951 from sstrigler/EMQX-8929-handle-error-results-in-bridge-api-for-multicall-operations
fix(emqx_bridge): unwrap rpc multicall result
2023-02-10 16:26:50 +01:00
Andrew Mayorov 7002fe2ef4
fix(mqtt-bridge): disallow QoS 2 on ingress bridges 2023-02-10 17:17:59 +03:00
Zaiming (Stone) Shi 5d59fcbf23
Merge pull request #9950 from zhongwencool/prometheus_push_server_url_check
fix: add push_gateway_server's  validator
2023-02-10 12:41:50 +01:00
Stefan Strigler e196d6f42a fix(emqx_bridge): unwrap rpc multicall result 2023-02-10 12:00:20 +01:00
Zhongwen Deng 53488b4377 fix: add push_gateway_server's validator 2023-02-10 17:52:16 +08:00
Andrew Mayorov 8bd7c0eb3f
feat(mqtt-bridge): report recoverable errors of async queries
This should help to avoid delivery failures of messages which could
be safely retried, in the event of intermittent connectivity loss
for example.

It should now be safe since 73d5592b.
2023-02-10 12:26:59 +03:00
Zaiming (Stone) Shi d1eb788ee1
Merge pull request #9916 from qzhuyan/fix/william/bridge-mqtt-TLS-verify-wildcard-peer
fix(mqtt-bridge): support verify TLS wildcard cert
2023-02-10 09:39:35 +01:00
Zaiming (Stone) Shi 3e85cb3804
Merge pull request #9946 from zmstone/0209-fix-add-back-deprecate-field
fix(config): add back reconnect_interval field as deprecated
2023-02-10 09:19:12 +01:00
Zaiming (Stone) Shi 40f719a34d
Merge pull request #9936 from id/feat-disable-disksup
feat: disable disksup by default
2023-02-10 09:17:13 +01:00
Zaiming (Stone) Shi 42dfaf3ef2
Merge pull request #9910 from sstrigler/EMQX-8861-improve-bridge-restart-button-behaviour
EMQX 8861 improve bridge restart button behaviour
2023-02-09 18:00:48 +01:00
Zaiming (Stone) Shi 4e71f1cbc5
Merge pull request #9940 from zmstone/0208-ensure-no-leading-br-in-docs
Add style checks for i18n.conf files
2023-02-09 17:37:44 +01:00
Zaiming (Stone) Shi 5328955ff4 fix(config): add back reconnect_interval field as deprecated 2023-02-09 17:30:09 +01:00
Erik Timan 3dea6b7913
Merge pull request #9930 from olcai/add-live-connections-to-prometheus-v5
feat(emqx_prometheus): expose live_connections stats to prometheus
2023-02-09 16:48:42 +01:00
Andrew Mayorov 48efe552d1
test(mqtt-bridge): manage test flaps by waiting for flush events 2023-02-09 14:31:42 +03:00
Zaiming (Stone) Shi 157c919ba1 ci: add i18n style check script 2023-02-09 11:41:52 +01:00
ieQu1 123fea44de chore(ekka): Bump version to 0.14.0 2023-02-08 17:35:14 +01:00
Zaiming (Stone) Shi 5df667738a docs: fix bad i18n files 2023-02-08 17:25:22 +01:00
Ivan Dyachkov fdb802975c feat: disable disksup by default 2023-02-08 15:33:35 +01:00
Stefan Strigler f89ac54b17 style: remove stale comment 2023-02-08 14:04:09 +01:00
Stefan Strigler a3fd0897bc refactor: less code duplication 2023-02-08 14:04:09 +01:00
Stefan Strigler 502f62e18d fix: try old 'restart' behavior if 'start' is not implemented 2023-02-08 13:19:41 +01:00
Andrew Mayorov 81b1bab11e
chore: bump `emqx_resource` version to 0.1.7
Also add the changelog entry.
2023-02-08 14:21:30 +03:00
Andrew Mayorov c6fc0ec8cd
fix(bufworker): do not avoid retry if inflight table is full
Otherwise there's no other piece of code that would retry the inflight
queries in that case.
2023-02-08 14:08:04 +03:00
Andrew Mayorov d8d06a260f
test(buffer): add test on inflight overflow w/ async queries
This testcase should verify that the buffer will retry all inflight
queries failed with recoverable errors + flush all outstanding queries.

Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-02-08 14:08:04 +03:00
Stefan Strigler cec8afe1b4
Merge pull request #9875 from sstrigler/EMQX-7119-fix-upload-broken-plugin
EMQX 7119 fix upload broken plugin
2023-02-08 09:38:52 +01:00
Zaiming (Stone) Shi d628aba079
Merge pull request #9718 from zmstone/0108-refactor-authn-schema-union-member-selector
0108 refactor authn schema union member selector
2023-02-07 16:45:47 +01:00
William Yang 6113d467c1 fix(mqtt-bridge): support verify TLS wildcard cert 2023-02-07 16:40:55 +01:00
Erik Timan 784ec0c0a5 chore: bump VSN 2023-02-07 15:54:01 +01:00
Erik Timan 19c2288a4b feat(emqx_prometheus): expose live_connections stats to prometheus 2023-02-07 15:42:55 +01:00
Stefan Strigler 86f3f5787f feat: allow to manually re-connect disconected bridge 2023-02-07 11:58:30 +01:00
Zaiming (Stone) Shi 537ff30550 chore: update code comment 2023-02-07 11:40:17 +01:00
Zaiming (Stone) Shi d487299b75 refactor: remove dead code 2023-02-07 08:34:10 +01:00
Zaiming (Stone) Shi 4653ca65f7 fix(logger): fix REPORT_CB/2 CRASH logs 2023-02-06 23:46:49 +01:00
Zaiming (Stone) Shi dc8f0c5101 refactor(authn): no need to check config at app boot 2023-02-06 18:19:22 +01:00
Zaiming (Stone) Shi 83e66da2aa fix(authn): throw exception on invalid config from the API 2023-02-06 14:12:50 +01:00
Stefan Strigler 758d19f1e0 chore: bump vsn 2023-02-06 10:44:06 +01:00
Stefan Strigler 4e12a44ee6 fix: return 204 instead of 200 if there's no body content 2023-02-06 09:47:07 +01:00
Stefan Strigler 847f899fa0 test: ensure bad plugin upload gets deleted 2023-02-06 09:46:16 +01:00
Stefan Strigler e135f8654c test: enable basic plugins API tests 2023-02-06 09:46:16 +01:00
Stefan Strigler a866c995f5 test: add test for arbitrary content in tar file 2023-02-06 09:46:16 +01:00
Stefan Strigler 70c4e12b68 fix: cleanup after upload of broken plugin 2023-02-06 09:46:16 +01:00
Stefan Strigler 618ec04340 style: fix comment 2023-02-06 09:46:16 +01:00
Zaiming (Stone) Shi a9c650da66 refactor: for better test coverage 2023-02-04 07:59:49 +01:00
Zaiming (Stone) Shi 2ebc89e339 refactor: authn schema union selector 2023-02-04 07:58:43 +01:00
Zaiming (Stone) Shi 4f91bf415c fix: schema check error reason pattern 2023-02-04 07:58:06 +01:00
Zaiming (Stone) Shi 65319567cc chore: no type check for 3rd party auth 2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi fbc52330f3 refactor: do not re-check config in post_config_update
now that the type is not lazy, it should have already been checked
when reaching the post_config_update step
2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi 6aaff6211f feat: use union member selector for authn config schema 2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi 15035f7eb0 refactor: remove lazy type for authentication
The idea of using lazy type for authentication was to make the
config check easy to extend at runtime. However the reality
is: it's overly complicated.

It's more likely that people will just continue to implementing
the auth hook callbacks instead of injecting config schema
at runtime.
2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi ccb0c7ebaa Merge remote-tracking branch 'origin/release-50' into 0202-merge-release-50-back-to-master 2023-02-03 16:12:11 +01:00
Zhongwen Deng d45a0cb2ee chore: remove <<>> when logging username 2023-02-03 16:54:18 +08:00
Zaiming (Stone) Shi 1e0fe270bc chore: bump emqx app vsn to 5.0.17 2023-02-02 20:32:09 +01:00
Zaiming (Stone) Shi 94768c9f44 Merge remote-tracking branch 'origin/master' into 0202-merge-release-50-back-to-master 2023-02-02 20:21:26 +01:00
Zaiming (Stone) Shi 5fe3a0b1b3
Merge pull request #9898 from zmstone/0202-upgrade-to-dashboard-e1.0.3
chore: upgrade dashboard to v1.1.7 for ce and e1.0.3 for ee
2023-02-02 17:41:52 +01:00
Zaiming (Stone) Shi 42462db8b8 chore: bump version to v5.0.16 and e5.0.0 2023-02-02 17:26:00 +01:00
Zaiming (Stone) Shi 3d6756cbe8 test: fix addrinuse errors in listeners API test SUITE 2023-02-02 16:37:56 +01:00
Zaiming (Stone) Shi a71d983ff8 test: fix assertMatch patter to make rebar3 fmt work 2023-02-02 16:37:45 +01:00
Zaiming (Stone) Shi 7ea140599a
Merge pull request #9894 from id/ci-always-run-static-checks
ci: always run static_checks
2023-02-02 16:33:19 +01:00
Zaiming (Stone) Shi feca4cc0a5
Merge pull request #9892 from zmstone/0202-docs-cosmetic
0202 docs cosmetic
2023-02-02 15:43:58 +01:00
Zaiming (Stone) Shi 85fb53dcf0 refactor: use compile switch to diff functions between ce and ee 2023-02-02 15:15:31 +01:00
Zaiming (Stone) Shi 0d7cd2f0c5
docs: Update apps/emqx_conf/i18n/emqx_conf_schema.conf
Co-authored-by: Ivan Dyachkov <dev@dyachkov.org>
2023-02-02 14:20:07 +01:00
Zaiming (Stone) Shi 980ba2fd35
docs: Update apps/emqx/i18n/emqx_schema_i18n.conf
Co-authored-by: Ivan Dyachkov <dev@dyachkov.org>
2023-02-02 14:19:37 +01:00
Zaiming (Stone) Shi 0e299642cb chore: function renamed but forgot to update xref excemption 2023-02-02 14:16:23 +01:00
Zaiming (Stone) Shi 58627b7958 chore(emqx_resource_manager): ignore unused return value for dialyzer 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi 9a9943d35d chore(emqx_mgmt_cache): ignore unused return value for dialyer 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi 1c748070c1 fix(emqx_connector_mqtt_worker): publish_async can only return ok # Please enter the commit message for your changes. Lines starting 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi c0d478bd41 fix(buffer_worker): type spec 2023-02-02 14:11:12 +01:00
zhongwencool ee852d8204
Merge pull request #9886 from zhongwencool/mongo-connection-default-async
fix: remove async mode from mongodb/redis/mysql/pgsql bridge
2023-02-02 21:08:01 +08:00
Zaiming (Stone) Shi d5c482b0b0 docs: remove timer unit from description
the user input has time unit. e.g. "5s" for 5 seconds etc.
2023-02-02 13:49:20 +01:00
Zaiming (Stone) Shi 5dbee76af4
Merge pull request #9890 from zmstone/0202-fix-kafka-status-check
0202 fix kafka status check
2023-02-02 13:48:44 +01:00
firest 031b36da32 feat(banned): filter out banned messages from mqueue 2023-02-02 20:20:52 +08:00
Zaiming (Stone) Shi 2b308af354
Merge pull request #9889 from keynslug/fix/EMQX-8857/force-clean-start-mqtt-bridge
fix(mqtt-bridge): stop respecting `clean_start` config parameter
2023-02-02 12:55:58 +01:00
Zaiming (Stone) Shi 9864587389 fix: send to buffer-supported connector even when disconnected 2023-02-02 12:04:17 +01:00
Zaiming (Stone) Shi 13ef30c46c
Merge pull request #9884 from savonarola/resource-fixes
fix(resources): fix resource lifecycle
2023-02-02 12:02:34 +01:00
Andrew Mayorov 0912f13c1f
fix(mqtt-bridge): stop respecting `clean_start` config parameter
We are ignoring the user configuration because there's currently no
reliable way to ensure proper session recovery according to the MQTT
spec.
2023-02-02 12:55:10 +03:00
Kjell Winblad 2cf193e2fd
Merge pull request #9839 from kjellwinblad/kjell/fix/Authorization_header_log_leak_webhook/EMQX-8791
fix: Authorization header leak in log entries for webhook
2023-02-02 10:38:42 +01:00
Zhongwen Deng 1c9035d24c test: remove async from redis ct 2023-02-02 17:37:18 +08:00
Zhongwen Deng 22cc1cc745 fix: make spell_check happy 2023-02-02 17:37:18 +08:00
Zhongwen Deng f8936013b7 chore: replace async with sync 2023-02-02 17:37:18 +08:00
Zhongwen Deng 22c3f50020 fix: add query_mode_sync_only for mysql pgsql redis mongodb bridge 2023-02-02 17:37:18 +08:00
Andrew Mayorov ca5c192f4b
Merge pull request #9882 from fwup/fix/no-mqtt-bridge-middleman
refactor(mqtt-worker): avoid unnecessary abstraction
2023-02-02 13:11:31 +04:00
zhongwencool e5bc787467
Merge pull request #9872 from zmstone/0131-improve-help-text
docs: improve docs for system monitoring config
2023-02-02 14:45:03 +08:00
Zhongwen Deng 1a90c1654c chore: bad typo 2023-02-02 11:43:04 +08:00
Zaiming (Stone) Shi 6fd30a7e81 docs: improve docs for system monitoring config 2023-02-01 20:21:08 +01:00
Ilya Averyanov 14f528cc86 fix(resources): fix resource lifecycle
* do not resume all buffer workers on successful healthcheck
* do not pass undefined state to resource healthcheck callback
2023-02-01 18:26:13 +02:00
Zaiming (Stone) Shi ec3031271b
Merge pull request #9883 from zmstone/0201-upgrade-enterprise-dashboard-to-e1.0.2
0201 upgrade enterprise dashboard to e1.0.2
2023-02-01 16:26:21 +01:00
Zaiming (Stone) Shi 32d18ec594
Merge pull request #9878 from zmstone/0201-upgrade-ehttpc-0.4.6
fix(ehttpc): fix crash when webhook bridge uses `hash` pool type.
2023-02-01 15:00:28 +01:00
Andrew Mayorov 5fd7f65a1f
test(bufworker): make testcase simpler to follow
The confusion was due to the fact that subsequent query was missing
`async_reply_fun` and thus, was not accumulating in the results.
2023-02-01 16:52:47 +03:00
Zaiming (Stone) Shi 38ef37d109 chore: bump release version to e5.0.0-rc.4 2023-02-01 14:52:08 +01:00
Andrew Mayorov 8a46cb974e
test(mqtt-bridge): test async bridge reconnects seamlessly 2023-02-01 16:28:16 +03:00
Andrew Mayorov 5ebceb20d2
test(mqtt-bridge): also test reconfiguration 2023-02-01 16:23:58 +03:00
Andrew Mayorov ad88938d34
refactor: reuse some parts of test code for brewity 2023-02-01 16:22:19 +03:00
Andrew Mayorov f0395be383
refactor(mqtt-worker): avoid unnecessary abstraction
So the code is easier to follow.
2023-02-01 14:46:26 +03:00
zhongwencool 13511d2782
Merge pull request #9856 from zhongwencool/alarm-percent-decimals
fix: /api/nodes is timeout when emqx in high load
2023-02-01 19:40:53 +08:00
Andrew Mayorov 979e9804be
Merge pull request #9879 from keynslug/fwup/fix/buffer-worker-testcase
test(bufworker): fix testcase flapping due to data races
2023-02-01 15:33:59 +04:00
Andrew Mayorov ff473e0f1b
test(bufworker): fix testcase flapping due to data races 2023-02-01 12:57:46 +03:00
Zaiming (Stone) Shi 96a18e7105 chore: upgrade to hocon 0.35.3 2023-02-01 10:52:01 +01:00
Zhongwen Deng 6382915036 chore: repalce fresh by refresh 2023-02-01 17:36:30 +08:00
Zaiming (Stone) Shi 9f6b6cedc6 fix(webhook): pick worker according to pool type 2023-02-01 09:53:25 +01:00
Ilya Averyanov 9d91ebe266
Merge pull request #9842 from savonarola/fix-redis-cluster-recover
fix: fix redis cluster resource recovery
2023-02-01 10:38:52 +02:00
Zaiming (Stone) Shi f4381d90ca refactor: http cliet should not need to retry HTTP requests for bridge 2023-02-01 09:30:30 +01:00
Zaiming (Stone) Shi 6ca816f7a4 docs: remove impl details from user doc 2023-02-01 09:30:10 +01:00
Zhongwen Deng 3c4d09a752 fix: get_memory_cache return {ok, Mem} | stale 2023-02-01 16:00:55 +08:00
Zhongwen Deng ced55719ef chore: only run t_sys_mem_check ct in linux 2023-02-01 14:47:41 +08:00
Zhongwen Deng 56b9238645 fix: only cache sys_memory in linux 2023-02-01 12:21:34 +08:00
Zhongwen Deng 95ef1e806c chore: don't crash when add_handler failed 2023-02-01 11:24:27 +08:00
Zhongwen Deng 9cbad5297c fix: primary logger level not update 2023-02-01 11:16:30 +08:00
Zhongwen Deng 71f00f2962 test: ctl suite failed 2023-02-01 10:07:22 +08:00
Zhongwen Deng 7a9f477267 feat: use emqx_mgmt_cache to cache sys_memory 2023-02-01 10:07:22 +08:00
Zhongwen Deng c2bdb9faa7 test: multiple_nodes case failed 2023-02-01 10:07:22 +08:00
Zhongwen Deng b6e6315b50 feat: change loads from string to float 2023-02-01 10:07:22 +08:00
Zhongwen Deng 0b19be074c feat: cache OTP_VERSION in persistent_term 2023-02-01 10:07:22 +08:00
Zhongwen Deng 6162f90610 fix: don't crash when OTP_VERSION file is missing 2023-02-01 10:07:22 +08:00
Zhongwen Deng 5783127c30 test: cpu_sup:load mock test 2023-02-01 10:07:22 +08:00
Zhongwen Deng 2d67bb3fb6 fix: /api/nodes is timeout if emqx in high load 2023-02-01 10:07:22 +08:00
Zaiming (Stone) Shi 7e8253e3af chore: bump version to e5.0.0-rc.3 2023-01-31 20:45:28 +01:00
Zaiming (Stone) Shi 78028a7fcf
Merge pull request #9876 from zmstone/0131-avoid-persisting-logging-configs-if-no-change
0131 avoid persisting logging configs if no change
2023-01-31 20:43:32 +01:00
Zaiming (Stone) Shi b3ad9e97d2
Merge pull request #9870 from keynslug/fix/mqtt-connection-loss-feedback
feat(mqtt-bridge): avoid middleman process
2023-01-31 19:12:18 +01:00
Zaiming (Stone) Shi ddfbc0a19f refactor: refresh logger config before starting listeners 2023-01-31 18:50:16 +01:00
Zaiming (Stone) Shi 605d9972e4 fix(config): avoid calling emqx:update_config/2 for logger refresh
Prior to this fix, whatever configured for loggers are persisted to
cluster-override.conf.
This may cause troulbe for users who changes boot mode.

For example if the node is once started in console mode,
the logging config is persisted, with console enabled, but file
disabled.
Then if the user decide to start in daemon mode, all the logs
will silently go to erlang.log.N and emqx.log.N will be empty.

After this fix, only changes really made into cluter-override.conf
will take effect.
2023-01-31 18:50:16 +01:00
Zaiming (Stone) Shi b0ac924ca9 refactor: less copy-paste 2023-01-31 18:40:55 +01:00
lafirest 3d59be6ab6
Merge pull request #9871 from lafirest/fix/authz_rules
feat(authz): allow the placeholder to be anywhere in the topic for authz rules
2023-02-01 00:12:06 +08:00
Andrew Mayorov c5a7cd5acd
fix(mqtt-bridge): drop unused configuration parameter 2023-01-31 18:30:42 +03:00
Andrew Mayorov c76311c9c3
fix(buffer): count inflight batches properly 2023-01-31 18:30:42 +03:00
firest 9f4c36ecbc chore: bump version && update changes 2023-01-31 23:30:22 +08:00
firest c034cbf6de feat(authz): allow the placeholder to be anywhere in the topic for authz rules 2023-01-31 23:30:12 +08:00
Andrew Mayorov d0c10b59aa
feat(mqtt-bridge): avoid middleman process
Instead, supervise `emqtt` client process directly.
2023-01-31 17:59:03 +03:00
Ilya Averyanov fce1e74c3d fix(connector): fix redis cluster resource recovery 2023-01-31 16:55:05 +02:00
Zaiming (Stone) Shi f6dafc20ea feat: export API to read cluster and local overrides 2023-01-31 14:20:34 +01:00
Stefan Strigler ade5316419
Merge pull request #9802 from sstrigler/EMQX-8469-enable-proxy-protocol-support-in-emqx-dashboard-schema
feat: support HAProxy protocol for dashboard API
2023-01-31 14:19:56 +01:00
Erik Timan 3786bb8086
Merge pull request #9824 from olcai/internal-error-api-get-topic
fix(emqx_management): handle multiple routes in topics/{topic} API
2023-01-31 13:50:42 +01:00
Andrew Mayorov 4d146c521b
fix(mqtt-bridge): ensure proper feedback on async forwards
So that buffer worker would notice a connection loss in time, and
recycle inflight messages subsequently.
2023-01-31 11:09:39 +03:00
Andrew Mayorov 35c429ef1d
refactor: drop a couple of unused macros / includes 2023-01-31 11:09:39 +03:00
Zaiming (Stone) Shi b3e486041b
Merge pull request #9853 from zmstone/0127-refactor-buffer-worker-no-need-to-keep-request-for-reply-callback
0127 refactor buffer worker no need to keep request for reply callback
2023-01-31 08:44:01 +01:00
Erik Timan 5b3a77e3c7 test(emqx_management): fix flaky route handling in get topic test
This reworks a test case to use a second slave node. This ensures that
an added route is permanently in the routing table. The old version
reverted the routing table quickly since the node name given wasn't a
real node.
2023-01-31 08:28:55 +01:00
Erik Timan 03cabf6b26 chore: bump app VSN 2023-01-31 08:27:54 +01:00
Erik Timan 33e011aff5 fix(emqx_management): handle multiple routes in topics/{topic} API
The topics/{topic} API endpoint would return 500 - Internal Error if a
topic had multiple routes. This is now fixed by returning a list of
routes.
2023-01-31 08:27:33 +01:00
Ilya Averyanov 1a1c3afa81
Merge pull request #9852 from savonarola/fix-redis-desc
Fix Redis configuration field description
2023-01-30 23:26:37 +02:00
Stefan Strigler 3ce6cbcd6a chore: bump vsn 2023-01-30 18:09:10 +01:00
Stefan Strigler 0b1483040a test: add actual test for haproxy 2023-01-30 18:07:06 +01:00
lafirest e288424924
Merge pull request #9864 from lafirest/fix/exclusive-unsub-5.0
fix: the exclusive topics aren't removed when the session has already been cleaned
2023-01-31 00:33:45 +08:00
Kjell Winblad 0c4134c423 test: add unit test case for redact function in http connector 2023-01-30 11:51:28 +01:00
Stefan Strigler 27881064dc fix: increase dropped.queue_full by number of messages 2023-01-30 11:37:35 +01:00
lafirest 3e6cc40525
Merge pull request #9843 from lafirest/fix/speed_up_test
fix: speed up banned test cases
2023-01-30 18:17:27 +08:00
firest 3bdffca488 fix: the exclusive topics aren't removed when the session has already been cleaned 2023-01-30 18:17:00 +08:00
Zhongwen Deng bb636394e1 chore: add debug log for raw data 2023-01-30 16:35:06 +08:00
Zhongwen Deng b73d11675e chore: log the bad mqtt packet(frame error) 2023-01-30 15:05:49 +08:00
Zhongwen Deng 3d07271ea5 fix: crash when mfa not found 2023-01-30 14:30:20 +08:00
Zhongwen Deng 25090563af chore: use brackets to wrap the mqtt packet when logging 2023-01-30 12:29:00 +08:00
Zhongwen Deng ce32ea7334 feat: Make the log output format order fixed 2023-01-30 12:18:22 +08:00
Zhongwen Deng 6cbad047cd fix: don't log CONNECT twice when debug 2023-01-30 12:16:17 +08:00
Zaiming (Stone) Shi d47941601d refactor(buffer_worker): rename trace points 2023-01-28 11:52:11 +01:00
Zaiming (Stone) Shi 7f66c6a9e2
Merge pull request #9840 from olcai/redact-influxdb-tokens
fix: redact influxdb tokens in logs and reduce log level
2023-01-28 11:47:36 +01:00
Zaiming (Stone) Shi fc38ea9571 refactor(buffer_worker): do not keep request body in reply context
the request body can be potentially very large
the reply context is sent to the async call handler and kept
in its memory until the async reply is received from bridge
target service.

this commit tries to minimize the size of the reply context
by replacing the request body with `[]`.
2023-01-27 17:12:55 +01:00
Ilya Averyanov 72f39b9b72 fix(docs): correct Redis conf field description 2023-01-27 17:39:16 +02:00
Zaiming (Stone) Shi 578271ea3d refactor: use lists:map instead of lc for safty 2023-01-27 15:15:46 +01:00
Zaiming (Stone) Shi f793807bc1 refactor(buffer_worker): rename function
batch_reply_after_query to handle_async_batch_reply
2023-01-27 15:04:28 +01:00
Zaiming (Stone) Shi 262c3a2869 refactor(buffer_worker): rename function
from reply_after_query to handle_async_reply
2023-01-27 15:03:18 +01:00
Zaiming (Stone) Shi 6a58bafcb0 chore: bump release version to e5.0.0-rc.2 2023-01-27 14:38:21 +01:00
Zaiming (Stone) Shi 52b75ada04
Merge pull request #9832 from sstrigler/EMQX-8774-failure-to-handle-timeout-error-in-resource-worker
EMQX 8774 failure to handle timeout error in resource worker
2023-01-27 14:36:44 +01:00
Zaiming (Stone) Shi 514609bcf7
Merge pull request #9850 from zmstone/0127-fix-influxdb-bridge-atom-leak
0127 fix influxdb bridge atom leak
2023-01-27 14:30:20 +01:00
Zaiming (Stone) Shi 96ed725a55
Merge pull request #9849 from zmstone/0127-refactor-buffer-worker-simplify-caller-reply
0127 refactor buffer worker simplify caller reply
2023-01-27 14:06:56 +01:00
Zaiming (Stone) Shi c47be57c59 fix(bridge): ensure all bridge resources are stopped before app stop 2023-01-27 12:39:05 +01:00
Zaiming (Stone) Shi d53106145f fix: stop resource when resource manager terminates 2023-01-27 12:39:05 +01:00
Andrew Mayorov d35e46b2d5
Merge pull request #9838 from keynslug/fix/redis-cluster-batching
feat(redis): disable batching in redis_cluster bridges
2023-01-27 15:27:57 +04:00
Stefan Strigler 7005b71ddf style: fix typo in comment 2023-01-27 11:43:51 +01:00
Stefan Strigler 2d62de5188 test: fix expected result from timeout error 2023-01-27 11:43:48 +01:00
Stefan Strigler a180bd9aa5 fix: catch error, not exit 2023-01-27 11:40:06 +01:00
Stefan Strigler b7e3f9d5a6 fix: try-case-of rather than try-of
try-of catches only what happens within but not after
2023-01-27 11:40:06 +01:00
Zaiming (Stone) Shi db2f631a8a refactor(buffer_worker): simplify caller reply 2023-01-27 11:33:45 +01:00
Zaiming (Stone) Shi 965236c888
Merge pull request #9845 from zmstone/0126-reply-caller-for-buffer-overflow-queue-items
0126 reply caller for buffer overflow queue items
2023-01-27 11:32:59 +01:00
Zaiming (Stone) Shi d4fab92b72 refactor(buffer_worker): no need to keep request for REPLY macro 2023-01-27 10:41:30 +01:00
Andrew Mayorov 71f996b9d5
refactor(mqtt-bridge): unwrap single statem actions
So that the code would be easier to follow and harder to break.
Also drop a couple of unused macrodefs.
2023-01-26 21:13:18 +03:00
Andrew Mayorov c95f979413
fix(mqtt_bridge): use correct gen_statem reply action 2023-01-26 21:12:05 +03:00
Zaiming (Stone) Shi 1f799dfd59 fix: reply with {error, buffer_overflow} when discarded 2023-01-26 17:15:36 +01:00
Zaiming (Stone) Shi ed28789164 refactor(buffer_worker): no need to return after collect into buf queue 2023-01-26 14:50:40 +01:00
Zaiming (Stone) Shi 25b4821adc refactor: move the the per-message overflow log from error to info level 2023-01-26 14:48:43 +01:00
Zaiming (Stone) Shi bb26632c8a fix(buffer_worker): fix a wrong assertion
the assertion is to ensure queue items are not binary
but should not assert the queue itself
2023-01-26 14:33:16 +01:00
Zaiming (Stone) Shi f6b3b930b0 chore: improve a error log 2023-01-26 14:21:27 +01:00
Kjell Winblad 86cfbfb43c fix: Authorization header leak in log entries for webhook
There might be another possibility for leakage. If the resource mangager
for the webhook resource crashes, OTP might log the spec for the
resource manager which contains the Config and thus the Authorization
header. This is probably an issue for other resources as well and should
be fixed in another commit. The following issue has been created for
that:

https://emqx.atlassian.net/browse/EMQX-8794

Fixes:
https://emqx.atlassian.net/browse/EMQX-8791
2023-01-26 12:44:16 +01:00
firest 908ac8d948 fix: speed up banned test cases 2023-01-26 13:04:55 +08:00
Andrew Mayorov 2ee00b75a7
fix(redis): unwrap pipeline queries against redis cluster
This is an additional safety measure in addition to the disabled
batching on the bridge level.
2023-01-25 17:28:11 +03:00
Erik Timan 805d08e823 fix: reduce log level from error to warning in several places
This reduces the log level from error to warning in places that are
connected to the influxdb bridge. Transient errors for external
resources should not render an error log.
2023-01-25 14:49:50 +01:00
Erik Timan 8836494542 fix: redact influxdb tokens in a few logs 2023-01-25 14:48:32 +01:00
Zaiming (Stone) Shi 5fdf7fd24c fix(kafka): use async callback to bump success counters
some telemetry events from wolff are discarded:

* dropped:
    this is double counted in wolff,
    we now only subscribe to the dropped_queue_full event
* retried_failed:
    it has different meanings in wolff,
    in wolff, it means it's the 2nd (or onward) produce attempt
    in EMQX, it means it's eventually failed after some retries

* retried_success
    since we are going to handle the success counters in callbac
    this having this reported from wolff will only make things
    harder to understand

* failed
    wolff never fails (unelss drop which is a different counter)
2023-01-24 21:12:36 +01:00
Zaiming (Stone) Shi 6175076f6f
Merge pull request #9835 from olcai/add-influxdb-test-files
fix: add influxdb test files and fixes
2023-01-24 17:02:23 +01:00
Zaiming (Stone) Shi e5b65087af
Merge pull request #9834 from zmstone/0123-fix-idle_timeout-infinity
fix(emqx_connection): crash when idle_timeout is set to infinity
2023-01-24 16:05:09 +01:00
Erik Timan 9d20431257 fix(emqx_resource): fix crash while flushing queue
We used next_event for flushing the queue in emqx_resource, but this
leads to a crash. We now call flush_worker/1 instead.
2023-01-24 14:13:35 +01:00
Erik Timan 28718edbfd chore: bump application VSNs 2023-01-24 14:12:34 +01:00
Zaiming (Stone) Shi 8fde169abb
Merge pull request #9821 from thalesmg/buffer-worker-expiry-v50
feat(buffer_worker): add expiration time to requests
2023-01-24 13:54:04 +01:00
Zaiming (Stone) Shi 7575120ea6 test: use snabbkaffe retry macro 2023-01-24 10:54:20 +01:00
Zaiming (Stone) Shi 140cda2f13 fix(emqx_connection): crash when idle_timeout is set to infinity 2023-01-24 10:14:35 +01:00
Zaiming (Stone) Shi a0100c0a4e chore: bump app versions 2023-01-23 16:20:21 +01:00
Zaiming (Stone) Shi a83ed2fe94 Merge remote-tracking branch 'origin/master' into 0123-chore-sync-release-50-to-master 2023-01-23 16:20:01 +01:00
Zaiming (Stone) Shi 727100e094 chore: prepare for v5.0.15 release 2023-01-20 16:42:01 +01:00
Thales Macedo Garitezi ca4a262b75 refactor: re-organize dealing with unrecoverable errors 2023-01-20 12:00:17 -03:00
Thales Macedo Garitezi 6fa6c679bb feat(buffer_worker): add expiration time to requests
With this, we avoid performing work or replying to callers that are no
longer waiting on a result.

Also introduces two new counters:

- `dropped.expired` :: happens when a request expires before being
  sent downstream
- `late_reply` :: when a response is receive from downstream, but the
  caller is no longer for a reply because the request has expired, and
  the caller might even have retried it.
2023-01-20 11:36:52 -03:00
Zaiming (Stone) Shi 57607ca0ce chore: prepare for v5.0.15 release 2023-01-20 11:20:34 +01:00
Zaiming (Stone) Shi 1c3e055b13
Merge pull request #9822 from JimMoen/fix-schema-typo
chore: i18n typo fix
2023-01-20 11:11:18 +01:00
JimMoen 16f45a60fd
chore: i18n typo fix 2023-01-20 11:50:01 +08:00
Thales Macedo Garitezi a6ad97e6a5
Merge pull request #9807 from thalesmg/buffer-worker-rename-v50
buffer work refactoring follow up (part 1)
2023-01-19 14:17:10 -03:00
Zaiming (Stone) Shi abe7a69696 Merge remote-tracking branch 'origin/master' into release-50 2023-01-19 17:51:38 +01:00
Stefan Strigler 6bde1173af chore: add translations 2023-01-19 13:26:36 +01:00
Thales Macedo Garitezi d755b43c77 fix(jwt_worker): handle exceptions when decoding jwk from pem
Returns a more controlled error if users attempt to use the Service
Account JSON from the GCP PubSub example from swagger, which is
redacted.
2023-01-19 09:24:45 -03:00
Zaiming (Stone) Shi 63748aba3c
Merge pull request #9804 from emqx/release-50
Merge release-50 (candidate of e5.0.0-rc.1) back to master.
2023-01-19 08:48:41 +01:00
Thales Macedo Garitezi 47f796dd12 refactor: rename `emqx_resource_worker` -> `emqx_resource_buffer_worker`
To make it more clear that it's purpose is serve as a buffering layer.
2023-01-18 16:15:34 -03:00
Ilya Averyanov f9843de7ae
Merge pull request #9628 from savonarola/fix-flaky-redis-bridge-test
chore(ee bridge): fix Redis bridge test flakyness
2023-01-18 20:56:13 +02:00
Zaiming (Stone) Shi 1716a5da99 chore: bump version to e5.0.0-rc.1 2023-01-18 17:22:05 +01:00
Stefan Strigler fb763ecebd feat: support HAProxy protocol for dashboard API 2023-01-18 15:49:57 +01:00
Zaiming (Stone) Shi 7abba17b25
Merge pull request #9765 from zmstone/0115-add-password-converter
fix(schema): add password converter to ensure its binary() type
2023-01-18 15:09:05 +01:00
Andrew Mayorov 33b3c4fa9a
Merge pull request #9753 from feat/EMQX-8738/convert-ordered-sets
feat: turn tables queried with search APIs into ordered sets
2023-01-18 18:05:57 +04:00
Ilya Averyanov 44a6e5ed15 chore(resources): add missing parameters to emqx_resource schema 2023-01-18 14:33:45 +02:00
Zaiming (Stone) Shi 7e8381f4c7
Merge pull request #9785 from savonarola/fix-authn-handling
fix(authn): stop authn handling when emqx_authentication provides a result
2023-01-18 13:24:22 +01:00
ieQu1 c46d7f3404
Merge pull request #9801 from ieQu1/ekka-0.13.9
chore(ekka): Bump version to 0.13.9
2023-01-18 13:23:59 +01:00
Thales Macedo Garitezi 167b623497
Merge pull request #9699 from thalesmg/fix-buffer-clear-replayq-on-delete-v50
fix(buffer): fix `replayq` usages in buffer workers (5.0)
2023-01-18 09:08:50 -03:00
Erik Timan 46fc69cd48
Merge pull request #9781 from olcai/delete-zip-file-from-trace-log-download
fix(emqx_management): delete files after trace log download
2023-01-18 13:05:39 +01:00
ieQu1 d7242739e0 chore(ekka): Bump version to 0.13.9 2023-01-18 12:01:03 +01:00
Zaiming (Stone) Shi d4f3b4c8c2 Merge remote-tracking branch 'origin/master' into fix-buffer-clear-replayq-on-delete-v50 2023-01-18 11:39:47 +01:00
zhongwencool 8e1475addb
Merge pull request #9798 from zhongwencool/dashboard-document
chore: improve the dashboard's configuration
2023-01-18 18:20:00 +08:00
Erik Timan 42182279b7 fix(emqx_management): ensure trace file dir is deleted on zip exception 2023-01-18 10:20:41 +01:00
Zhongwen Deng fb84d5b817 chore: make spellcheck happy 2023-01-18 17:06:46 +08:00
Ivan Dyachkov 430b0a03d4
Merge pull request #9780 from id/fix-ensure-no-colon-in-filenames
fix: ensure no colon in filenames
2023-01-18 09:36:16 +01:00
Zhongwen Deng 0d852d9122 docs: improve the dashboard's document 2023-01-18 16:28:35 +08:00
Zaiming (Stone) Shi faf5916ed6 test: relax recoverable/unrecoverable error check
for now, treat all other errors unrecoverable
2023-01-18 07:52:28 +01:00
zhongwencool bc9d97ea53
Merge pull request #9791 from zhongwencool/crash-dump-doc
chore: more detail about crash dump config
2023-01-18 09:56:21 +08:00
Thales Macedo Garitezi 5c2ac0ac81 chore: don't cancel inflight items upon worker death; retry them 2023-01-17 19:50:30 -03:00
Thales Macedo Garitezi 087b667263 fix(buffer_worker): allow signalling unrecoverable errors 2023-01-17 19:50:30 -03:00
Stefan Strigler f899284e3a
Merge pull request #9789 from sstrigler/EMQX-8754-test-function-return-500-of-data-integration-google-pubsub
EMQX 8754 test function return 500 of data integration google pubsub
2023-01-17 22:49:28 +01:00
lafirest dea0c8230e
Merge pull request #9787 from lafirest/fix/webhook_bridge_cfg_upgrade
fix(bridges): fix a compatible problem for old webhook bridge config which created before the v5.0.12
2023-01-18 04:47:08 +08:00
Thales Macedo Garitezi 4ed7bff33f chore: fix dialyzer warnings 2023-01-17 16:49:16 -03:00
Thales Macedo Garitezi fa01deb3eb chore: retry as much as possible, don't reply to caller too soon 2023-01-17 16:49:15 -03:00
Thales Macedo Garitezi b82009bc29 refactor: use monotonic times as refs and store initial times when creating ets
with this, we may measure latencies in the future.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 3ba65c4377 feat: poke the buffer workers when inflight is no longer full
if max inflight = 1, then we only make progress based on the state
timer, since the callbacks were not poking the buffer workers.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi b5aaef084c refactor: enter running state directly
now that we don't have the possibility of dirty disk queues (we always
use volatile replayq), we will never resume old work.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi bd0e2a74ba refactor: rename inflight_name field to inflight_tid 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 006b4bda97 feat(buffer_worker): monitor async workers and cancel their inflight requests upon death 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 731ac6567a fix(buffer_worker): don't retry all kinds of inflight requests
Some requests should not be retried during the blocked state.  For
example, if some async requests are just taking some time to process,
we should avoid retrying them periodically, lest risk overloading the
downstream further.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 5425f3d88e refactor: rm unused fn 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 5dd24a64c3 refactor(buffer_worker): check if inflight is full before flushing 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 344eeebe63 fix: always ack async replies
The caller should decide if it should retry in that case, to avoid
overwhelming the resource with retries.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi bd95a95409 refactor: remove redundant `BlockWorker` arg, change boolean to ack/nack
`BlockWorker` was always false (ack).  Also, changed the return to
something more semantic than a boolean to avoid [boolean
blindness](https://runtimeverification.com/blog/code-smell-boolean-blindness/)
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 478fcc6ffd test: fix flaky test 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 30a227bd38 refactor: rename `resume` state timeout to `unblock` 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 7401d6f0ce refactor: rename ack fn 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 196bf1c5ba feat: mass collect calls from mailbox also when blocked 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi d4724d6ce9 refactor: remove redundant function
`retry_queue` does basically what the running state does, now that we
refactored the buffer workers to always use the queue.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi d6a9d0aa48 fix: set queuing to 0 after buffer worker termination 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 81fc561ed5 fix(buffer_worker): check for overflow after enqueuing new requests 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 4cb83d0c9a fix: fix some expressions after refactoring 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi fecdbac9a8 refactor: rename a few functions 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi cdd8de11b0 chore: fix a typo in function name 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi 618b97870b refactor: call local function queue_count everywhere 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi 249c4c1c79 refactor: use 'bufs' for resource worker replayq dir 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi af6807e863 refactor: cancel flush timer sooner
Avoids the cancellation being delayed.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 477c55d8ef fix: sanitizy replayq dir filepath
Colons (`:`) are not allowed in Windows.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 4c04a01370 refactor(buffer_worker): remove `?Q_ITEM` wrapping and use lightweight size estimate 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi 32a9e60313 feat(buffer_worker): also use the inflight table for sync requests
Related: https://emqx.atlassian.net/browse/EMQX-8692

This should also correctly account for `retried.*` metrics for sync
requests.

Also fixes cases where race conditions for retrying async requests
could potentially lead to inconsistent metrics.

Fixes more cases where a stale reference to `replayq` was being held
accidentally after a `pop`.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi ff23d25e8b chore(replayq): update replayq -> 0.3.6 and use `clean_start` for buffer workers
So we can truly avoid resuming work after a node restart.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi c383558467 fix(buffer): fix `replayq` usages in buffer workers (5.0)
https://emqx.atlassian.net/browse/EMQX-8700

Fixes a few errors in the usage of `replayq` queues.

- Close `replayq` when `emqx_resource_worker` terminates.
- Do not keep old references to `replayq` after any `pop`s.
- Clear `replayq`'s data directories when removing a resource.
2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi fc992f28bc test: add test coverage 2023-01-17 20:13:01 +01:00
Zaiming (Stone) Shi fff6bf921f refactor(authz): call emqx_resource:simple_sync_query
there is no need to route the request through the buffer workers
2023-01-17 20:01:45 +01:00
Zaiming (Stone) Shi 7a471faf67 refactor(authn): use simple sync query for authn
there is no need to route the authn queries through the buffer worker
2023-01-17 19:57:14 +01:00
Ilya Averyanov 1d7364dab1 fix(authn): fix authn hook chain evaluation
Stop authentication handling when
`emqx_authentication` provides a definitive result.
2023-01-17 20:06:20 +02:00
Stefan Strigler d164e5bc0f fix: don't require ssl conf 2023-01-17 15:29:19 +01:00
Stefan Strigler e54f2f83b3 test: use same default timeout as elsewhere 2023-01-17 15:29:19 +01:00
Erik Timan 30a5cfaa83 fix(emqx_management): remove trace files after zip download
We only deleted the resulting zip after a trace file download, not the
actual trace files. This adds a deletion of the uncompressed trace files
as well. It also creates unique directories when collecting trace files
so that concurrent downloads doesn't overwrite files in transit.
2023-01-17 14:24:10 +01:00
Erik Timan 94296258b4 test(emqx_management): refactor test suite to use common test utils for API calls 2023-01-17 14:24:10 +01:00
Zhongwen Deng f98786c91f fix: bad crash_dump_file default value in rpm 2023-01-17 20:47:54 +08:00
Zhongwen Deng cf99089f84 chore: add some trace func to user_default 2023-01-17 20:33:01 +08:00
Zhongwen Deng 5a56013193 docs: more detail about crashdump config 2023-01-17 20:33:01 +08:00
zhongwencool 9f80eb2497
Merge pull request #9777 from zmstone/0116-refactor-config_files-is-readonly
refactor: config_files is a readonly config
2023-01-17 20:32:39 +08:00
Zaiming (Stone) Shi 263deae1f3 refactor: add a more generic name for password_converter 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi 2afbf6a406 test: unlink process which is getting shutdown 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi 4a7e74f5d6 fix(schema): add password converter to ensure its binary() type 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi 8b3ec48406 refactor: node.config_files should be hidden as it's not configurable
this config schema exists only for app-env mapping.
users can not change it because the bootstraping config
has to be etc/emqx.conf
2023-01-17 11:08:40 +01:00
Stefan Strigler 74ae7c4264
Merge pull request #9782 from sstrigler/EMQX-8361-fix-ct-suite-for-plugins-api
test: get plugin template as artifact
2023-01-17 11:08:07 +01:00
firest c3d5c25c26 fix(bridges): fix a compatible problem for old webhook bridge config which created before the v5.0.12 2023-01-17 17:42:10 +08:00
zhongwencool cb5314bb9e
Merge pull request #9774 from zhongwencool/dashboard-password-validate-v50
feat: add dashboard password validation
2023-01-17 17:02:51 +08:00
Stefan Strigler bc69a00329 test: get plugin template as artifact 2023-01-17 09:50:17 +01:00
Shawn 44f635300d chore: update mysql-otp to 1.7.2 2023-01-17 13:36:26 +08:00
Zhongwen Deng 3dfdad9cc9 test: dashboard default password 2023-01-17 11:30:42 +08:00
Zaiming (Stone) Shi b9911e281e docs: Update apps/emqx_dashboard/src/emqx_dashboard_admin.erl 2023-01-17 11:30:42 +08:00
zhongwencool c549379b7c chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-01-17 11:30:42 +08:00
Zhongwen Deng 82af854c4a test: dashbashboard new password failed 2023-01-17 11:30:42 +08:00
Zhongwen Deng a523fa2fa2 feat: add dashboard password validate 2023-01-17 11:30:42 +08:00
Zaiming (Stone) Shi 33be7672ad test: recover boot_modules app env after test 2023-01-17 00:43:25 +01:00
Ivan Dyachkov 676f017ec0 fix: ensure no colon in filenames 2023-01-16 21:27:01 +01:00
Andrew Mayorov 5fd157fb1d
Merge pull request #9776 from keynslug/chore/bump-epgsql-otp-25
chore: update epgsql to 4.7.0.1 with full OTP-25 compat
2023-01-16 23:51:09 +04:00
Zaiming (Stone) Shi e668044ebc fix: version number previs in restricted shell 2023-01-16 13:47:00 +01:00
Andrew Mayorov 34571c779d
feat: make `suboption` table ordering more natural 2023-01-16 15:39:10 +03:00
Andrew Mayorov ce2dba15b4
feat: turn tables queried with search APIs into ordered sets
This is needed to ensure more or less consistent client experience
for the new planned cursor-based search APIs.
2023-01-16 15:39:10 +03:00
Zaiming (Stone) Shi a7fc5e8fe1
Merge pull request #9761 from zmstone/0114-fix-kafka-value-template-and-docs
feat: introduce 'this' concept for placeholder, and use it in Kafka bridge
2023-01-16 13:37:29 +01:00
Andrew Mayorov 54cea3b3f2
chore: update epgsql to 4.7.0.1 with full OTP-25 compat 2023-01-16 15:35:51 +03:00
Stefan Strigler 67909f0b40 fix: testing metrics for emqx_bridge_mqtt_SUITE 2023-01-16 12:10:06 +01:00
Stefan Strigler a19226326c fix: don't test for strict values as that makes test flaky 2023-01-16 12:10:06 +01:00
Stefan Strigler 9a53410efb fix: don't add empty list element to options proplist 2023-01-16 12:00:03 +01:00
Stefan Strigler edfcea7f43 fix: add log for timeout 2023-01-16 12:00:03 +01:00
Zaiming (Stone) Shi 47414e0d53 docs: improve kafka key and value field description 2023-01-16 11:32:09 +01:00
Zaiming (Stone) Shi 376dab7cd8
Merge pull request #9743 from zmstone/0112-docs-fix-some-descriptions
0112 docs fix some descriptions
2023-01-16 09:56:56 +01:00
JimMoen 54ebc27d24
Merge pull request #9672 from JimMoen/0103-fix-mqtt-bridge
Fix the problem that the bridge is not available when the Payload template is empty in the MQTT bridge.
2023-01-16 09:57:20 +08:00
Zaiming (Stone) Shi 089389100e
Merge pull request #9763 from zmstone/0114-fix-crash-when-password-undefined
0114 fix crash when password undefined
2023-01-15 12:41:02 +01:00
Zaiming (Stone) Shi df202c69ad
Merge pull request #9746 from zmstone/0113-fix-mqtt-connect-packet-format-when-password-is-empty
fix(emqx_packet): log empty string if password value is missing
2023-01-14 19:42:07 +01:00
Zaiming (Stone) Shi 0f2f5fbbe0 fix(authn): no exception when password is 'undefined' 2023-01-14 17:58:55 +01:00
Zaiming (Stone) Shi 7073c62dd9 feat: add a 'this' for rule engine put env
now a dot is allowed in front of a var (path)
e.g. ${.clientid} is equivalent to ${clientid}

${.} however, means everything.
the parsed var is interally represented as $_THIS_
to make it easier to read/search.
2023-01-14 11:03:58 +01:00
Zaiming (Stone) Shi 002f5dbd89
Merge pull request #9750 from zhongwencool/bootstrap-app-env
fix: save app's env when bootstrapping and reloading
2023-01-14 07:33:13 +01:00
Zhongwen Deng b07befbf56 test: conf_app ct failed 2023-01-14 01:03:57 +08:00
Stefan Strigler 6fe09447ed fix: stale test using old resource paths after merge 2023-01-13 17:23:25 +01:00
Zhongwen Deng 09160383f5 chore: bump emqx_resource to 0.1.5 2023-01-13 23:42:41 +08:00
Zhongwen Deng 588140b842 chore: why we should ingore save kernel app env when init 2023-01-13 23:35:45 +08:00
Zhongwen Deng 1fe0061123 fix: node.config_files type is hocon:array(string())) 2023-01-13 23:35:45 +08:00
Zhongwen Deng c9f0355f5a fix: save app env when bootstrap and reload 2023-01-13 23:35:45 +08:00
Zhongwen Deng 1085492171 chore: don't refresh when CT is running 2023-01-13 23:35:45 +08:00
Zhongwen Deng 91d38b410d fix: refresh logger handler when starting 2023-01-13 23:35:45 +08:00
Stefan Strigler 8f5881d1a5 fix: remove stale request/3 from merge error 2023-01-13 16:19:35 +01:00
Stefan Strigler e08c1d2229 Merge remote-tracking branch 'olcai/refactor-bridges-api' into dev/api-refactor 2023-01-13 15:49:52 +01:00
Stefan Strigler 1690a6dcfc
Merge branch 'master' into dev/api-refactor 2023-01-13 15:34:13 +01:00
Erik Timan 61e98900be chore: bump app vsn of emqx_resource 2023-01-13 15:13:35 +01:00
Erik Timan c3133fb6a2 fix(emqx_bridge): small fixes from review 2023-01-13 14:54:54 +01:00
Zaiming (Stone) Shi a77d33b97d
Merge pull request #9751 from lafirest/fix/un_cleared_ca
fix that obsoleted cert file will not be deleted after the listener is updated/deleted
2023-01-13 14:38:55 +01:00
Kjell Winblad 1ac03ab208
Merge pull request #9730 from kjellwinblad/kjell/fix/resource_atom_leak/EMQX-8583
fix: remove atom leaks
2023-01-13 14:38:28 +01:00
Zaiming (Stone) Shi bb3dceb456
Merge pull request #9749 from keynslug/fix/count-respect-matchspec
fix(paging): respect matchspec even if qs is empty when counting
2023-01-13 14:29:03 +01:00
Erik Timan 8dd52e5a6e chore: add translations to schemas 2023-01-13 14:19:23 +01:00
Erik Timan f1c58c34ed test(emqx_bridge): fix fetching of metrics in emqx_bridge_mqtt_SUITE 2023-01-13 14:19:23 +01:00
Zaiming (Stone) Shi 2974269f2a
Merge pull request #9723 from emqx/release-50
chore: sync release-50 to master
2023-01-13 14:13:12 +01:00
firest 0a965879dd fix: fix that obsoleted cert file will not be deleted after the listener is updated/deleted 2023-01-13 18:42:27 +08:00
Zhongwen Deng f15b29b1ef chore: upgrade app version 2023-01-13 18:22:29 +08:00
JimMoen b7259d9a20
test(mqtt-bridge): use empty payload template for ingress/egress mqtt bridge 2023-01-13 18:12:53 +08:00
Kjell Winblad 734e6b9c96 chore: fix flaky test cases, log labels and review comments
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-01-13 11:05:02 +01:00
Andrew Mayorov b3e62bd8f8
fix(paging): respect matchspec even if qs is empty when counting 2023-01-13 12:56:29 +03:00
zhongwencool 383a6812d1
Merge pull request #9748 from zhongwencool/listener-max-connections-default-value
fix: default max_connections in raw config should be binary not atom
2023-01-13 17:55:22 +08:00
JimMoen 59ac0b1424
fix(mqtt-bridge): transmit raw msg payload with empty template 2023-01-13 17:23:04 +08:00
zhongwencool 0049b4a294
Merge branch 'master' into release-50 2023-01-13 16:39:35 +08:00
Zaiming (Stone) Shi e7883e0ee2
Merge pull request #9741 from id/fix-description-for-duration-fields
fix: remove time unit from duration fields description
2023-01-13 09:31:48 +01:00
Zhongwen Deng eacdaffe3c fix: default max_connections in raw config should be binary not atom 2023-01-13 16:01:57 +08:00
Andrew Mayorov 33d88c95de
Merge pull request #9745 from keynslug/fix/EMQX-8702/changelog
chore: add changelog for the fuzzy search API fix
2023-01-13 11:59:37 +04:00
Zaiming (Stone) Shi 2bc19c3a62 fix(emqx_packet): log empty string if password value is missing
to keep it a consistent behaviour comparing when logging username
2023-01-13 08:21:09 +01:00
Zaiming (Stone) Shi 153d64068a refactor: rename root level cache type to authz_cache 2023-01-13 07:47:54 +01:00
Zaiming (Stone) Shi c7ac55520d docs: update pool_size doc 2023-01-13 07:46:23 +01:00
Zaiming (Stone) Shi b40ce0fc2d
Merge pull request #9626 from id/fix-enable-authz-cache-by-default
fix: enable authorization cache by default
2023-01-13 07:39:38 +01:00
Xinyu Liu 6b75077c47
Merge pull request #9734 from terry-xiaoyu/influxdb-default-value-of-write-syntax
refactor: remove default value of timestamp field of influxdb
2023-01-13 10:14:14 +08:00
Erik Timan 42f42de4d9 feat(emqx_bridge): add separate endpoint for enable/disable of bridge
In order to improve the consistency with other API endpoints, we move
the enable/disable operations to a separate endpoint
/bridges/{id}/enable/[true,false].
2023-01-12 19:39:43 +01:00
Erik Timan 860e21d40f feat(emqx_bridge): move metrics to own endpoint, rename reset_metrics
In order for the /bridges APIs to be consistent with other APIs, we move
out metrics from GET /bridges/{id} to its own endpoint,
/bridges/{id}/metrics. We also rename /bridges/reset_metrics to
/bridges/metrics/reset.
2023-01-12 19:39:41 +01:00
Erik Timan c2fd1a4482 feat(emqx_bridge): shorten operation endpoint URLs
This shortens and simplifies URLs for performing bridge operations so
that the API looks more congruent.
2023-01-12 19:36:22 +01:00
Andrew Mayorov 90e837783f
fix(paging): rename `partial` to `overflow` for clarity 2023-01-12 19:25:40 +03:00
lafirest a26c05f4f6
Merge pull request #9586 from lafirest/fix/disable_basic_auth_api
fix: disable basic auth for HTTP API
2023-01-12 23:02:29 +08:00
Zaiming (Stone) Shi 370b6b0d2f
Merge pull request #9735 from kjellwinblad/kjell/fix/password_log_leak/EMQX-8718
fix: remove password from info logs
2023-01-12 15:34:16 +01:00
Shawn 1711823487 refactor: remove default value of timestamp field of influxdb 2023-01-12 22:25:44 +08:00
firest c5f557e315 fix: disable basic auth for HTTP API 2023-01-12 21:35:49 +08:00
Stefan Strigler 2a81fa1522 fix: remove redundant log message 2023-01-12 14:29:11 +01:00
Stefan Strigler 04f46f5227 feat: make http connector report errors 2023-01-12 14:26:36 +01:00
Stefan Strigler 77f043dedf fix: don't require username and password
not enforced by schema so we shouldn't either
2023-01-12 14:26:36 +01:00
Ivan Dyachkov b5d3e9d8b8 fix: remove time unit from duration fields description 2023-01-12 14:18:55 +01:00
Ivan Dyachkov f90c41f769 fix: set default value in schema 2023-01-12 13:49:52 +01:00
Ivan Dyachkov 1f57e7b538 fix: enable authorization cache by default 2023-01-12 12:36:31 +01:00
Andrew Mayorov 9e9d97b4d8
Merge pull request #9726 from keynslug/fix/EMQX-8702/fuzzy-search-paging
fix(api): augment paged search responses with `hasnext` flag
2023-01-12 13:35:59 +04:00
Kjell Winblad 82e80e5610 fix: remove password from info logs
Information log messages for several connectors contained sensitive
password information. This commit fixes this by hiding the sensitive
information from the log messages.

Fixes: https://emqx.atlassian.net/browse/EMQX-8718
2023-01-12 09:28:01 +01:00
JianBo He 13fdbd695e
Merge pull request #9722 from HJianBo/more-confs-for-prometheus
feat: more confs for prometheus pushing
2023-01-12 16:06:21 +08:00
Andrew Mayorov 50c9321b9e
fix(api): anticipate empty set of nodes handling cluster query 2023-01-12 10:57:50 +03:00
Andrew Mayorov c89b227687
fix(test): adapt affected testcases 2023-01-12 10:57:50 +03:00
Andrew Mayorov abf6f143e5
fix(paging): return subset of rows if page start is in the middle
This change should cover this example scenario where select ended
returning 4 rows.

Row 3
Row 4
Row 5 <- page start
Row 6

Here, only rows 5 and 6 should end up in the response. Before this
change some rows could be duplicated across adjacent search pages.
2023-01-12 10:57:50 +03:00
Andrew Mayorov e07aa2086b
fix(api): augment paged search responses with `hasnext` flag
This flag indicates whether there are more results available on the
next pages. It is needed in cases when the total number of search
results is not known in advance.

Also, in such cases there's no `count` field in responses anymore
because responding with `0` was confusing for clients: it's not possible
to differentiate between "there are no results" and "we don't know how
much".

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-01-12 10:57:30 +03:00
Zhongwen Deng 1194d07a07 refactor: update emqx_prometheus's headers from map() to list() 2023-01-12 12:48:26 +08:00
Xinyu Liu bae811e8b4
Merge pull request #9725 from terry-xiaoyu/remove_the_auto_reconnect_field
refactor: remove the auto_reconnect field
2023-01-12 11:11:00 +08:00
Kjell Winblad 8c482e03d1 fix: remove atom leaks
Both emqx_resource_managers and emqx_resource_workers leaked atoms as they
created an unique atoms to use as registered names. This is fixed by
removing the need to register the names.

Fixes: https://emqx.atlassian.net/browse/EMQX-8583
2023-01-11 17:03:28 +01:00
Stefan Strigler 417d95d76f
Merge pull request #9708 from sstrigler/EMQX-8588-refactor-emqx-resource-manager
EMQX 8588 refactor emqx resource manager
2023-01-11 16:13:55 +01:00
Shawn 3e9c4f444f refactor: remove the auto_reconnect field 2023-01-11 21:47:06 +08:00
Thales Macedo Garitezi 254b92a3c1 docs: add comma to please spellcheck 2023-01-11 10:31:23 -03:00
Stefan Strigler 8ad8288195 feat: report error in create_dry_run 2023-01-11 14:22:37 +01:00
Thales Macedo Garitezi d5a462486e feat: tag another emqx schema as `emqx` 2023-01-11 09:31:38 -03:00
Thales Macedo Garitezi e6a8be1ff6 docs: fix closing tag 2023-01-11 09:10:04 -03:00
Thales Macedo Garitezi 48e1ba4832 feat(docs): add tags to schemas
This'll allow us to split the generated `schema.json` file into
subsections for better documentation navigation.
2023-01-11 09:10:03 -03:00
Kjell Winblad fde8752452
Merge pull request #9710 from kjellwinblad/kjell/mongodb_upgrade_in_emqx_5_master_fix
chore: upgrade mongodb-erlang to v3.0.19
2023-01-11 12:41:11 +01:00
JianBo He 9f6df27759 chore: bump app.src vsn 2023-01-11 17:47:06 +08:00
JianBo He b1292d6d4f feat(prom): support configuring job_name for pushing mode 2023-01-11 17:31:58 +08:00
JianBo He 50b7ac6a22 feat(prom): support headers for pushing 2023-01-11 17:31:58 +08:00
Zhongwen Deng fdc0682c3f fix: elvis warning 2023-01-11 17:30:45 +08:00
zhongwencool 6f0e228a9b
Merge pull request #9717 from zmstone/0110-do-not-start-resource-after-recreate-if-disabled
fix(emqx_resource_manager): do not start when disabled
2023-01-11 16:12:53 +08:00
Zaiming (Stone) Shi 85a8eff90b fix(emqx_resource_manager): do not start when disabled 2023-01-11 08:33:48 +01:00
Zhongwen Deng d9429bba00 fix: bump hocon to 0.35.0(don't log overriding structs) 2023-01-11 14:44:34 +08:00
Zhongwen Deng ba738d7707 chore: bump to 5.0.14 2023-01-11 14:39:32 +08:00
zhongwencool ce2b4d48ad
Merge pull request #9714 from zhongwencool/auto-subscribe-api-schema
fix: bad auto_subscribe api schema
2023-01-11 14:32:40 +08:00
zhongwencool e7d6d26186
Merge pull request #9713 from zhongwencool/api-keys-bootstrap-file
feat: introduce API keys bootstrap_file config
2023-01-11 11:30:45 +08:00
Zhongwen Deng 52ccd0762e test: QOS ct failed 2023-01-11 10:34:09 +08:00
Zaiming (Stone) Shi 6bbb5edb53
Merge pull request #9667 from olcai/remove-clientid-in-publish-request-body
fix(mgmt_api): remove possibility to set clientid in /publish API
2023-01-10 22:31:35 +01:00
Zaiming (Stone) Shi ee89de816c fix: upgrade bridge config converter 2023-01-10 20:42:30 +01:00
Erik Timan fb97096405 fix(mgmt_api): deprecate clientid field instead of removing it 2023-01-10 16:48:04 +01:00
Zhongwen Deng a2be9947f5 chore: update auto_subscribe app version 2023-01-10 22:12:23 +08:00
Zhongwen Deng 5415e341fb fix: bad auto_subscribe api schema 2023-01-10 21:53:54 +08:00
zhongwencool 918ba0dffd
chore: apply suggestions from code review
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-01-10 20:39:31 +08:00
Zhongwen Deng 21dbc21dc8 chore: add changelog for api_key.bootstrap_file 2023-01-10 19:15:01 +08:00
Zhongwen Deng 5d4a1933a2 chore: add more test for api_key 2023-01-10 19:04:00 +08:00
Zhongwen Deng f6a47e5cf6 chore: support api_key.bootstrap_file config 2023-01-10 19:03:49 +08:00
Zhongwen Deng 142826c4c3 chore: limit the maximum number of api keys to 100 2023-01-10 19:03:39 +08:00
Xinyu Liu 0f70786d13
Merge pull request #9705 from terry-xiaoyu/remove-default-value-of-webhook-body
fix: remove the default value of webhook body field
2023-01-10 18:23:50 +08:00
Xinyu Liu 12de104033
Merge pull request #9712 from emqx/fix-bulk-subscribe-failed-in-client.connected-hook
fix: bulk subscribe topics failed in the client.connected hook
2023-01-10 18:22:15 +08:00
ieQu1 13f1ab6344
Merge pull request #9671 from ieQu1/metrics
feat(emqx_metrics): Sliding window samples
2023-01-10 11:08:43 +01:00
Stefan Strigler f27f573109 refactor: move to /authorization/sources/built_in_database/rules 2023-01-10 11:00:22 +01:00
Shawn 73643e932f fix: bulk subscribe topics failed in the client.connected hook 2023-01-10 16:43:24 +08:00
Xinyu Liu 52343e58c7
Merge pull request #9703 from emqx/subscribe-api-function-clause
fix: missing default value for qos field of API /clients/:clientid/subscribe
2023-01-10 10:13:58 +08:00
Shawn 724015af47 fix: remove the default value of webhook body field 2023-01-10 09:45:25 +08:00
Zaiming (Stone) Shi 67f2159a27
Merge pull request #9653 from zmstone/0101-authz-schema-union-member-selection
0101 authz schema union member selection
2023-01-09 22:17:51 +01:00
Kjell Winblad 0bd5bec982 chore: upgrade mongodb-erlang to v3.0.19
This upgrades mongodb-erlang from v3.0.18 to v3.0.19. This fixes a bug
that occurred when one issued a command specified as a map*. This fix
should not affect present EMQX as this functionality is currently not
used by EMQX. However, I think it is good to do the upgrade anyway in
case we will use the fixed functionality in the future. There is no need
to update the changelog.

* https://github.com/emqx/mongodb-erlang/pull/36
2023-01-09 18:14:11 +01:00
lafirest f1ebfe40a5
Merge pull request #9697 from lafirest/fix/ldap_i18n
chore: add i18n file for ldap connector
2023-01-09 22:54:09 +08:00
Thales Macedo Garitezi 7f5150b2e9
Merge pull request #9689 from thalesmg/fix-http-authz-failure-v50
fix(authz_http): handle `ignore` results (request failures)
2023-01-09 11:07:52 -03:00
Zaiming (Stone) Shi c3635f537a ci: wait for redis in emqx_ee_bridge_redis_SUITE 2023-01-09 14:39:56 +01:00
Zaiming (Stone) Shi 0697c692ed refactor: mongo_type and redis_type are not mandatory
the connector schemas are shared between authn, auth and bridges,
the difference is that authn and authz configs are unions like:

[
    {mongo_type = rs,
     ...
    }
    {another backend config}
]

however the brdige types are maps like, for example:

mongodb_rs.$name {
    mongo_type = rs
    ...
}

in which case, the mongo_type is not required.

in order to keep the schema static as much as possible,
this field is chanegd to 'required => false' with a default value.

However, for authn and authz, the union selector will still raise
exception if the there is no type provided.
2023-01-09 14:26:16 +01:00
Zaiming (Stone) Shi e52f9d5920 refactor: use union member type selector for authz sources 2023-01-09 14:26:16 +01:00
Kjell Winblad ba8c304723
Merge pull request #9691 from kjellwinblad/kjell/mongodb_upgrade_in_emqx_5_master
feat: upgrade MongoDB library to support MongoDB 5.1+
2023-01-09 14:15:48 +01:00
Kjell Winblad 692c1f0d1b
Merge pull request #9678 from kjellwinblad/kjell/fix/jira/EMQX-8648
fix: no feedback when deleting non-existing configuration
2023-01-09 13:52:40 +01:00
Stefan Strigler c85a988a43 fix: split 'server' param into host and port for mqtt bridge 2023-01-09 13:27:42 +01:00
Andrew Mayorov 0db31f30a1
Merge pull request #9675 from keynslug/chore/otp-25-compat-deps
chore: bump deps versions with full OTP-25 compat
2023-01-09 14:54:14 +04:00
Shawn 50717a5567 fix: set the topic field of API /clients/:clientid/subscribe as requried 2023-01-09 17:57:39 +08:00
Stefan Strigler c42c99f94f fix: set a timeout for tcp connect 2023-01-09 10:01:35 +01:00
Stefan Strigler 96ca0d9f49 feat(emqx_bridge): add /bridges_probe API endpoint 2023-01-09 10:01:33 +01:00
Stefan Strigler 903ae9a644 style: fix typo in fun name 2023-01-09 09:59:42 +01:00
Erik Timan 3319a8d28e fix(mgmt_api): remove possibility to set clientid in /publish API
To avoid security confusion, we remove the possibility to specify the
client ID in the request body for /publish and /publish/bulk.
2023-01-09 09:30:34 +01:00
Zaiming (Stone) Shi 8d53d154d9 refactor: remove license from configs API
license has its own config APIs
2023-01-09 09:16:19 +01:00
Shawn 7ed1384623 fix: missing default value for qos field of API /clients/:clientid/subscribe 2023-01-09 16:02:10 +08:00
Zaiming (Stone) Shi 3859878985
Merge pull request #9684 from zmstone/0105-do-not-use-testcase-skip
test: do not use tc_user_skip for test cases
2023-01-09 09:02:06 +01:00
JianBo He 6f5057b9dd
Merge pull request #9637 from HJianBo/fix-clients-api
fix(clients): fix expiry_interval unit error
2023-01-09 09:49:16 +08:00
Xinyu Liu 336b310d56
Merge pull request #9687 from emqx/function_clause_when_send_msg_to_bridges
fix: function_clause when sending messages to bridges
2023-01-09 09:23:17 +08:00
Andrew Mayorov 1336a57b3b
chore: bump to emqx/eredis_cluster 0.7.5
* Full OTP-25 compat.
* Password censoring in status and crash reports.
* No more crashes on query timeout.
2023-01-08 13:13:31 +03:00
Zaiming (Stone) Shi 5653d113ac
Merge pull request #9663 from zmstone/0102-fix-stopped-nodes-detection
0102 fix stopped nodes detection
2023-01-08 10:03:48 +01:00
firest d2456f9fbe chore: add i18n file for ldap connector 2023-01-06 17:28:06 +08:00
firest f7b50c56da feat(bridges): integrate PostgreSQL into bridges
support both simple and batch query
2023-01-06 11:47:22 +08:00
JianBo He 5d55e3a7b3 chore: updage mgmt app vsn 2023-01-06 10:31:27 +08:00
JianBo He 65729cd640 fix(clients): fix expiry_interval unit error
It should be second not millisecond
2023-01-06 10:31:27 +08:00
Shawn 13b2f45405 fix: function_clause when sending messages to bridges 2023-01-06 09:24:38 +08:00
Zaiming (Stone) Shi 7a4e7a6de9 test: wait for redis 2023-01-05 22:47:08 +01:00
Zaiming (Stone) Shi 5f12cdff6c ci: should not skip tests in github actions 2023-01-05 22:47:08 +01:00
Thales Macedo Garitezi 22707495ac
Merge pull request #9690 from thalesmg/fix-flaky-jwt-test
test(flaky): fix flaky jwt worker test
2023-01-05 14:00:39 -03:00
Kjell Winblad 5266722e51 feat: upgrade MongoDB library to support MongoDB 5.1+ 2023-01-05 16:40:45 +01:00
Kjell Winblad b59c4c34c5 fix(Bridge REST API): no feedback when deleting bridge
This fixes https://emqx.atlassian.net/browse/EMQX-8648. The issue
described in `EMQX-8648` is that when deleting a non-existing bridge the
server gives a success response. See below:

```
curl --head -u admin:public2 -X 'DELETE' 'http://localhost:18083/api/v5/bridges/webhook:i_do_not_exist'
HTTP/1.1 204 No Content
date: Tue, 03 Jan 2023 16:59:01 GMT
server: Cowboy
```

After the fix, deleting a non existing bridge will give the following
response:

```
HTTP/1.1 404 Not Found
content-length: 49
content-type: application/json
date: Thu, 05 Jan 2023 12:40:35 GMT
server: Cowboy
```

Closes: EMQX-8648
2023-01-05 16:19:46 +01:00
Thales Macedo Garitezi c6b8e614df fix(authz_http): handle `ignore` results (request failures)
Related issue: https://github.com/emqx/emqx/issues/9683

When the HTTP request for authz fails (e.g.: resource is down or
server is down), then the HTTP authorizer returns `ignore`, which was
not handled correctly by the authorization callback.
2023-01-05 11:34:23 -03:00
Thales Macedo Garitezi cf6996cbea test(flaky): fix flaky jwt worker test 2023-01-05 11:19:43 -03:00
Thales Macedo Garitezi 70eb5ffb58 refactor: remove unused function 2023-01-05 10:16:01 -03:00
Thales Macedo Garitezi 56437228dc docs: improve descriptions
Thanks to @qzhuyan for the corrections.
2023-01-05 10:16:01 -03:00
Thales Macedo Garitezi fd360ac6c0 feat(buffer_worker): refactor buffer/resource workers to always use queue
This makes the buffer/resource workers always use `replayq` for
queuing, along with collecting multiple requests in a single call.
This is done to avoid long message queues for the buffer workers and
rely on `replayq`'s capabilities of offloading to disk and detecting
overflow.

Also, this deprecates the `enable_batch` and `enable_queue` resource
creation options, as: i) queuing is now always enables; ii) batch_size
> 1 <=> batch_enabled.  The corresponding metric
`dropped.queue_not_enabled` is dropped, along with `batching`.  The
batching is too ephemeral, especially considering a default batch time
of 20 ms, and is not shown in the dashboard, so it was removed.
2023-01-05 10:15:09 -03:00
Thales Macedo Garitezi bf3983e7c4 feat(buffer_worker): use offload mode for `replayq`
To avoid confusion for the users as to what persistence guarantees we
offer when buffering bridges/resources, we will always enable offload
mode for `replayq`.  With this, when the buffer size is above the max
segment size, it'll flush the queue to disk, but on recovery after a
restart it'll clean the existing segments rather than resuming from
them.
2023-01-05 10:11:59 -03:00
ieQu1 5d9f9671e9 feat(emqx_metrics): Sliding window samples 2023-01-05 13:55:52 +01:00
Thales Macedo Garitezi fa4f90d43e
Merge pull request #9676 from thalesmg/fix-change-retainer-storage-type-v50
fix(retainer): change mnesia table storage types during update
2023-01-05 09:07:10 -03:00
ieQu1 93c205db7c fix(router_helper): Reduce log verbosity of expected events 2023-01-05 12:17:27 +01:00
Thales Macedo Garitezi 51ad27cb4b test(retainer): assert that retained messages are not lost when changing storage type 2023-01-04 13:52:52 -03:00
Thales Macedo Garitezi 2f13bfd452 fix(retainer): change mnesia table storage types during update
https://emqx.atlassian.net/browse/EMQX-8650
2023-01-04 13:52:52 -03:00
Thales Macedo Garitezi 86a4ac87a7
Merge pull request #9674 from thalesmg/reset-rule-metrics-on-disable-v50
chore(rule_engine): reset metrics when disabling a rule
2023-01-04 13:30:39 -03:00
Thales Macedo Garitezi 00b91d8a60
Merge pull request #9664 from thalesmg/fix-mongo-duration-field-descs-v50
docs(mongodb_connector): fix duration field descriptions
2023-01-04 10:03:38 -03:00
Thales Macedo Garitezi eb7dca3691 chore(rule_engine): reset metrics when disabling a rule
https://emqx.atlassian.net/browse/EMQX-8502

When a bridge is disabled, its metrics are reset.  With this change,
we make rule actions behave like that: disabling a rule will reset its
metrics.
2023-01-04 09:30:47 -03:00
Erik Timan f767db4d8f
Merge pull request #9660 from olcai/refactor-ingress-bridge-counter
refactor(emqx_resource): ingress bridge counter
2023-01-04 10:43:07 +01:00
Thales Macedo Garitezi c3cfbae3c2 docs: improve descriptions
Thanks to @qzhuyan for the corrections
2023-01-03 11:38:09 -03:00
firest b43be50a98 test: add the `redacted` test case for bridges api 2023-01-03 22:16:34 +08:00
firest b016695cb1 fix(bridges): obfuscate the password in bridges API responses 2023-01-03 22:09:29 +08:00
Thales Macedo Garitezi 7bbdc20993 docs(mongodb_connector): fix duration field descriptions
https://emqx.atlassian.net/browse/EMQX-8642

Adds different descriptions for the different fields of type duration
for MongoDB.

Based off: https://www.mongodb.com/docs/manual/reference/connection-string/
2023-01-03 10:01:56 -03:00
Zaiming (Stone) Shi ced5a27053 test: fix emqx_conf test cases 2023-01-02 21:30:40 +01:00
ieQu1 2f208c3ab9 fix(cluster_rpc): Detect stopped replicant nodes 2023-01-02 21:30:40 +01:00
lafirest 7985cd3536
Merge pull request #9638 from lafirest/fix/mysql_dup
fix(mysql): fix the problem of data loss and bad match when mysql is disconnected
2023-01-02 23:15:44 +08:00
Erik Timan b9d012e072 refactor(emqx_resource): ingress bridge counter
Unify code paths for resource metrics by removing
emqx_resource:inc_received/1 and adding
emqx_resource_metrics:received_inc/1 & friends.
2023-01-02 15:11:52 +01:00
Thales Macedo Garitezi 7e02eac3bc
Merge pull request #9619 from thalesmg/refactor-gauges-v50
refactor(metrics): use absolute gauge values rather than deltas (v5.0)
2023-01-02 10:56:47 -03:00
firest bc37556963 fix(mysql): fix the problem of data loss and bad match when mysql is disconnected 2023-01-02 21:46:24 +08:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Zaiming (Stone) Shi 231d6da4dc
Merge pull request #9644 from id/fix-kafka-bridge-connectivity-detection
fix(kafka): detect connectivity in on_get_status
2022-12-30 21:54:56 +01:00
Thales Macedo Garitezi 305ed68916 chore: bump app vsns 2022-12-30 16:51:24 -03:00
Thales Macedo Garitezi 8b060a75f1 refactor(metrics): use absolute gauge values rather than deltas
https://emqx.atlassian.net/browse/EMQX-8548

Currently, we face several issues trying to keep resource metrics
reasonable.  For example, when a resource is re-created and has its
metrics reset, but then its durable queue resumes its previous work
and leads to strange (often negative) metrics.

Instead using `counters` that are shared by more than one worker to
manage gauges, we introduce an ETS table whose key is not only scoped
by the Resource ID as before, but also by the worker ID.  This way,
when a worker starts/terminates, they should set their own gauges to
their values (often 0 or `replayq:count` when resuming off a queue).
With this scoping and initialization procedure, we'll hopefully avoid
hitting those strange metrics scenarios and have better control over
the gauges.
2022-12-30 16:51:24 -03:00
Zaiming (Stone) Shi b30f2ea58b fix(statsd schema): a field is not 'required' when it has 'default' 2022-12-30 14:20:24 +01:00
Zaiming (Stone) Shi 981f75dc73 test(emqx_modules): do not expect badmatch in test cases!!! 2022-12-30 14:20:24 +01:00
Zaiming (Stone) Shi 0ce1ca89b7 refactor: use string type for server and servers 2022-12-30 14:20:23 +01:00
Zaiming (Stone) Shi cac7e0c5f0 refactor: move version prefix string detection to a static fun
this is to make dialyzer happy
2022-12-30 14:19:03 +01:00
Thales Macedo Garitezi a612eacf3a
Merge pull request #9641 from thalesmg/fix-gcp-pubsub-jwt-refresh-v50
fix(gcp_pubsub): fix potential jwt accumulation and lack of refresh (v5.0)
2022-12-30 09:33:41 -03:00
Ivan Dyachkov f410201dc3 chore: fix flaky test case in emqx_connector_jwt_worker_SUITE 2022-12-30 11:45:13 +01:00
zhongwencool f92b1fb8f4
Merge pull request #9633 from zhongwencool/fix-json-fmt
fix: bad best fmt json []
2022-12-30 09:08:13 +08:00
Thales Macedo Garitezi 446a4c74d0 fix(gcp_pubsub): fix potential jwt accumulation and lack of refresh (v5.0)
https://emqx.atlassian.net/browse/EMQX-8653
Related:
- https://emqx.atlassian.net/browse/EEC-737
- https://emqx.atlassian.net/browse/EMQX-8652

Since the rule resource testing mechanism creates a new resource to
test the configuration, a new JWT associated with an unique temporary
resource was being created and left in the JWT table, leaking it.

Also, a wrong case clause when setting the new refresh timer for the
JWT worker was preventing it from refreshing from the 2nd refresh
onward.
2022-12-29 16:30:36 -03:00
Zaiming (Stone) Shi 0b43ae621d ci: dump docker-compose log if failed to run ct 2022-12-29 09:23:11 +01:00
Zhongwen Deng 4e62aff3ab fix: bad best fmt json [] 2022-12-29 14:53:00 +08:00
Zaiming (Stone) Shi 2790d5697d test: add a 2 seconds sleep between listener sotp and restart
to lower the chance of eaddrinuse
2022-12-28 18:48:53 +01:00
Thales Macedo Garitezi 4819794401 test(refactor): decrease test teardown noise 2022-12-27 10:30:14 -03:00
Thales Macedo Garitezi 6fdcba641e test(refactor): no need for monitor
the janitor is already linked to the parent
2022-12-27 10:30:14 -03:00
Zaiming (Stone) Shi a777bac38c build: prepare for v5.0.13 release 2022-12-27 11:54:09 +01:00
Zaiming (Stone) Shi 15bd797b36 ci: bump to v5.0.13-rc.3 2022-12-27 11:24:47 +01:00
Zaiming (Stone) Shi 580137de0d Merge remote-tracking branch 'origin/master' into release-50 2022-12-27 11:06:17 +01:00
lafirest 2ff6ef01f1
Merge pull request #9599 from lafirest/fix/blacklist_default_exp
fix(banned): ensure the default expiration time of `banned` is large enough
2022-12-27 17:30:10 +08:00
Zaiming (Stone) Shi 0517541f34 ci: bump to v5.0.13-rc.2 2022-12-27 09:54:34 +01:00
Zaiming (Stone) Shi 18246442aa chore: prepare v5.0.13-rc.1
bump dashboard version to v1.1.4
2022-12-26 21:45:48 +01:00
zhongwencool 81b226a801
Merge pull request #9608 from zmstone/1123-pin-hocon-0.33.0
1123 pin hocon 0.33.0
2022-12-26 19:22:21 +08:00
firest af3f0c9bb0 fix(banned): ensure the default timeout of `banned` is large enough 2022-12-26 10:17:31 +08:00
Zaiming (Stone) Shi f93c22045d fix: non-empty field should not be undefined 2022-12-24 11:41:45 +01:00
Zaiming (Stone) Shi 269a40a9ea fix: format psk user lookup fun back to string 2022-12-23 19:22:15 +01:00
Zaiming (Stone) Shi d3efb0c0ba chore: bump app versions 2022-12-23 15:10:16 +01:00
Zaiming (Stone) Shi 350023e757 fix(config): option only_fill_defaults renamed to make_serializable 2022-12-23 14:27:04 +01:00
Thales Macedo Garitezi 35dc75b7ed feat(mqtt): add option to customize clientid prefix for egress bridges
https://emqx.atlassian.net/browse/EMQX-8445

Currently the bridge client’s client ID is prefixed with the resource
ID.

Sometimes it’s useful for users to have control of this prefix,
e.g. prefix based ACL rules in the target broker.
2022-12-23 09:50:26 -03:00
Ilya Averyanov fa7433628c fix(logs): set password field sensitive for connectors 2022-12-23 12:46:03 +01:00
Zaiming (Stone) Shi 59970272ff chore: pin hocon 0.33.0 2022-12-23 12:07:36 +01:00
Zaiming (Stone) Shi 6292d7ec68 refactor: remove dead code 2022-12-23 12:07:36 +01:00
Erik Timan 13942f5c49 refactor: rename error return in mysql connector 2022-12-22 10:29:12 +01:00
Erik Timan 7df24000a0 test: add more EE mysql bridge test cases 2022-12-22 10:27:38 +01:00
Erik Timan 23ac426608 fix(emqx_connector): check for key among prepared statements on query
An infinite loop was triggered in the mysql connector when a query
used a prepared statement key that was not among the defined prepared
statements on start. We now check that the key is defined among the
prepared statements before recursing. It seems that this bug was never
triggered in any production code flow and simply found while writing
tests.

An error return spell fix is also included as well as a FIXME comment
regarding running mysql:prepare and not distinguishing between
transient failures and syntax errors. Syntax errors should not be
retried.
2022-12-22 10:27:38 +01:00
lafirest f660724bf7
Merge pull request #9582 from lafirest/fix/fix_field_name
fix(limiter): change limiter `cache` to `buffer`
2022-12-21 18:12:40 +08:00
firest a8e020af58 fix(limiter): change limiter `cache` to `buffer` 2022-12-20 22:30:52 +08:00
Zaiming (Stone) Shi 516147ad00
Merge pull request #9581 from zmstone/1219-fix-mqtt-bridge-config
1219 fix mqtt bridge config
2022-12-20 14:47:02 +01:00
Zaiming (Stone) Shi 479e191dcf refactor: refine worker pool config and doc
worker pool is a buffer pool
the description hinted connection pool which is wrong.
2022-12-20 09:02:51 +01:00
Zaiming (Stone) Shi da51433dc3 refactor: add default value for eggress remote 'qos' and 'retain'
otherwise when updating from dashboard, there is no way to set
'false' for 'retain' because it's a checkbox,
it's either 'true' or 'undefined'
2022-12-20 00:00:31 +01:00
Zaiming (Stone) Shi c085ffa0fe refactor: default mqtt bridgge buffer pool size down to 4 2022-12-19 23:59:46 +01:00
Zaiming (Stone) Shi f611cbab45 chore: cap replayq seg size under total size 2022-12-19 23:16:05 +01:00
Zaiming (Stone) Shi e932569f34 refactor: delete stale code
'hash' strategy has been removed from config schema
hence no need to keep the compatibility code
2022-12-19 20:20:58 +01:00
Zaiming (Stone) Shi ad3a793910 fix(shared_sub): insert alive pid table at mnesia table event 2022-12-19 20:12:38 +01:00
Zaiming (Stone) Shi 4f1fb0b629 refactor(shared_sub): improve sticky strategy performance
* avoid calling ets:select twice for sticky strategy
* when the calling process is terminating, no loop-back dispatch
2022-12-19 20:04:33 +01:00
Zaiming (Stone) Shi 29f394aa70 fix(shared): handle unsubscribe for sticky strategy
prior to this change, the message is dispatched to a shared subscriber
even after unsubscribed
2022-12-19 19:12:38 +01:00
Zaiming (Stone) Shi 67718ef84f docs: prepare to deprecate broker.shared_dispatch_ack_enabled 2022-12-19 17:07:52 +01:00
Stefan Strigler 7aee1a08aa
Merge pull request #9531 from sstrigler/EMQX-7982-put-authentication-id-should-return-204
refactor: return `204` instead of `200` for `PUT /authenticator/:id`
2022-12-19 14:46:31 +01:00
Andrew Mayorov cbe54c001c
Merge pull request #9510 from keynslug/chore/otp-25-compat
chore: enable OTP-25 compatibility
2022-12-19 15:12:19 +04:00
Stefan Strigler 9d97775567 refactor: return `204` instead of `200` for `PUT /authenticator/:id` 2022-12-19 10:02:08 +01:00
JimMoen 4906da9796
test(rule-funcs): test compression funcs 2022-12-19 15:43:50 +08:00
JimMoen 5151242583
feat(rule-engine): `zip`, `gzip`, `zip_compress` funcs in rule-sql 2022-12-19 15:43:50 +08:00
Andrew Mayorov ed2d5aa48a
fix: handle status in `format_status/1` callback
Which is expected argument type for this callback. Also try to
make sure that random maps won't pass through this callback unnoticed.
2022-12-16 13:45:06 +03:00
Andrew Mayorov 41a4e41d0c
fix(ct): prevent testcase flapping
Testcase `t_log_file` was flapping when run happened to pass through
boundary of a second. Archive files' `ctime`s could differ between
consecutive archive downloads.
2022-12-16 13:45:06 +03:00
Andrew Mayorov 4f00f0968d
ci: update to emqx-plugin-template 5.0.0 2022-12-16 13:45:06 +03:00
Andrew Mayorov fed7c80a9a
fix(ci): spec function with explicit exception 2022-12-16 13:45:05 +03:00
Andrew Mayorov 8a0ca38a77
fix: drop no longer supported dialyzer option 2022-12-16 13:45:05 +03:00
Andrew Mayorov c301c8e992
chore: drop few unused macros / includes 2022-12-16 13:45:04 +03:00
Andrew Mayorov a614e3065a
chore(tls): drop OTP-22-related workaround 2022-12-16 13:45:04 +03:00
JimMoen 23d5d5329e
test(session): ensure 'message.dropped' hook ran with named reason 2022-12-15 16:16:27 +08:00
JimMoen b88398c3c6
fix: run `message.dropped` hook, inc `messages.dropped` metrics
- when awaiting_rel full
- packet identifier in use (QoS2 packet resend)
2022-12-15 16:16:26 +08:00
Zaiming (Stone) Shi 9e3da5b661 chore: bump app versions 2022-12-14 20:07:41 +01:00
Zaiming (Stone) Shi 56066a03b5 Merge remote-tracking branch 'origin/release-50' into 1214-sync-master-upstreams 2022-12-14 20:04:20 +01:00
Zaiming (Stone) Shi 82db73c3f7 chore: bump version to v5.0.12 2022-12-14 20:02:42 +01:00
Zaiming (Stone) Shi 7137a422df refactor(emqx_authn): make error messages more readable 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi abef881a73 refactor(config): no need to explicitly remove env metadata
after upgraded to honcon 0.32.0, the env meta is removed
by default.
2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi 34f7fff97d chore: pin hocon 0.32.0 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi 2d7099e3ae refactor(emqx_bridge_resource): rename a variable 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi 42c58e2a91 Merge remote-tracking branch 'origin/release-50' into 1214-sync-master-upstreams 2022-12-14 15:29:13 +01:00
Thales Macedo Garitezi f827062f0b
Merge pull request #9449 from thalesmg/gcp-pubsub-ee50
feat(gcp_pubsub): implement GCP PubSub bridge (ee5.0)
2022-12-14 10:31:12 -03:00
Zaiming (Stone) Shi 0412826dd5 refactor: change ce | ee to v | prefix for shell prompt
reason: 'ce' (Community Edition) is only for internal use,
when it comes to user/customer facing descriptions,
we should use Opensource edition and Enterprise edition.

Similary, for user/customer facing shell prompt,
use `v` for Opensource edition and `e` for Enterprise
2022-12-14 13:05:44 +01:00
Stefan Strigler 7bdb029745 refactor: use POST not PUT for `/users/{name}/change_pwd` 2022-12-13 11:08:54 +01:00
Thales Macedo Garitezi 464d0a5057 refactor(test): use a linked janitor for test teardown 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi b9bc82f87a feat(gcp_pubsub): add `local_topic` config
Given the implicit convention that an egress bridge containing the
`local_topic` config will forward messages without the need for a rule
action, this was added to avoid needing a rule action.
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi a095867358 test(refactor): add ids to namespace `on_exit` callbacks 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi 697b3ecf2d docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi 1cd91a24e9 feat(gcp_pubsub): implement GCP PubSub bridge (ee5.0) 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi fffce9316c test(fix): avoid trying to connect to system_monitor db in tests
When `system_monitor`'s application is loaded, it sets a default
hostname:

```erlang
1> application:get_env(system_monitor, db_hostname).
undefined
2> application:load(system_monitor).
ok
3> application:get_env(system_monitor, db_hostname).
{ok,"localhost"}
```

And that makes tests crash when somehow it gets loaded.

By having a semantic `enable` field, we could avoid starting this
application by checking if the hostname is filled or not.

```
=ERROR REPORT==== 1-Dec-2022::13:57:20.855070 ===
** Generic server <0.7646.3> terminating
** Last message in was {command,epgsql_cmd_connect,
                                #{codecs => [],database => "postgres",
                                  host => [],
                                  password =>
                                      #Fun<epgsql_cmd_connect.0.29916615>,
                                  port => 5432,timeout => 5000,
                                  username => "system_monitor"}}
** When Server state == {state,undefined,undefined,<<>>,undefined,on_message,
                               undefined,
                               {[],[]},
                               undefined,undefined,undefined,undefined,[],
                               information_redacted,[],undefined,undefined,
                               undefined,undefined,undefined,#{}}
** Reason for termination ==
** {badarg,
       [{gen_tcp,connect_0,4,[{file,"gen_tcp.erl"},{line,207}]},
        {epgsql_cmd_connect,open_socket,2,
            [{file,
                 "/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl"},
             {line,94}]},
        {epgsql_cmd_connect,execute,2,
            [{file,
                 "/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl"},
             {line,54}]},
        {epgsql_sock,command_exec,4,
            [{file,"/emqx/_build/default/lib/epgsql/src/epgsql_sock.erl"},
             {line,338}]},
        {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},
        {gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}
** Client system_monitor_pg stacktrace
** [{gen,do_call,4,[{file,"gen.erl"},{line,214}]},
    {gen_server,call,3,[{file,"gen_server.erl"},{line,243}]},
    {epgsql,call_connect,2,
            [{file,"/emqx/_build/default/lib/epgsql/src/epgsql.erl"},
             {line,203}]},
    {system_monitor_pg,connect,0,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,151}]},
    {system_monitor_pg,initialize,0,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,142}]},
    {system_monitor_pg,handle_info,2,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,92}]},
    {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,695}]},
    {gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,771}]},
    {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]

=CRASH REPORT==== 1-Dec-2022::13:57:20.855697 ===
  crasher:
    initial call: epgsql_sock:init/1
    pid: <0.7646.3>
    registered_name: []
    exception exit: badarg
      in function  gen_tcp:connect_0/4 (gen_tcp.erl, line 207)
      in call from epgsql_cmd_connect:open_socket/2 (/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl, line 94)
      in call from epgsql_cmd_connect:execute/2 (/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl, line 54)
      in call from epgsql_sock:command_exec/4 (/emqx/_build/default/lib/epgsql/src/epgsql_sock.erl, line 338)
      in call from gen_server:try_handle_call/4 (gen_server.erl, line 721)
      in call from gen_server:handle_msg/6 (gen_server.erl, line 750)
    ancestors: [system_monitor_pg,system_monitor2_sup,system_monitor_sup,
                  <0.4297.3>]
    message_queue_len: 0
    messages: []
    links: [<0.4303.3>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 1598
    stack_size: 29
    reductions: 734
  neighbours:
```
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi c69022f3c4 test(ci): clean config after test
Trying to fix this error for profile `emqx`:

```
=CRASH REPORT==== 30-Nov-2022::13:25:46.763989 ===
  crasher:
    initial call: application_master:init/4
    pid: <0.9682.1>
    registered_name: []
    exception exit: {bad_return,
                        {{emqx_conf_app,start,[normal,[]]},
                         {emqx_conf_schema,
                             [#{kind => validation_error,path => "bridges",
                                reason => unknown_fields,
                                unknown => <<"influxdb_api_v1">>,
                                unmatched => <<"mqtt,webhook">>}]}}}
      in function  application_master:init/4 (application_master.erl, line 142)
    ancestors: [<0.9681.1>]
    message_queue_len: 1
    messages: [{'EXIT',<0.9683.1>,normal}]
    links: [<0.9681.1>,<0.44.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 610
    stack_size: 29
    reductions: 195
  neighbours:

=INFO REPORT==== 30-Nov-2022::13:25:46.777895 ===
    application: emqx_conf
    exited: {bad_return,
                {{emqx_conf_app,start,[normal,[]]},
                 {emqx_conf_schema,
                     [#{kind => validation_error,path => "bridges",
                        reason => unknown_fields,
                        unknown => <<"influxdb_api_v1">>,
                        unmatched => <<"mqtt,webhook">>}]}}}
    type: temporary

%%% emqx_plugins_SUITE ==> init_per_suite: FAILED
%%% emqx_plugins_SUITE ==> {{failed_to_start_app,emqx_conf,
     {emqx_conf,
         {bad_return,
             {{emqx_conf_app,start,[normal,[]]},
              {emqx_conf_schema,
                  [#{kind => validation_error,path => "bridges",
                     reason => unknown_fields,
                     unknown => <<"influxdb_api_v1">>,
                     unmatched => <<"mqtt,webhook">>}]}}}}},
 [{emqx_common_test_helpers,start_app,4,
      [{file,
           "/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
       {line,227}]},
  {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
  {emqx_plugins_SUITE,init_per_suite,1,
      [{file,
           "/__w/emqx/emqx/source/apps/emqx_plugins/test/emqx_plugins_SUITE.erl"},
       {line,34}]},
  {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
  {test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1380}]},
  {test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1224}]}]}

%%% emqx_plugins_SUITE ==> t_bad_info_json: SKIPPED
%%% emqx_plugins_SUITE ==> {tc_auto_skip,
    {failed,
        {emqx_plugins_SUITE,init_per_suite,
            {'EXIT',
                {{failed_to_start_app,emqx_conf,
                     {emqx_conf,
                         {bad_return,
                             {{emqx_conf_app,start,[normal,[]]},
                              {emqx_conf_schema,
                                  [#{kind => validation_error,
                                     path => "bridges",
                                     reason => unknown_fields,
                                     unknown => <<"influxdb_api_v1">>,
                                     unmatched => <<"mqtt,webhook">>}]}}}}},
                 [{emqx_common_test_helpers,start_app,4,
                      [{file,
                           "/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
                       {line,227}]},
                  {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
                  {emqx_plugins_SUITE,init_per_suite,1,
                      [{file,
                           "/__w/emqx/emqx/source/apps/emqx_plugins/test/emqx_plugins_SUITE.erl"},
                       {line,34}]},
                  {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
                  {test_server,run_test_case_eval1,6,
                      [{file,"test_server.erl"},{line,1380}]},
                  {test_server,run_test_case_eval,9,
                      [{file,"test_server.erl"},{line,1224}]}]}}}}}
```
2022-12-12 17:18:13 -03:00
Thales Macedo Garitezi 34e9056779 refactor: fix typo in variable name
Might confuse people to think it's related to `replayq`.
2022-12-12 17:17:51 -03:00
Zaiming (Stone) Shi f8685e3a58
Merge pull request #9437 from zhongwencool/authn-env-failed
fix: set authentication array from ENV failed
2022-12-12 19:12:27 +01:00
Zhongwen Deng e57a1f2c8b fix: set authentication array from ENV failed 2022-12-12 14:18:30 +01:00
Erik Timan 0242d5f360 test: rename return_body to return_all in emqx_mgmt api test util 2022-12-12 13:29:11 +01:00
Erik Timan 8009f0a3a8 test: api returns for lwm2m client posts
Add test coverage for HTTP 204 returns from lwm2m client API
posts. This includes a small refactoring of the request functionality
in emqx_mgmt_api_test_util.
2022-12-12 13:28:24 +01:00
Erik Timan a8c9d02871 fix(emqx_gateway): return 204 for lwm2m client posts
Change the return for lwm2m client API posts from 200 to 204 since
they contain no content.
2022-12-12 13:28:24 +01:00
Stefan Strigler 6b22a074f0 refactor: move `/mqtt/sys_topics` to generic `/configs/sys_topics` 2022-12-12 13:25:42 +01:00
Zaiming (Stone) Shi c2eabfe5f7
Merge pull request #9523 from qzhuyan/fix/william/bridges-ingress-and-egress
Fix/william/bridges ingress and egress
2022-12-12 09:36:08 +01:00
Zaiming (Stone) Shi 61da68ff40 fix(emqx_schema): handshake_timeout is common for all listeners 2022-12-09 16:47:19 +01:00
William Yang 6b6bb09d4a fix: ingress only bridge causes egress bridge traffic stop 2022-12-09 15:36:20 +01:00
Stefan Strigler 85f54220b0
Merge pull request #9494 from sstrigler/EMQX-7992-post-trace-must-respond-with-409-on-duplicate-entry
fix: return 409 in case of duplicate
2022-12-09 15:10:23 +01:00
Zaiming (Stone) Shi 3084d1263b
Merge pull request #9519 from zmstone/1209-chore-merge-dev/ee5.0-to-release-50
1209 chore merge dev/ee5.0 to release 50
2022-12-09 14:29:13 +01:00
Stefan Strigler 2a27d2e781 fix: return 409 in case of duplicate 2022-12-09 13:33:34 +01:00
Zaiming (Stone) Shi 6a4fb1241b Merge remote-tracking branch 'origin/release-50' into 1209-chore-merge-dev/ee5.0-to-release-50 2022-12-09 12:54:16 +01:00
Stefan Strigler 1472cfefd0 fix: flip order of checks to return 404 before 400 2022-12-09 12:53:04 +01:00
Stefan Strigler 1f7c02ecf5 fix: return 400 if node in query doesn't look like a known node 2022-12-09 12:53:02 +01:00
Ilya Averyanov a26964291d
Merge pull request #9496 from savonarola/fix-auth-chain
Fix `emqx_authentication` hook cooperation with other hooks
2022-12-09 14:48:18 +03:00
Ilya Averyanov 7ae3ecfccb chore(retainer): optimize index writes 2022-12-09 14:42:43 +03:00
Ilya Averyanov cd0ae62995 fix(auth): fix emqx_authenticator cooperation with other 'client.authenticate' hooks 2022-12-09 13:57:48 +03:00
Zaiming (Stone) Shi 40809b2ad0 Merge remote-tracking branch 'origin/dev/ee5.0' into release-50 2022-12-09 11:45:52 +01:00
lafirest 3705d5bc73
Merge pull request #9505 from lafirest/fix/psk_r50
fix(psk): Add more PSK ciphers support
2022-12-09 00:00:52 +08:00
Zaiming (Stone) Shi e1f09d9899 Merge remote-tracking branch 'origin/release-50' into 1208-merge-release-50-back-to-master 2022-12-08 14:27:01 +01:00
firest dac8845b5d test(psk): add PSK ciphers test case 2022-12-08 11:41:57 +08:00
firest 21a908167d fix(psk): Add more PSK ciphers support 2022-12-08 11:41:42 +08:00
Zaiming (Stone) Shi dc14cd450d test: render config for emqx_conf only for ee bridge tests 2022-12-07 18:27:06 +01:00
Zaiming (Stone) Shi c9d84b2fda test: do not load emqx_conf app when it's not found
also remove stale code in emqx_common_test_helpers
2022-12-07 16:49:54 +01:00
Zaiming (Stone) Shi d89dbb7caa Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-07 16:24:13 +01:00
Zaiming (Stone) Shi f3b069a0d9 test: fix config load for lib-ee tests 2022-12-07 15:50:50 +01:00
Zaiming (Stone) Shi b897d64b75 test: fix emqx_frame_SUITE 2022-12-07 12:20:03 +01:00
Ilya Averyanov 6692b0c895 feat(bridge): add Redis bridge 2022-12-06 23:15:42 +03:00
Zaiming (Stone) Shi 31098d6c67 test: fix bridge api tests, metrics is now a separate api 2022-12-06 19:03:32 +01:00
Zaiming (Stone) Shi bd65e8aad6 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:42:50 +01:00
Zaiming (Stone) Shi 1c2fc4b6c3 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:35:56 +01:00
Stefan Strigler 0b324da7cb refactor: move metrics out of /rules(/:id) to /rules/:id/metrics 2022-12-06 15:23:28 +01:00
Zaiming (Stone) Shi 380b75d4a9
Merge pull request #9422 from emqx/1124-refactor-avoid-creating-atom-at-run
refactor: use static function references
2022-12-06 14:24:05 +01:00
Zaiming (Stone) Shi cca3421308 refactor: use static function references 2022-12-06 09:40:03 +01:00
lafirest 3e29e37691
Merge pull request #9477 from lafirest/fix/fuzzing_errors_v50
Fix/fuzzing errors v50
2022-12-06 08:22:46 +08:00
Zaiming (Stone) Shi 817554c7d7 refactor(emqx_frame): better error handling 2022-12-06 01:48:52 +08:00
Zaiming (Stone) Shi 16aeba24b7
Merge pull request #9472 from zmstone/1203-merge-release-50-to-master
1203 merge release 50 to master
2022-12-05 16:39:51 +01:00
firest 72669080a1 fix(frame): fix potential parse errors found by fuzzing test 2022-12-05 23:16:07 +08:00
Stefan Strigler 0be5c8e84b fix: Revert "refactor: return `204` instead of `200` for `PUT /authenticator/:id`"
This reverts commit 3bda905e92.
2022-12-05 15:52:16 +01:00
Stefan Strigler 2443500884 fix: return 404 for /telemetry/data in case it's disabled 2022-12-05 12:41:27 +01:00
Stefan Strigler 1ba66fc722 docs: /trace returns list not single trace 2022-12-05 11:50:52 +01:00
Stefan Strigler f8dd8d652d docs: add swagger error codes for /trace/:name/[log|download] 2022-12-05 11:50:52 +01:00
Stefan Strigler 9100b13db6 docs: fix schema for /trace/:name/log 2022-12-05 11:50:52 +01:00
Zhongwen Deng 64ab4ca025 test: add copy data dir test case 2022-12-05 16:25:28 +08:00
Stefan Strigler 3bda905e92 refactor: return `204` instead of `200` for `PUT /authenticator/:id` 2022-12-05 09:19:55 +01:00
Zhongwen Deng 9b37837c9c fix: don't save cert/authz zip on disk when emqx start 2022-12-05 16:12:21 +08:00
Zaiming (Stone) Shi 9fd1864d17 Merge remote-tracking branch 'origin/release-50' 2022-12-03 12:58:42 +01:00
Stefan Strigler 5b4feca3cb
Merge pull request #9419 from sstrigler/EMQX-7863-post-authentication-id
refactor: use PUT on `/position` to move authenticator
2022-12-02 14:07:59 +01:00
Erik Timan 485c4ddcab
Merge pull request #9393 from olcai/add-mysql-bridge-test
test: add basic mysql bridge test (ee5.0)
2022-12-02 09:43:22 +01:00
lafirest 4cc13c4aa5
Merge pull request #9133 from lafirest/fix/limiter_api
fix(limiter): add `limiter` back to the configs API
2022-12-02 10:06:03 +08:00
Zaiming (Stone) Shi eb017ab034 test: add test case to cover mqtt bridge config upgrade 2022-12-01 16:50:10 +01:00
Zaiming (Stone) Shi 9ea22d062d refactor: make all bridges optional (required = false) 2022-12-01 16:50:10 +01:00
Zaiming (Stone) Shi 7adb539ae1 chore: pin hocon 0.31.2 2022-12-01 16:50:10 +01:00
Erik Timan 28fc2b9ee9 fix(mgmt_api): add missing error codes in schema 2022-12-01 12:20:11 +01:00
Erik Timan 5461311edc test: more EE mysql bridge tests 2022-12-01 10:27:51 +01:00
Erik Timan 96bff1d32e test: improve basic tests for EE mysql bridge 2022-12-01 10:27:51 +01:00
firest 88a0c77707 fix(limiter): add `limiter` back to the configs API 2022-12-01 15:07:15 +08:00
Zaiming (Stone) Shi 9a6901987f feat: add mqtt bridge config upgrade converter 2022-11-30 21:01:59 +01:00
Zaiming (Stone) Shi 983e904858 fix(connector): fix ssl clear 2022-11-30 17:03:41 +01:00
firest 81586a4c8d chore: bump connector version 2022-11-30 23:14:54 +08:00
firest 51ace31f30 fix(connector): fix previous incorrectly fixes
There was an error in the try_clear_certs2/3 clause that the argument isn't the ssl field but including it.
2022-11-30 22:14:44 +08:00
zhongwencool 5a2265a286
Merge pull request #9407 from v-zhuravlev/master
Update grafana dashboards
2022-11-30 17:03:39 +08:00
Stefan Strigler b124e64399 refactor: use PUT on `/position` to move authenticator 2022-11-29 17:28:37 +01:00
lafirest e6e559710b
Merge pull request #9432 from lafirest/fix/exhook_ssl_management
fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update
2022-11-29 22:32:10 +08:00
Zaiming (Stone) Shi 311e4cd583
Merge pull request #9440 from zmstone/1128-chore-sync-release-branch-back-to-master
1128 chore sync release branch back to master
2022-11-29 11:47:01 +01:00
firest 606389edd2 chore: update changes && bump version 2022-11-29 10:41:21 +08:00
firest f9bc700498 fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update 2022-11-29 10:40:08 +08:00
Zaiming (Stone) Shi b398617614 chore: bump app versions 2022-11-28 21:12:43 +01:00
Zaiming (Stone) Shi 77341e7a3c chore: bump app versions 2022-11-28 21:06:33 +01:00
Zaiming (Stone) Shi 9f3a9efbad Merge remote-tracking branch 'origin/release-v50' 2022-11-28 21:02:39 +01:00
Zaiming (Stone) Shi 7ee53e5319 Merge tag 'v5.0.11' into dev/ee5.0 2022-11-28 21:02:21 +01:00
Erik Timan 2582c1713e fix: emqx_topic:join/1 instead of filename:join/1
filename:join/1 doesn't work on Windows for joining a topic. We now use
emqx_topic:join/1 instead.
2022-11-28 11:00:18 +01:00
Erik Timan 95faf56077 feat: remove $queue in favor of $shared
This commit removes support for setting shared subscriptions with the
non-standard $queue feature. Shared subscriptions is now part of the MQTT
spec (using $shared) and we will only support that from now on.
2022-11-28 11:00:18 +01:00
Zaiming (Stone) Shi 05719daff2 chore: bump version to v5.0.11 2022-11-27 11:15:28 +01:00
Zaiming (Stone) Shi 970b3eb1a0 chore: bump to version v5.0.11-rc.1 2022-11-26 15:51:38 +01:00
Vitaly Zhuravlev 5c9fff43a2 chore: add proper units for rates on the dashboard 2022-11-25 19:12:36 +03:00
Vitaly Zhuravlev 5af1d6662f chore: update grafana dashboards 2022-11-25 19:12:25 +03:00
Zhongwen Deng 65a1f90f58 Merge branch 'global-gc-interval' of https://github.com/zhongwencool/emqx into global-gc-interval 2022-11-25 16:39:02 +08:00
Zhongwen Deng 28bede0377 chore: update i18n en description 2022-11-25 16:38:40 +08:00
zhongwencool 2fbd6c9690
Merge branch 'master' into global-gc-interval 2022-11-25 12:06:16 +08:00
lafirest 345fa65241
Merge pull request #9416 from lafirest/fix/emqx_ctl
fix(ctl): fix unsafe `list_to_atom`
2022-11-25 09:58:07 +08:00
Zhongwen Deng 59ac5320b1 chore: update emqx_conf/emqx_machine version 2022-11-25 07:33:08 +08:00
Zaiming (Stone) Shi 6ee475d9b1 fix(emqx_authz_api_mnesia): return the right matchers 2022-11-24 20:32:00 +01:00
JianBo He dbdb78d38a chore: clarify the case when count returns zero 2022-11-24 20:28:50 +01:00
JianBo He edb35c08a8 chore: refactor ms2qs function type 2022-11-24 20:14:33 +01:00
JianBo He 9786a6c267 refactor(mgmt): convert fuzzy filter func to named func 2022-11-24 20:14:33 +01:00
JianBo He ffb3f2d2d2 chore: change emqx_live_connection tab type to ordered_set
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-24 20:14:33 +01:00
JianBo He 6d9e1e0d7a test(mgmt): cover emqx_mgmt_api:cluster_query 2022-11-24 20:14:33 +01:00
JianBo He 36de83a50a feat(cm): change emqx_channel_info to ordered_set table 2022-11-24 20:14:33 +01:00
JianBo He b9c5a5f822 fix(delayed): return correct node name 2022-11-24 20:14:33 +01:00
JianBo He 0c1412315c chore(bpapi): ignore emqx_mgmt_api:collect_total_from_tail_nodes/3 2022-11-24 20:14:33 +01:00
JianBo He 79a2682fd3 chore: improve the no-conditions query 2022-11-24 20:14:33 +01:00
JianBo He 8a0c468b01 test: refine tests for lots of List HTTP API 2022-11-24 20:14:33 +01:00
JianBo He 09958d9a33 chore: fix diaylzer warnings 2022-11-24 20:14:33 +01:00
JianBo He 9c7bf9d601 chore: update app.src 2022-11-24 20:14:33 +01:00
JianBo He 8f7337c9d2 chore: return undefined fuzzy searching func 2022-11-24 20:14:33 +01:00
JianBo He 28d391f26c fix(mgmt): collect total number in node_query/cluster_query 2022-11-24 20:14:33 +01:00
JianBo He 1fe9c105aa refactor(mgmt): smplify the node_query/cluster_query implementation 2022-11-24 20:14:33 +01:00
JianBo He 08121e7df6 fix(mgmt): optimize the speed of query tail pages
In the previous, when you query the tail pages, all the front of rows
will be queried out and formatted. It greatly hurts the speed of query.

Currently, we only format the final result rows. i.e, the query for the
last page of data will be 10x faster.
2022-11-24 20:14:33 +01:00
Zaiming (Stone) Shi 6837af2308
Merge branch 'release-v50' into 0720-feat-direct-deny-when-anonymous-is-not-allowed 2022-11-24 16:07:58 +01:00
Stefan Strigler 08163feed7
Merge pull request #9401 from sstrigler/EMQX-7751-support-message-properties
EMQX 7751 support message properties
2022-11-24 14:04:25 +01:00
Zhongwen Deng 70b6397ada feat: support node.global_gc_interval=disabled 2022-11-24 20:35:41 +08:00
firest 03fb543ba8 fix(ctl): fix unsafe `list_to_atom`
A command can be called only when it is exists
2022-11-24 17:28:53 +08:00
firest 2bc8b00419 feat(authn): support quick deny anonymous 2022-11-24 09:44:19 +01:00
Zaiming (Stone) Shi b879c935eb
Merge pull request #9404 from JimMoen/fix-typo-50
fix(typo): typo in code
2022-11-24 09:39:43 +01:00
firest fc2793c300 fix: fix upside down function clause 2022-11-24 10:37:52 +08:00
Zhongwen Deng 282e6ff218 chore: set channel info once 2022-11-24 09:59:39 +08:00
Zaiming (Stone) Shi 67cef65fdb refactor(emqx_connector_ssl): simplify implementation 2022-11-23 23:49:43 +01:00
Zaiming (Stone) Shi 6f67e3b333 feat(emqx_map_lib): add a binary_key_map help function 2022-11-23 23:49:43 +01:00
firest 6dc5078a96 fix: fix obsolete SSL files aren't deleted after the bridge configuration update 2022-11-23 23:49:43 +01:00
Stefan Strigler afcb33aa20 feat: support publish with properties 2022-11-23 17:04:35 +01:00
Stefan Strigler acef85e11a test: initialize clients in test setup, teardown after test 2022-11-23 17:03:43 +01:00
Zaiming (Stone) Shi cded5fc6cf
Merge pull request #9398 from emqx/1121-rule-bridge-properties
1121 rule bridge properties
2022-11-23 15:12:24 +01:00
firest 1719414c04 chore: update app versions 2022-11-23 11:42:49 +08:00
firest 19405114e2 fix: fix newly found unsafe `binary_to_atom` 2022-11-23 11:07:20 +08:00
Zaiming (Stone) Shi f3df2c80d8 feat: add user_properties arg for republish action 2022-11-22 20:09:59 +01:00
kraftwerk28 00c57de4c3 feat: do not drop MQTTv5 properties in rule/bridge 2022-11-22 20:09:59 +01:00
firest 118a97a0d8 fix: change the defualt value of `max_topic_levels` to 128 2022-11-22 18:45:44 +08:00
JimMoen c21fa3c339
fix(typo): typo in code 2022-11-22 09:51:30 +08:00
JianBo He fcbf1bc890 fix(will-msg): fix mountpoint not working for will-msg. 2022-11-21 21:41:00 +08:00
zhongwencool 966e6ddeeb
Merge pull request #9363 from zhongwencool/statsd-update-api
refactor: emqx_statsd hot update
2022-11-21 17:26:26 +08:00
zhongwencool 0dbeab88a2
chore: update emqx_statsd.app.src descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-21 14:38:59 +08:00
Zhongwen Deng 1845e472e0 fix: create trace sometime failed by end_at time has already passed 2022-11-21 09:54:36 +08:00
zhongwencool 4ed0e9e2a5
Merge branch 'master' into statsd-update-api 2022-11-21 09:31:05 +08:00
Zaiming (Stone) Shi 458d23ebc4 chore: bump version to v5.0.0-beta.5 2022-11-20 09:11:53 +01:00
Zaiming (Stone) Shi 83fe35b148 Merge remote-tracking branch 'origin/dev/ee5.0' into 1116-sync-v5.0.10-to-ee50 2022-11-18 19:23:31 +01:00
Zhongwen Deng 65820eb943 fix: can't get default raw config 2022-11-18 15:07:23 +08:00
Zhongwen Deng d36de9ac50 refactor: emqx_statsd hot update 2022-11-18 10:43:22 +08:00
lafirest 4ce3d43446
Merge pull request #9386 from lafirest/fix/flaky_banned_case
test: fix flaky banned case
2022-11-17 21:29:45 +08:00
Ilya Averyanov e301ca09d5
Merge pull request #9373 from savonarola/fix-access-test
chore(acl): fix acl test
2022-11-17 18:06:43 +05:00
firest 7b93b166dc test: fix flaky banned case
since this suite has changed its start method to the `emqx_common_test_helpers:start_apps/1`, the `emqx_banned` server will never stop (its restart type is permanent), thus there is no need to manually start or stops it.
2022-11-17 14:48:25 +08:00
Zaiming (Stone) Shi e5ced07665 fix: add no_return function spec to make dialyzer happy 2022-11-16 19:07:51 +01:00
Zaiming (Stone) Shi 7305923d12 fix: bridge name parser should not leak atom 2022-11-16 18:25:42 +01:00
Zaiming (Stone) Shi c940b901f5 chore: fix app versions 2022-11-16 16:26:43 +01:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
Stefan Strigler 9cc5920b0d refactor: only PUT, no POST for '/gateways' 2022-11-16 15:58:59 +01:00
Stefan Strigler 2914523117 style: remove unused import 2022-11-16 15:57:16 +01:00
Stefan Strigler 07347e3f9e style: fix typo in comment 2022-11-16 15:57:15 +01:00
Thales Macedo Garitezi 2ae0125562 test(refactor): encode toxiproxy payloads with emqx_json 2022-11-16 10:57:13 -03:00
lafirest 780013d5fe
Merge pull request #9367 from lafirest/feat/kick_when_is_banned
feat(banned): kick session when it is banned by clientid
2022-11-16 21:53:56 +08:00
firest b1889fa203 chore: bump emqx version && update changes 2022-11-16 18:00:32 +08:00
firest 085074ac41 feat(banned): kick session when it is banned by clientid 2022-11-16 18:00:22 +08:00
Ilya Averyanov 25c32dd2f5 chore(acl): fix acl test 2022-11-15 23:30:19 +03:00
firest c079760b0a fix(JWT): make the `exp` to be optional claim 2022-11-15 15:41:01 +08:00
firest d9e7d36580 chore: bump version && update changes 2022-11-14 09:45:38 +08:00
firest 2f4b2ba405 fix(mgmt_api): Convert only what is needed when parsing subscription information 2022-11-14 09:44:22 +08:00
Stefan Strigler b5a84b8b0f test: increase timeout creating listeners 2022-11-11 13:34:46 +01:00
Stefan Strigler 12ba831246 fix(emqx_authn_api): return 404 for status of unknown authenticator
This also makes sure we call the same code everytime we access an authenticator.
Moreover we return a 500 in case a remote call fails due to technical issues.
2022-11-11 13:34:44 +01:00
firest 6b0de714bc chore: bump retainer version 2022-11-11 17:51:20 +08:00
firest 4290847b9d feat: filter out messages which the source client is banned when delivering the retained message 2022-11-10 10:21:21 +08:00
Zaiming (Stone) Shi c19462cb87
Merge pull request #9327 from JimMoen/fix-disconnect-hook-by-takenover
fix(channel): session takenover & discarded maybe call disconnect hook
2022-11-09 08:25:44 +01:00
Zaiming (Stone) Shi 354b94fc2d test: ensure all modules start 2022-11-08 20:59:24 +01:00
Zaiming (Stone) Shi aa215904a9
Merge branch 'master' into authz-api-fixes 2022-11-08 18:13:15 +01:00
Zaiming (Stone) Shi 30d9143b0e
Merge pull request #9310 from sstrigler/fix-configs-api-for-bad-nodes
fix(emqx_mgmt_api_configs): use 'node' query paramter if given
2022-11-08 18:10:43 +01:00
Zaiming (Stone) Shi 467010e3d3 chore: bump emqx_authz app vsn 2022-11-08 17:40:34 +01:00
Stefan Strigler 0678e05e84 style: fix message returned for 404
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-08 17:40:34 +01:00
Stefan Strigler ba1e19f068 fix(emqx_authz_api_sources): make schema fit to what we send 2022-11-08 17:40:34 +01:00
Stefan Strigler e0ed0855ff fix(emqx_authz_api_sources): return 'code' in response body for 404 2022-11-08 17:40:34 +01:00
JimMoen 4f00206693
test: different resons for disconnect event 2022-11-08 23:22:58 +08:00
JimMoen 2cd457e07c
fix(channel): session takenover & discarded maybe call disconnect hook 2022-11-08 23:22:58 +08:00
firest dd7d4224ce feat(delayed): check if the source client is banned when publishing a delayed message 2022-11-08 16:32:24 +08:00
firest ebaba0c2b1 fix: Revert "feat(banned): clean retained/delayed data when client is banned"
This reverts commit 69701ff578.
2022-11-08 11:36:11 +08:00
Thales Macedo Garitezi 04588148b7 test(influxdb): increase influxdb bridge/connector coverage (ee5.0) 2022-11-07 15:15:49 -03:00
Stefan Strigler 1fb441dd9e test: add tests for 'configs?node' 2022-11-07 14:12:21 +01:00
Stefan Strigler 104b1a63d9 test: pass down Opts in request_api/X 2022-11-07 14:12:21 +01:00
Stefan Strigler 8b10b78bce fix(emqx_mgmt_api_configs): use 'node' query paramter if given
also fix result in error case - be compliant to schema and also return correct
http status code
2022-11-07 14:12:20 +01:00
firest bd13ae0ad6 fix(acl): Check the real topic in delayed messages
We need to check the true topic of the delayed message correctly
the cheapest way to do this is to extract the true topic from the original topic when doing ACL check
2022-11-04 10:51:52 +08:00
lafirest 1580f02045
Merge pull request #9286 from lafirest/fix/list_to_atom
fix: use list_to_existing_atom to replace some risky list_to_atom
2022-11-04 09:46:58 +08:00
Zaiming (Stone) Shi e9d31b2f4a
Merge pull request #9268 from sstrigler/EMQX-7817-fix-unexpected-400
Fix unexpected 400
2022-11-03 12:06:38 +01:00
firest 14c8b5ebb1 fix(mgmt): Ensure the CLI will not create useless atom
The log level, the log handler id and the listener id  all of them already exist,
so it's better to avoid the user create a useless atom by mistake input
2022-11-02 16:50:43 +08:00
firest bb7476d3af fix(listeners): Constraints the atom convert when parsing the esockd access rules
esockd rules only use words 'allow' and 'deny', both are existing,
so it is better to restrict the conversion and print a log when errors
2022-11-02 14:45:47 +08:00
lafirest 5886db08e0
Merge pull request #9279 from lafirest/fix/binary_to_atom
fix: use binary_to_existing_atom to replace some risky binary_to_atom
2022-11-02 10:57:05 +08:00
Thales Macedo Garitezi b6445cdc14 test: remove unused var warning 2022-11-01 16:53:20 -03:00
Stefan Strigler 612e5acea8 fix: return 404 instead of 400 for unknown gateway 2022-11-01 11:04:29 +01:00
firest 3cc76c0adf fix(coap): Ensure that the retain flag is a boolean value 2022-11-01 17:28:40 +08:00
firest 60492615ba fix(API): Ensure that the node name is known 2022-11-01 17:28:34 +08:00
firest d0687c7aaa fix(connector): keep connector name type as binary don't convert it to atom
After investigation, it was confirmed that there was no need to convert the connector name to atom
2022-11-01 15:36:31 +08:00
firest 6c52d5de1f fix(bridge): Ensure that the node name is known 2022-11-01 15:36:10 +08:00
firest 73b4ac9f65 fix(bridge): keep bridge name type as binary don't convert it to atom
After investigation, it was confirmed that there was no need to convert the bridge name to atom
2022-11-01 11:24:24 +08:00
Thales Macedo Garitezi 198ddda8bc docs(status_api): add remark about feature introduction versions 2022-10-31 14:10:09 -03:00
Thales Macedo Garitezi 935513d38c docs(fix): remove dynamic example paths from api docs 2022-10-31 14:02:33 -03:00
Thales Macedo Garitezi 12addc2118
Merge pull request #9230 from thalesmg/status-endpoint-alias-50
feat(mgmt): add alias endpoint for health check
2022-10-31 10:22:17 -03:00
Ivan Dyachkov aeca8833f5
Merge pull request #9250 from id/fix-typo-in-http-error-code
fix: typo in http error code
2022-10-31 10:23:55 +01:00
Zaiming (Stone) Shi ccff64f2c1 docs: re-group api tags for gateway apps 2022-10-31 09:01:44 +01:00
Zaiming (Stone) Shi a0cd344752
Merge pull request #9258 from sstrigler/master
Re-UP fix(emqx_gateway_api): don't crash on unknown status
2022-10-28 22:18:10 +02:00
Zaiming (Stone) Shi f906a5527a
Merge pull request #9228 from zmstone/1025-fix-drop-tuple-header-values
fix(emqx_rule_events): drop tuple-value from message headers
2022-10-28 14:00:57 +02:00
JianBo He d995842f36
Merge branch 'master' into fix-gw-api-erros 2022-10-28 10:18:21 +08:00
Zhongwen Deng 18235a7125 chore: update emqx_managment bpapi.versions 2022-10-28 09:16:05 +08:00
Zhongwen Deng af79e652da chore: clear dialyzer warning. 2022-10-28 09:16:05 +08:00
Zhongwen Deng ea95f792e0 refactor: multicall node_info to improve /node speed 2022-10-28 09:14:33 +08:00
Zaiming (Stone) Shi d704de4a84 fix(emqx_rule_events): drop tuple-value from message headers
the message headers are fed to a JSON ecnoder which
may crash if the header value is a tuple
2022-10-27 20:31:33 +02:00
Zaiming (Stone) Shi 4cadb86b18 docs: fix typos 2022-10-27 20:09:31 +02:00
Thales Macedo Garitezi d0ca79fc9e feat(mgmt): add alias endpoint for health check
This allow use to reference `/status` in the API documentation without
manually editing the `swagger.json` file.
2022-10-27 13:20:04 -03:00
Ivan Dyachkov d4adf8532e fix: typo in http error code 2022-10-27 18:14:46 +02:00
Thales Macedo Garitezi c72f3a0ae9
Merge pull request #9211 from thalesmg/fix-mgmt-endpoint-status-code-v50
fix(mgmt_api): return 503 when emqx is not running in `/status` (5.0)
2022-10-27 11:11:00 -03:00
Zaiming (Stone) Shi 3e3653ab22
Merge pull request #9246 from zmstone/1027-fix-docs-br-tag
1027 fix docs br tag
2022-10-27 15:00:00 +02:00
zhongwencool 571420d8c6
Merge pull request #9235 from zhongwencool/improve-prometheus
refactor: update emqx_prometheus via emqx_config_handler
2022-10-27 20:12:24 +08:00
Zaiming (Stone) Shi c157392452 docs: fix self-closing html tag, change </br> to <br/> 2022-10-27 13:57:18 +02:00
Stefan Strigler ef5687d465 fix(emqx_gateway_api): don't crash on unknown status 2022-10-27 12:35:15 +02:00
Zaiming (Stone) Shi fd2a3f816e
Merge pull request #9238 from zmstone/1026-fix-docs
docs: fix zh punctuations
2022-10-27 10:39:22 +02:00
Zaiming (Stone) Shi bb6c3ed4ae docs: fix more zh translation desc 2022-10-27 08:39:58 +02:00
Zaiming (Stone) Shi a314950be9 docs: fix zh punctuations 2022-10-26 16:19:38 +02:00
Zhongwen Deng d6dfead31d fix: prometheus ct failed 2022-10-26 22:05:20 +08:00
Zhongwen Deng 3233a40af3 chore: don't delete bpapi when 5.0.x 2022-10-26 21:58:51 +08:00
Zhongwen Deng 97124be63a chore: add next_push_ms to emqx_prometheus:info/0 2022-10-26 21:32:19 +08:00
Zhongwen Deng 1757342e5b chore: make dialyzer happy 2022-10-26 21:32:19 +08:00
Zhongwen Deng e22f8ff2a8 refactor: sync emqx_prometheus via emqx_config_handler 2022-10-26 21:31:19 +08:00
ieQu1 6c8936467e chore(ekka): Bump version to 0.13.6 2022-10-26 12:08:14 +02:00
Thales Macedo Garitezi 0eca531e64 feat: add `retry-after` headers to unavailable response 2022-10-25 15:01:05 -03:00
zhongwencool 049f988642
chore: update apps/emqx_conf/src/emqx_conf_schema.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-25 22:07:48 +08:00
Zhongwen Deng 4c5e64d5a3 feat: hibernate after send data to prometheus push_gateway 2022-10-25 12:27:25 +08:00
Zhongwen Deng 8578024637 chore: bump emqx_prometheus to 5.0.3 2022-10-25 11:21:16 +08:00
Zhongwen Deng 6710736243 feat: add prometheus collectors config 2022-10-25 09:41:58 +08:00
Thales Macedo Garitezi 997a262c96 fix(mgmt_api): return 503 when emqx is not running in `/status` (5.0) 2022-10-24 14:53:41 -03:00
Zaiming (Stone) Shi 93195f7b5b chore: fix introduced_in for new proto APIs 2022-10-24 11:53:51 +02:00
Zaiming (Stone) Shi 637bc886bb chore: bump release version to 5.0.10 2022-10-24 11:49:20 +02:00
Zaiming (Stone) Shi e3240b52a8 chore: bump app versions 2022-10-24 11:48:17 +02:00
Zaiming (Stone) Shi 508c0e84d0 Merge branch 'release-v50' into master 2022-10-24 11:46:31 +02:00
Zaiming (Stone) Shi 11daaa08e2 chore: bump version numbers to 5.0.9 2022-10-24 09:42:25 +02:00
Zaiming (Stone) Shi fa5d756ae6
Merge pull request #9186 from HJianBo/more-understanderable-trans
chore(docs): translate Max Awaiting PUBREL confs
2022-10-21 17:29:28 +02:00
Zaiming (Stone) Shi ca052bd0f4
docs: Update apps/emqx/i18n/emqx_schema_i18n.conf 2022-10-21 17:28:49 +02:00
Zaiming (Stone) Shi 918c011e33
Merge pull request #9198 from lafirest/test/rmv_unused_test_case
test(shared_sub): remove redundant test case
2022-10-21 12:36:52 +02:00
ieQu1 9d650a69b8 fix(gen_rpc): Fix Chinese translation 2022-10-21 10:25:22 +02:00
JianBo He 0f03449b43
chore: improve max_awating_rel_timeout conf docs
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-10-21 16:08:09 +08:00
JianBo He 49dd25cb14 chore: make spellcheck happy 2022-10-21 14:38:46 +08:00
firest 1d564ab8d5 test(shared_sub): remove redundant test case 2022-10-21 14:37:46 +08:00
Zaiming (Stone) Shi 0ca4f30a34
Merge pull request #9193 from zmstone/1020-chore-upgrade-gun-1.3.9
1020 chore upgrade gun 1.3.9
2022-10-21 08:13:21 +02:00
JianBo He 6d232fda5c chore(i18n): improve the max_awaiting_rel desc 2022-10-21 10:27:20 +08:00
JianBo He 72a228c521
chore: update apps/emqx/i18n/emqx_schema_i18n.conf
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-10-21 09:53:31 +08:00
Zaiming (Stone) Shi d1332b72e7 feat(api/publish): return detailed publish results
Prior to this change, the publish API returns 200 in most of
the cases.
This change provides more insights to the publish result.

For single message publish endpoint (`publish/`):

HTTP error codes are:

200: Everything is OK
202: No subscriber for the topic
400: When mesage is invalid message.
     e.g. bad topic name or QoS out of range.
503: Failed to dispatch the message. e.g. during EMQX restart.

The response body is a JSON object with two fields
`message_id`, and `publish_result`.
The `message_id` is a globally unique ID for tracing.
`publish_result` is `"OK"` when the message is delivered
to at least one subscriber.
Otherwise `"no_subscriber"`.
`publish_result` may also be some other informative
message to hint the failure result, the content of which
may change in the future.

For `publish/bulk` endpoint:

200: When all message in the bulk are published OK
202: If at least one message in the bulk had `"no_subscriber"` result
400: When mesage is invalid message. e.g. bad topic name or
     QoS out of range.
503: When there is at least one message failed at dispatch.

The reply body is a list of JSON objects having the same layout
as for hte `publish` endpoint.
2022-10-20 20:03:27 +02:00
Zaiming (Stone) Shi b3ffe89f35 test: assert message receive pid is in the expected pids list 2022-10-20 19:10:45 +02:00
ieQu1 d0120e1edc chore(gen_rpc): Bump version to 3.0.0 2022-10-20 16:32:06 +02:00
JianBo He fa020d036f chore(docs): translate Max Awaiting PUBREL confs 2022-10-20 20:14:36 +08:00
Zaiming (Stone) Shi c7a90d73b2 fix(shared): do not redispatch shared messages for certain shutdown
For takeover, there should be no message re-dispatch because
the messages will be retried by the new session.

For kick, messages should not be re-dispatched for security reason.
i.e. if admin has identified that there are malicious messages
stored in persisted sessions, killing the session should not
cause messages to be re-dispatched
2022-10-20 13:51:48 +02:00
lafirest c0c2657a80
Merge pull request #9139 from lafirest/fix/clean_blocked_user_data
feat(banned): clean retained/delayed data when client is banned
2022-10-20 18:00:48 +08:00
lafirest 0546cd3d1a
Merge pull request #9123 from lafirest/fix/kick_seesion_redispatch
fix(shared_sub): kick session should not cause session message redispatch
2022-10-19 09:47:10 +08:00
Thales Macedo Garitezi 62eeb4b8e8 feat(resource): reset metrics when stopping a resource 2022-10-18 09:32:35 -03:00
firest 7b3c67fbe9 test(shared_sub): ensure snabbkaffe will be stopped 2022-10-18 13:47:57 +08:00
firest bdaadda479 fix(banned): fix nit code 2022-10-18 13:39:48 +08:00
firest 3f1f244310 fix: fix bpapi versions 2022-10-18 13:39:48 +08:00
firest b2eed47976 chore: bump retainer version && update CHANGES 2022-10-18 13:36:08 +08:00
firest 69701ff578 feat(banned): clean retained/delayed data when client is banned 2022-10-18 13:35:09 +08:00
Zhongwen Deng c0ed8b82aa Merge branch 'trace-log-detail-api' of https://github.com/zhongwencool/emqx into trace-log-detail-api 2022-10-17 09:49:55 +08:00
zhongwencool 77a5125366
chore: update apps/emqx_management/src/emqx_mgmt_api_trace.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-17 09:45:00 +08:00
Zhongwen Deng 58b990064c chore: update bpapi.verions 2022-10-17 09:43:17 +08:00
Zhongwen Deng 4d9cae0387 feat: get trace file's detail via /trace/:name/log_detail 2022-10-17 09:43:15 +08:00
zhongwencool bc0cc80d32
Merge pull request #8924 from zhongwencool/authn-config-check
fix: authentication should be array, not struct
2022-10-17 09:14:05 +08:00
Ivan Dyachkov f2db35db39 chore: delete unused function clause 2022-10-14 10:46:11 +02:00
zhongwencool bfc780f95b
Merge branch 'master' into authn-config-check 2022-10-14 16:36:50 +08:00
Ivan Dyachkov 5a8cab46a9 test: update publish api test suite 2022-10-14 10:17:22 +02:00
Zaiming (Stone) Shi c2f176c1e7 fix(api): publish API only returns message ID 2022-10-14 09:49:46 +02:00
Zhongwen Deng a02fea0a19 chore: update bpapi.verions 2022-10-14 15:16:09 +08:00
Zhongwen Deng 4579d7fff8 feat: get trace file's detail via /trace/:name/log_detail 2022-10-14 11:38:39 +08:00
Thales Macedo Garitezi 2d01726b22 fix: account calls when resource is not connected as matched 2022-10-13 15:32:04 -03:00
Thales Macedo Garitezi 1b2b629cdd feat: emit telemetry events for all resource worker metrics 2022-10-13 15:32:04 -03:00
JianBo He 56000cbf3e refactor: more rigorous checking of flapping to improve stability of the system
port: https://github.com/emqx/emqx/pull/9045
2022-10-12 10:03:47 +08:00
JianBo He 5a66c8b117
Merge pull request #9082 from HJianBo/update-api-docs
chore(i18n): enrich HTTP API desc
2022-10-12 09:36:11 +08:00
Thales Macedo Garitezi f0ff32c031 test: fix tests after counter changes 2022-10-11 17:45:48 -03:00
Thales Macedo Garitezi 357e5919ce chore: add copyright disclaimer 2022-10-11 09:51:16 -03:00
Kjell Winblad 57270fb8fc feat: add support for counters and gauges to the Kafka Bridge
This commit adds support for counters and gauges to the Kafka Brige.
The Kafka bridge uses [Wolff](https://github.com/kafka4beam/wolff) for
the  Kafka connection. Wolff does its own batching and does not use the
batching functionality in `emqx_resource_worker` that is used by other
bridge types. Therefore, the counter events have to be generated by
Wolff. We have added
[telemetry](https://github.com/beam-telemetry/telemetry) events to Wolff
that we hook into to change counters and gauges for the Kafka bridge. The
counter called `matched` does not depend on specific functionality of
any bridge type so the updates of this counter is moved higher up in the
call chain then previously so that it also gets updated for Kafka
bridges.
2022-10-10 14:40:57 -03:00
firest b4eb0f18f9 fix(shared_subs): rename redispatch function name and simply test case 2022-10-10 18:06:55 +08:00
firest f0769cb765 fix(shared_sub): kick session should not cause session message redispatch 2022-10-10 13:52:09 +08:00
Zaiming (Stone) Shi 63774ba5d3
Merge pull request #9104 from zmstone/1005-fix-shared-sub-dispatch
fix(shared): re-dispatch inflight (QoS1) and mqueue messages
2022-10-09 11:41:30 +02:00
lafirest d600c870af
Merge pull request #9060 from lafirest/fix/delayed_pub
fix(delayed): Improve time precision of delayed messages
2022-10-09 10:39:31 +08:00
Zaiming (Stone) Shi 1c29e2806a test(shared): add a test case to ensure shared dispatch retry
to ensure retry will not enter a dead loop
2022-10-05 22:33:49 +02:00
Zaiming (Stone) Shi e8279a02ef fix(shared): re-dispatch inflight (QoS1) and mqueue messages
when session terminates (not due to take over)
shared delivery should be re-dispatched to other members
in the group
2022-10-05 22:33:48 +02:00
Zaiming (Stone) Shi abb941d161 docs: remove port 8081
port 8081 is the management API in 4.x
in 5.0 api port is 18083 (same as for serving the dashboard)
2022-10-05 17:15:19 +02:00
JianBo He d43b680f14 chore: add comments to explain`/status` cant be found in swagger docs 2022-10-01 09:40:27 +08:00
JianBo He 7d7b05ae4e chore: update app.src 2022-09-30 23:32:23 +08:00
JianBo He 93d3fec73f chore(i18n): correct tags name 2022-09-30 23:14:19 +08:00
JianBo He 6589a66710 Merge branch 'update-api-docs' of github.com:HJianBo/emqx into update-api-docs 2022-09-30 23:05:07 +08:00
JianBo He a84c6f938c chore(swagger): caption tags name 2022-09-30 23:04:26 +08:00
JianBo He 9c6c13789e
chore: update apps/emqx_gateway/i18n/emqx_gateway_api_authn_i18n.conf
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-09-30 23:03:01 +08:00
JianBo He 8292572da6
chore: apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-09-30 23:02:28 +08:00
JianBo He d17c473dc2 chore(i18n): fix the bad desc for statsd 2022-09-30 18:57:08 +08:00
JianBo He 5b219deb4a Merge remote-tracking branch 'zibo/chore/api-desc' into update-api-docs 2022-09-30 18:48:05 +08:00
zhouzb 0975bf21a9 docs: improve api desc for statsd 2022-09-30 17:55:12 +08:00
JianBo He 5fa1e63392 chore(gw): update HTTP API docs for gateway 2022-09-30 17:44:36 +08:00
zhouzb f08982be93 chore: improve api desc for alarms 2022-09-30 15:34:49 +08:00
zhouzb d1a15f1a43 chore: improve api descs for banned 2022-09-30 15:05:01 +08:00
Zaiming (Stone) Shi 242a69359c
Merge pull request #9047 from HJianBo/remove-colon-port
Improve the `ip_port()` definition and `bind` print format
2022-09-29 05:56:50 +02:00
JianBo He 834910b6f6 chore: update app.src 2022-09-27 17:24:44 +08:00
JianBo He 39ad172377 chore: replace ip_port() wuth host_port() for all connectors 2022-09-27 15:19:42 +08:00
JianBo He 6581911d5c Merge remote-tracking branch 'stone/0922-upgrade-ip-port-schema' into remove-colon-port 2022-09-27 15:08:27 +08:00
Zaiming (Stone) Shi 00e4b4da5a fix(schema): support hostname.domain:port for mqtt bridge 2022-09-27 09:02:49 +02:00
firest 56816559d9 chore: bump emqx_modules && update CHANGES 2022-09-27 13:39:25 +08:00
firest 6836a502ac fix(delayed): Improve time precision of delayed messages
Use milliseconds internally in emqx_delayed to store the publish time, improving precision
2022-09-27 13:24:54 +08:00
JianBo He 607f68bab1 chore(schema): don't automaticly add ipv4 address if configured as
`:1883`
2022-09-27 13:01:39 +08:00
JianBo He 03eaa07c02 chore: add more comments for bind display perference 2022-09-27 12:51:00 +08:00
Thales Macedo Garitezi 129f09f88b chore: remove extra information from denied lwt log 2022-09-26 15:23:59 -03:00
Shawn 19e3f5919e chore: release e5.0.0-beta.4 2022-09-26 19:54:01 +08:00
Shawn dfe14be8b2 chore: bump app vsns 2022-09-26 18:23:28 +08:00
JianBo He c9904e78aa chore: remove colon port in HTTP-API and CLI
In the https://github.com/emqx/emqx/pull/8571, we add a colon before the
port. But it was not popular, so we removed ta in this PR
2022-09-26 17:30:54 +08:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
Zaiming (Stone) Shi f6ac4c3a76
Merge pull request #8798 from zmstone/0815-feat-add-kafka-connector
feat: Add Kafka connector
2022-09-24 22:57:50 +02:00
Shawn d24441b204 fix(bridges): some issues found in code review 2022-09-23 18:32:39 +08:00
Zaiming (Stone) Shi 7b601bf970 chore: delete bad parse_bridge function clause 2022-09-23 11:53:02 +02:00
JimMoen 2984397e73 chore: apps vsn bump 2022-09-23 17:09:15 +08:00
JimMoen fc3fdfb994 fix(build): apply PR#8956 changes 2022-09-23 17:09:10 +08:00
Kjell Winblad adc67b165b test: test cases for Kafka bridge REST API 2022-09-23 10:09:07 +02:00
JimMoen 85835256f1 Merge tag 'v5.0.8' into merge-release-v5.0.8-into-master 2022-09-23 16:06:44 +08:00
Zaiming (Stone) Shi 516d60c7da build: fix deps consistency check 2022-09-23 09:00:17 +02:00
firest 5ef1a978bd chore: bump slow subs version && update CHANGES 2022-09-22 17:59:11 +08:00
firest 89af9c4a5f fix(slow_subs): fix timestamp unit error and update config not work
1. The unit of `deliver_begin_at` is incorrectly used the `seconds`, the resulting is incorrect when `stats_type` is `internal` or `response`
2. The config update doesn't actually take effect, the `load` function always used the old config
2022-09-22 17:57:51 +08:00
Kjell Winblad 9ea0147a8c feat(rule engine jq function): config for changing implementation
This commit adds a rule engine configuration option for changing the
implementation module used for the rule engine function jq. The two
options are `jq_port` (uses Erlang port programs to interact with jq)
and `jq_nif` (uses an Erlang NIF library to interact with jq).

Thanks to @terry-xiaoyu (Xinyu Liu <506895667@qq.com>) for Chinese
translations
2022-09-22 09:02:30 +02:00
JimMoen 6d37fc8dcb
Merge pull request #9012 from JimMoen/rm-influxdb-udp
Hide influxdb udp bridge.
2022-09-22 10:33:05 +08:00
Shawn b325633390 refactor(resource): resume from queue/inflight-window with async-sending and batching 2022-09-21 22:58:47 +08:00
Ilya Averyanov c11afc357e fix(auth): use empty strings for absent placeholder values 2022-09-20 15:20:55 +03:00
zhongwencool 8c718d891f
Merge pull request #9002 from zhongwencool/fix-listener-crash
fix: /listeners API crash when there are nodes still in initial conf
2022-09-20 15:25:03 +08:00
JimMoen 6788881642 fix: hide influxdb udp config 2022-09-20 14:46:59 +08:00
Zhongwen Deng 2551c51a8c fix: ct failed 2022-09-20 11:37:49 +08:00
ieQu1 62957b298b chore(ekka): Bump version to 0.13.5 2022-09-19 18:21:32 +02:00
Zhongwen Deng 0241185225 chore: Add test coverage for listeners API 2022-09-19 18:25:25 +08:00
Zhongwen Deng 386110ae1e fix: /listeners API crash when some nodes still in init configuration 2022-09-19 15:24:36 +08:00
Xinyu Liu cc327629c3
Merge pull request #8992 from terry-xiaoyu/fast_resume_from_inflight_full
Fast resume from inflight full
2022-09-18 17:49:04 +08:00
Thales Macedo Garitezi c20ad3733a fix: check for authorization on topic before publishing last will testament
fixes #8978

Without checking for authorization, a client can, on abnormal
termination, publish a message to any topic, including `$SYS` ones.
2022-09-16 17:31:22 -03:00
Thales Macedo Garitezi dca522d7d3 test: add tests for publishing lwt when deny_action is disconnect 2022-09-16 15:11:54 -03:00
Thales Macedo Garitezi 87ab2e3a2d fix: check conn state before sending will message 2022-09-16 15:11:54 -03:00
Shawn 9aa7e826cb refactor(resource): fast resume resource worker if inflight msgs are ACKed 2022-09-17 00:34:30 +08:00
zhouzb ba37ab4938 chore: bump vsn to 5.0.8 2022-09-16 19:32:17 +08:00
Shawn 8307f04c2e refactor(resource): save inflight size into the ETS table 2022-09-16 16:52:08 +08:00
JimMoen a660004fa4 fix(bridge): mqtt bridge client info `username` & `password`
for non configured `username` and `password`, default values `<<>>` should be
used. emqtt needs the values.
2022-09-16 15:09:51 +08:00
JimMoen 0336b935a0
Merge pull request #8901 from JimMoen/fix-bridge-api
- for connectors using ecpool, parse connect error `Reason` when start pool failed.
- Refine InfluxDB bridge desc.
2022-09-16 10:22:06 +08:00
zhongwencool 5056cbebf4 chore: update apps/emqx_authn/src/emqx_authn_app.erl
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-09-16 09:45:37 +08:00
Zhongwen Deng 6bd72fe5a1 fix: check authn's mechanism field 2022-09-16 09:45:37 +08:00
Zhongwen Deng 49829caaa0 fix: check authn(lazy type) config when boot 2022-09-16 09:45:36 +08:00
Zhongwen Deng 0b07561e9b fix: ensure authentication is array, not struct 2022-09-16 09:45:36 +08:00
firest 14b5977996 feat(authz): Support `cert_common_name` and `cert_subject` in Authz 2022-09-15 18:02:54 +08:00
zhouzb 8054144357 chore: bump vsn 2022-09-15 10:20:25 +08:00
Shawn d5d3972ff5 chore: add test cases for MQTT Bridge reconnecting 2022-09-15 10:19:33 +08:00
JimMoen 0390a5e547 fix(bridge): mysql bridge error case 2022-09-15 09:36:52 +08:00
Xinyu Liu d9c9a1dec3
Merge pull request #8958 from JimMoen/fix-ssl-drop-invalid-certs
fix(bridge/authz/exhook): no need to drop invalid certs
2022-09-15 09:01:08 +08:00
Shawn 4e211c12d3 fix(mqtt_bridge): return value of sending messages was discarded 2022-09-15 08:57:01 +08:00
JianBo He 8845da130e
Merge pull request #8957 from HJianBo/strip-double-quote
chore: support strip double quote in authn/authz
2022-09-14 17:35:41 +08:00
lafirest 9ffbff11c2
Merge pull request #8956 from lafirest/fix/redis_authn
fix(authn_redis): Add new clause for non-existent key check
2022-09-14 17:05:34 +08:00
firest 8590fef829 fix(authn_redis): Avoid duplicating check for non-existent keys 2022-09-14 16:30:59 +08:00
JianBo He a461375b30 chore: support strip double quote in authn/authz
more compatibility for https://github.com/emqx/emqx/pull/8827
2022-09-14 15:25:31 +08:00
Shawn 1c03c236f5 fix(mqtt_bridge): handle send_to_remote in idle state 2022-09-14 15:19:30 +08:00
Shawn f41adb0997 refactor: change some default values of resource_opts 2022-09-14 15:18:07 +08:00
firest 62fd955a0e fix(authn_redis): make dialyzer happy 2022-09-14 14:16:43 +08:00
JimMoen f018b8ab49 fix(bridge/authz/exhook): no need to drop invalid certs 2022-09-14 14:08:55 +08:00
firest 9e97760520 fix(authn_redis): Add new clause for non-existent key check
fix #8800
when the key not-existing, redis may return a list that all elements are `undefined`
2022-09-14 11:30:26 +08:00
zhongwencool 53bc6f47e7
Merge pull request #8948 from zhongwencool/deprecated-etc-dir
chore: deprecated etc_dir since 5.0.8
2022-09-14 10:05:10 +08:00
Zaiming (Stone) Shi 0c1595be02 feat: Add Kafka connector 2022-09-13 19:46:56 +02:00
JimMoen b5bf5d3adb fix: mqtt bridge payload default value 2022-09-13 18:58:01 +08:00
zhouzb 2c7d518c19
Merge pull request #8851 from zhongwencool/denny-update-local-override-conf
feat: deny hot updates to the configuration in local-override.conf
2022-09-13 18:49:51 +08:00
Zhongwen Deng 56c1ac5a82 chore: deprecated etc_dir since 5.0.8 2022-09-13 18:38:36 +08:00
JianBo He 9e07f074bf
Merge pull request #8866 from HJianBo/port-exhook-exproto-bugfixes
fix(exproto): avoid udp client process leaking
2022-09-13 18:29:41 +08:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
Shawn b9ae4ea276 refactor: rename some metrics for emqx_resource 2022-09-13 14:04:25 +08:00
JianBo He e282e3986f Merge branch 'using-erlang-system-time-5' into release-v5.0.8 2022-09-13 11:22:57 +08:00
JianBo He 522f650096 chore: apply review suggestions 2022-09-13 10:28:53 +08:00
JianBo He 44f8108228 chore: update app vsn 2022-09-13 09:15:50 +08:00
JianBo He 4384cae29e test: fix failed tests 2022-09-13 09:15:50 +08:00
JianBo He 533569ad2a chore: fix app vsn check 2022-09-13 09:15:50 +08:00
JianBo He fbc2130865 test: add test for idle_timeout parameter 2022-09-13 09:15:28 +08:00
JianBo He f8614196ac test: ensure udp client keepalive value getting right value 2022-09-13 09:15:28 +08:00
JianBo He ebb2824e15 test: ensure hooks has unloaded if grpc is blocked 2022-09-13 09:15:28 +08:00
JianBo He dfc6e34680 fix(exproto): avoid udp client process leaking
porting from v4.x:
- https://github.com/emqx/emqx/pull/8575
- https://github.com/emqx/emqx/pull/8628
- https://github.com/emqx/emqx/pull/8725
2022-09-13 09:15:28 +08:00
JianBo He a715573c64
Merge branch 'master' into using-erlang-system-time-5 2022-09-13 09:09:06 +08:00
firest 061e3c264b fix(authn_redis): fix that redis authn will deny the unknown users 2022-09-09 15:28:01 +08:00
firest a770447e75 fix(authn_redis): fix that redis authn will deny the unknown users 2022-09-09 14:53:31 +08:00
firest 5ba31cb192 fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-09 10:46:42 +08:00
firest 9368ae9fa8 test(retainer): add test case for start after retianer is disabled 2022-09-09 10:46:42 +08:00
firest 8768884e2b chore: bump emqx_retainer version && update CHANGES-5.0.md 2022-09-09 10:46:42 +08:00
firest 42e2d00cfa fix(retainer): fix that EMQX can't start when the retainer is disabled 2022-09-09 10:46:41 +08:00
lafirest de06d1c539
Merge pull request #8876 from lafirest/fix/listeners_api
fix(api): add listener create API from `POST /listeners/{type:name…
2022-09-09 10:14:46 +08:00
lafirest 67945515c9
Merge pull request #8911 from lafirest/fix/retainer_start_error
fix(retainer): fix that EMQX can't start when the retainer is disabled
2022-09-09 10:14:34 +08:00
firest 47b35f0c6a fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-08 20:28:40 +08:00
firest 1a835e9bd4 test(retainer): add test case for start after retianer is disabled 2022-09-08 19:13:02 +08:00
zhongwencool 0e633f87b3
Merge branch 'master' into denny-update-local-override-conf 2022-09-08 17:17:07 +08:00
JianBo He 641763d4d7 chore: update app.src 2022-09-08 16:14:42 +08:00
JianBo He 8521d8dac5 fix(time): replace os:system_time with erlang:system_time
Avoid the problem of inaccurate timers caused by mixing erlang:system_time/0-1
and os:system_time/0-1
2022-09-08 16:13:05 +08:00
JianBo He 9f6fb4f1ce
Merge branch 'master' into fix-coap-topic 2022-09-07 17:48:44 +08:00
Zaiming (Stone) Shi 81ec4c4403
Merge pull request #8906 from zmstone/merge-master-to-ee50-a
Merge master to ee50
2022-09-07 11:19:41 +02:00
Shawn 2b33ca6d49 fix: no error log print if insert bool values into mysql 2022-09-07 16:00:09 +08:00
firest a526c39ff5 chore: bump emqx_retainer version && update CHANGES-5.0.md 2022-09-07 14:49:33 +08:00
firest de36b77261 fix(retainer): fix that EMQX can't start when the retainer is disabled 2022-09-07 14:48:28 +08:00
zhongwencool 2943cbc261
Merge pull request #8857 from zhongwencool/cluster-rpc-when-node-down
feat: cluster-rpc failed fast when some nodes is down
2022-09-07 14:34:36 +08:00
Zaiming (Stone) Shi c9b6dfd7f9
Merge pull request #8905 from zmstone/0906-warn-default-erlang-cookie
refactor(cookie): Warning message when boot with default Erlang cookie
2022-09-07 08:06:55 +02:00
Zhongwen Deng 33341011d8 chore: improve wait_for_nodes_commit/4 function 2022-09-07 10:19:46 +08:00
zhongwencool 758b1979ab chore: Apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-09-07 10:19:46 +08:00
Zhongwen Deng 1175008a74 feat: cluster-rpc failed fast when some nodes is down 2022-09-07 10:19:46 +08:00
Xinyu Liu a67484422d
Merge pull request #8902 from terry-xiaoyu/check_dependent_actions
Check dependent actions before removing a data-bridge
2022-09-07 08:54:44 +08:00
Zaiming (Stone) Shi befc4acced Merge remote-tracking branch 'origin/master' into merge-master-to-ee50-a 2022-09-06 20:31:38 +02:00
Zaiming (Stone) Shi f785da075b ci: only start required docker for integration tests 2022-09-06 19:25:53 +02:00
Zaiming (Stone) Shi ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
firest 3f758ca36f fix(tls): fix ciphers cache return `ok` at the first time call 2022-09-06 16:42:02 +08:00
Zhongwen Deng 499da1ebe0 chore: add emqx_release:edition_longstr() 2022-09-06 15:46:18 +08:00
JianBo He 0caaccaa0f test: add tests for `/` leading topic 2022-09-06 15:38:32 +08:00
JianBo He da4efc11c2 chore: log authn-http parsing failed reason 2022-09-06 15:38:32 +08:00
JianBo He d6b222d1ff test: fix coap authz suite failures 2022-09-06 15:38:32 +08:00
JianBo He 55c1a1868a fix(coap): remove the leading `/` in assembling publish topic 2022-09-06 15:38:32 +08:00
Shawn 60a90858f8 feat: check dependent actions before removing the bridges 2022-09-06 15:34:23 +08:00
zhongwencool 614be2768f
Merge pull request #8892 from zhongwencool/emqx_vars_override
feat: don't override RUNNER_LOG_DIR env in emqx_vars
2022-09-05 22:46:24 +08:00
Zaiming (Stone) Shi 9408aeb719
Merge pull request #8420 from zmstone/0705-refactor-delete-unused-module
chore: delete unused schema module
2022-09-05 16:33:07 +02:00
Thales Macedo Garitezi 09d640c1b6
Merge pull request #8887 from thalesmg/bugfix-will-msg-not-connected
bugfix: do not publish last will when authentication failed
2022-09-05 10:38:47 -03:00
ieQu1 9dfa82b448 fix(shared_sub): Dispatch shared messages via gen_rpc 2022-09-05 14:06:59 +02:00
Thales Macedo Garitezi e0fcf07cf9 fix: do not publish last will when authentication failed
fixes #8886
2022-09-05 08:55:47 -03:00
ieQu1 03766d54cc feat(emqx_rpc): call with timeout 2022-09-05 13:38:34 +02:00
ieQu1 c2d03838e2 fix(bpapi): Return undefined for unknown API on the node 2022-09-05 12:29:33 +02:00
Zhongwen Deng ed4e890db9 chore: bump emqx_conf to 0.1.4 2022-09-05 16:15:31 +08:00
Zhongwen Deng 6de7881569 feat: remove node.etc_dir config 2022-09-05 16:11:11 +08:00
Zhongwen Deng d73f22181d chore: fix dialyzer warning. 2022-09-05 15:02:50 +08:00
Zhongwen Deng 57cc880977 chore: change community to opensource 2022-09-05 14:27:47 +08:00
Zhongwen Deng d447659365 feat: add edition info to /nodes api 2022-09-05 11:29:49 +08:00
JimMoen d4785553b9
Merge pull request #8872 from JimMoen/fix-mqtt-bridge-fields
Fix mqtt bridge fields.
 - Show ssl file path in Dashboard.
 - MQTT bridge `payload` field not required.
merge `v5.0.7` into `master`.
2022-09-05 09:46:45 +08:00
Shawn c695e67e18 chore: release e5.0.0-beta.3 2022-09-03 12:27:20 +08:00
Xinyu Liu 23b6ff399d
Merge pull request #8844 from thalesmg/mongodb-bridge
feat: add mongodb bridge (e5.0)
2022-09-03 12:27:01 +08:00
Xinyu Liu 7fed4faac3
Merge pull request #8859 from terry-xiaoyu/refactor_counters_for_resources
Some improvements and bug fixes to emqx_resources
2022-09-03 12:16:49 +08:00
JimMoen d533e35df0 chore: update app vsn 2022-09-02 22:26:21 +08:00
Shawn 26234d38b9 fix: mark the async msg 'queuing' not 'sent.inflight' on recoverable_error 2022-09-02 18:41:43 +08:00
JianBo He a41461ac93
chore: update apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl 2022-09-02 16:17:25 +08:00
JimMoen 16618131ad fix(bridge): mqtt source/sink bridge use empty payload template 2022-09-02 14:44:38 +08:00
JimMoen 2693fc263d fix(bridge): show file paths for SSL certs in dashboard for bridge 2022-09-02 14:12:03 +08:00
Shawn 83f21b4c65 refactor(resource): remove metrics 'sent.exception' 2022-09-02 12:46:53 +08:00
Shawn b45f3de8db refactor(resource): rename metrics batched,queued -> batching,queuing 2022-09-02 12:41:14 +08:00
JimMoen 74659bb864 fix(bridge): rm mqtt bridge default `username` and `password` 2022-09-02 10:43:32 +08:00
JimMoen 1d70e0b0ec Merge tag 'v5.0.7' into fix-mqtt-bridge-fields 2022-09-02 10:43:23 +08:00
firest 8b9494cf4b fix(jwt): support non-integer timestamp claims
fix #8825
2022-09-02 10:17:47 +08:00
lafirest 757cee0d8b
Merge pull request #8780 from HJianBo/authz-ignore-nomatch-rules
fix: exhook client.authorize never be execauted
2022-09-02 10:14:08 +08:00
Thales Macedo Garitezi 275171d217 feat: handle lists of servers in mongo servers config 2022-09-01 14:47:14 -03:00
Thales Macedo Garitezi 3d4afd65df feat: add mongodb bridge (e5.0) 2022-09-01 14:47:14 -03:00
Zaiming (Stone) Shi 8a5a9ca2bf
Merge pull request #8854 from zmstone/0831-chore-merge-main-to-dev-ee50
0831 chore merge main to dev ee50
2022-09-01 11:35:23 +01:00
zhouzb ee91128cef chore: bump vsn 2022-09-01 15:05:18 +08:00
Shawn 33c9c7d497 fix: incorrect message order when batch is enabled 2022-09-01 14:51:13 +08:00
JianBo He dda0b4ac8c chore: update emqtt vsn 2022-09-01 12:35:37 +08:00
JianBo He c1afb34a86 test: fix failed tests 2022-09-01 11:34:31 +08:00
zhongwencool b54ebacd3e
Merge pull request #8852 from zhongwencool/return-503-when-router-not-ready
fix: return 503 if dashboard's routers not ready
2022-09-01 10:23:58 +08:00
Zhongwen Deng 13c0c79567 chore: bump up emqx_dashboard 2022-09-01 09:39:15 +08:00
JianBo He a5ac5b6f3a
Merge branch 'dev/ee5.0' into refactor-mqtt-bridge 2022-09-01 09:30:37 +08:00
Zhongwen Deng 7bb592a2e1 fix: default override_to is cluster 2022-09-01 09:25:23 +08:00
Zaiming (Stone) Shi dac178cbaf chore: ensure version bumps 2022-08-31 17:23:47 +02:00
Zaiming (Stone) Shi 5a3fb4a011 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-08-31 17:11:15 +02:00
firest 05bbadc8c5 chore: bump ahutz version && update CHANGES-5.0.md 2022-08-31 21:15:55 +08:00
firest 63a6cd15c1 test: add emqx_access_control:authorize case for exhook 2022-08-31 21:14:40 +08:00
Shawn 0ef0b68de4 refactor: change '{recoverable_error,Reason}' to '{error,{recoverable_error,Reason}}' 2022-08-31 18:25:00 +08:00
firest 71aaf5c538 fix(authz): fix dialyzer && test case && proper error 2022-08-31 16:49:27 +08:00
Zhongwen Deng 1cb281fbc4 fix: return 503 if dashboard's router not ready 2022-08-31 15:45:54 +08:00
Zhongwen Deng 5718b28eeb feat: Deny hot updates to the configuration in local-override.conf 2022-08-31 14:55:10 +08:00
JianBo He 168f44e45b fix: exhook client.authorize never be execauted
see: https://github.com/emqx/emqx/issues/8779
2022-08-31 14:34:02 +08:00
JianBo He 47648b3874
Merge pull request #8827 from lafirest/fix/sql_placeholder
fix(placeholder): allow placeholders in sql to be wrapped by quotes
2022-08-31 14:13:06 +08:00
firest ab927c785d chore: bump emqx_plugin_libs version 2022-08-31 11:26:47 +08:00
firest e001892d04 fix(placeholder): add test case for placeholders wrapped by quotes 2022-08-31 11:22:07 +08:00
Shawn ba1f5eecd3 fix: update the swagger for new resource metrics 2022-08-31 11:14:36 +08:00
firest aeb5b2a2ff fix(placeholder): allow placeholders in sql to be wrapped by quotes 2022-08-31 11:03:03 +08:00
firest 1233d3c8df fix(gateway): compatible with the old "/gateway" form API 2022-08-31 10:53:13 +08:00
Shawn 14633eaac8 fix: please the elvis 2022-08-31 09:40:22 +08:00
firest bc12899ef8 fix(gateway): fix coap test case error 2022-08-31 09:27:37 +08:00
firest 81a86e3202 fix(gateway): fix test case error 2022-08-31 09:27:37 +08:00
firest 527ea23ec8 fix(gateway): change the `/gateway` API path to plural form 2022-08-31 09:27:37 +08:00
Shawn ca52b8eb29 fix: start connector-mqtt failed when username/password not provided 2022-08-31 09:18:10 +08:00
Shawn 73e19d84ee feat: use the new metrics to bridge APIs 2022-08-30 23:47:58 +08:00
Shawn 9e50866cd0 fix: rename queue_max_bytes -> max_queue_bytes 2022-08-30 17:18:54 +08:00
zhouzb 0aac916c1a
Merge branch 'release-v5.0.7' into sync-changes-from-506 2022-08-30 15:30:41 +08:00
Shawn c4106c0d77 fix: resume the resource worker on health check success 2022-08-30 12:28:43 +08:00
Shawn 65dfa63324 fix: update the counters for data bridges 2022-08-30 12:28:01 +08:00
Shawn 262e68f7d2 fix: return error when receive HTTP code other than 2xx 2022-08-30 10:16:02 +08:00
Shawn b5ad5233a1 fix(mqtt-bridge): username and password defaults to undefined 2022-08-30 10:14:56 +08:00
Shawn 6fde37791c refactor: new metrics for resources 2022-08-30 10:14:10 +08:00
JianBo He a6eff81163 chore: update emqtt to 1.7.0-rc.1 2022-08-30 09:50:36 +08:00
JianBo He 0aa10702db feat(bridge): support async mode resource options 2022-08-30 09:34:56 +08:00
JianBo He ca7ad9cc15 chore: refactor mqtt connector 2022-08-30 09:34:56 +08:00
Zaiming (Stone) Shi d74564a7f0
Merge pull request #8817 from zmstone/0822-fix-changelog
0822 fix changelog
2022-08-29 15:59:00 +01:00
William Yang 7451351c42 fix: quic listener idle_timeout type err 2022-08-29 16:19:19 +02:00
JianBo He b8003765f8
Merge pull request #8790 from lafirest/fix/exhook_log
fix(exhook): fix the error message of unknown hookpoint
2022-08-27 13:33:51 +08:00
Zaiming (Stone) Shi 2eb078ff3b chore: bump changed app versions 2022-08-26 14:32:28 +02:00
zhouzb ecb79716ad
Merge branch 'master' into merge-506-to-master 2022-08-26 17:40:26 +08:00
Shawn 1625b8eaeb fix(mysql_bridge): export the query_mode option to the APIs 2022-08-26 17:11:24 +08:00
Shawn 6b0ccfbc43 refactor: rename the error return resource_down -> recoverable_error 2022-08-26 17:11:12 +08:00
firest 611053b6ca chore: bump exhook app version 2022-08-25 16:53:58 +08:00
Shawn a896aa8b27 fix: incorrect replayq dir for the emqx_resource 2022-08-25 16:06:18 +08:00
Shawn 9327c0f51b fix(mysql_bridge): export the query_mode option to the APIs 2022-08-25 11:38:50 +08:00
Zaiming (Stone) Shi 97856f2e42 fix: allow empty string as ciphers 2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi 9a5dda010e docs: update CHNAGES-5.0.md 2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi 7851a3aefd refactor(ssl): use 'available' for defaults
prior to this change, for TLS versions, 'default's are 'available's
there is no need for such an alias.

now we call available_versions with a specific tag:
tls, dtls, or all
2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi 8717535d32 refactor: populate ciphers list at runtime
Populating ciphers list when checking schema makes the
config file example and the schmea documents quite bloated
2022-08-24 21:02:21 +02:00
Shawn f75932e49f chore: release e5.0.0-beta.2 2022-08-24 22:28:29 +08:00
firest 9555401ce1 fix(exhook): fix the error message of unknown hookpoint
Now if there is an unknown hookpoint, the error message is actually `{unknown_hookpoint,{error,badarg}}`,
the hookpoint name information is lost
2022-08-24 17:13:17 +08:00
JimMoen eb21a37145
Merge pull request #8785 from JimMoen/feat-influxdb-config
Remove influxdb connector config layer. See #8773
2022-08-24 10:56:26 +08:00
Shawn 4ac6f12252 refactor: configs and APIs for mysql bridge 2022-08-24 10:08:03 +08:00
JimMoen ca6533395c feat: influxdb bridge structure fits new style 2022-08-24 09:59:22 +08:00
JimMoen 43c964c87e fix(docs): ee bridge api docs generation
Use try catch. Because function was unexported before called.
2022-08-24 09:52:38 +08:00
Shawn 86577365e4 fix: use gen_statem:cast/3 for async query 2022-08-23 22:41:45 +08:00
JianBo He 97b9d378a5 Merge tag 'v5.0.6' into merge-506-to-master 2022-08-23 09:08:55 +08:00
Shawn 1ff53ee8a9 fix(authz): don't stop emqx_resource app in test cases 2022-08-23 08:57:12 +08:00
ieQu1 ff0c44b67d refactor(emqx_management): Export transactions 2022-08-22 21:29:13 +02:00
ieQu1 5978e4c8be refactor(sn_registry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 5aceeff7b4 refactor(cm_registry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 f323e3cb79 refactor(emqx_conf): Extract transactions 2022-08-22 19:52:37 +02:00
ieQu1 6f4d0e2ed5 refactor(retainer_mnesia): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 fa12c66ad9 refactor(psk): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 d906715e0a refactor(telemetry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 9449e3cb32 refactor(auth_mnesia): Export transaction funs 2022-08-22 19:52:37 +02:00
Shawn 45352206a3 fix(auth): remove emqx_connector from testcases of authz/authn 2022-08-22 20:20:45 +08:00
Shawn 55c18c0b5f fix(bridges): update the test cases for new config structure 2022-08-22 18:24:59 +08:00
Shawn aea8c77b49 refactor: new config structure for mqtt bridge 2022-08-22 18:24:59 +08:00
lafirest 4ad04b646f
Merge pull request #8759 from lafirest/feat/mysql_batch_query
feat(bridge): add `on_batch_query` on emqx_connector_mysql
2022-08-22 17:22:39 +08:00
JianBo He 46f743d16b chore: bump emqx vsn 2022-08-22 14:37:16 +08:00
JianBo He ad96bb551e chore: update changes and release vsn 2022-08-22 12:30:42 +08:00
JimMoen f0c2b53868 fix(bpapi): make bpapi static_checks happy 2022-08-22 10:51:44 +08:00
JimMoen 62ecf6f545 fix(resource): keep `auto_retry` in `disconnected` state
Automatic retries should be maintained even in `disconnected` state without any state transition.
2022-08-22 02:52:06 +08:00
JimMoen 7c4ea38c06 fix(resource): make some resource opts internal
Resource options `start_after_created` and `start_timeout` are internal opts.
Not provided to users anymore.
2022-08-22 02:22:57 +08:00
JimMoen 2648362c62 fix(bridge): password for bridge/db format as `password` for dashboard 2022-08-19 15:54:19 +08:00
JimMoen 06363e63d9 fix(influxdb): connector use a fallbacke `pool_size` for influxdb client 2022-08-19 15:54:19 +08:00
JianBo He 3874f14f8c chore: rename bootstrap_user to bootstrap_users 2022-08-19 14:51:41 +08:00
JianBo He d1c676a1c5 chore: bump vsn 2022-08-19 14:08:09 +08:00
firest 8d8afd1688 feat(bridge): add `on_batch_query` on emqx_connector_mysql 2022-08-19 13:16:22 +08:00
JianBo He 7ffdd95aa3 chore: bind option support `:1883` style config
see: https://github.com/emqx/emqx/pull/8571
2022-08-19 11:12:17 +08:00
ieQu1 c89de81e19 refactor(bpapi): Export transactions 2022-08-18 12:27:13 +02:00
ieQu1 7292095951 test(router_helper): Refactoring 2022-08-18 12:27:13 +02:00
ieQu1 4fa06fcd63 refactor(exclusive_sub): Export transaction 2022-08-18 12:27:13 +02:00
ieQu1 b962a71da2 refactor(shared_sub): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1 cd3aa476c6 refactor(router_helper): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1 8ef1c2db26 refactor(banned): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1 5c260dfbd0 refactor(alarm): Export transaction functions 2022-08-18 12:20:42 +02:00
ieQu1 cdde392d6e refactor(emqx_trace): Extract transactions to DL module 2022-08-18 12:02:54 +02:00
zhongwencool 3906819dda
Merge pull request #8753 from zhongwencool/swagger-tag-titlecase
chore: swagger tag titlecase
2022-08-18 11:46:04 +08:00
Zhongwen Deng bfa6acd350 chore: bump emqx_modules to 5.0.3 2022-08-17 23:59:59 +08:00
Zhongwen Deng 49b95b0aa8 chore: improve swagger tags 2022-08-17 23:32:19 +08:00
ieQu1 b8a7ab9ad3 fix(connector_psql): Wrap password in a fun 2022-08-17 14:31:12 +02:00
Zaiming (Stone) Shi 050f68cf5d test: allow missing schema for app in tests 2022-08-17 08:33:17 +02:00
Zaiming (Stone) Shi 256cdd50ff chore: delete unused schema module 2022-08-17 08:33:15 +02:00
Thales Macedo Garitezi f0436a2bd6 chore: bump ekka -> `0.13.4`
ZSTD fix for RocksDB.

https://github.com/emqx/mnesia_rocksdb/pull/6
2022-08-16 09:48:32 -03:00
firest 66f06c3ab7 fix(dashboard): change `bootstrap_user` to `bootstrap_user_file` 2022-08-16 14:15:10 +08:00
Xinyu Liu 9050aa6468
Merge pull request #8731 from emqx/copy-of-master
merge master into ee5.0
2022-08-16 10:49:10 +08:00
Shawn 9e35032d78 fix: make resume_interval defaults to health_check_interval 2022-08-16 10:09:02 +08:00
Shawn de3a325953 fix: revert the changes in connector mysql 2022-08-16 09:06:13 +08:00
Xinyu Liu 84a8f8b218
Merge branch 'dev/ee5.0' into copy-of-master 2022-08-15 21:46:42 +08:00
Xinyu Liu 2898966439
Merge branch 'dev/ee5.0' into resource_opts 2022-08-15 21:43:22 +08:00
Shawn 19d85d485b refactor(resource): add resource_opts level into config structure 2022-08-15 21:40:10 +08:00
firest 48a761c406 fix(mgmt): fix `$queue` topic name error in this API return 2022-08-15 17:26:25 +08:00
Shawn d1de262f31 fix: inc 'actions.failed' if bridge query failed 2022-08-15 17:21:14 +08:00
Shawn 665ef4142d fix: unify the health check interval 2022-08-15 17:21:14 +08:00
lafirest fba3ed6a12
Merge pull request #8721 from lafirest/fix/clients_api
fix(mgmt): remove the `will_msg` field from the client API
2022-08-15 15:31:56 +08:00
Zaiming (Stone) Shi ecbf867551 refactor: rename Field to Struct for ref type create function
Hocon type reference is actually a child-struct's struct name
not necessarily the same name as the parent-sutrct's field name

This commit changes the variable name for more clarity
2022-08-15 09:17:44 +02:00
JimMoen 68946f1f6c feat: influxdb support `async`/`batch_async` query 2022-08-15 14:02:17 +08:00
JimMoen b01ae8ece6 chore: refine influxdb bridge/connector i18n 2022-08-15 14:00:14 +08:00
firest dfa63ff3b1 fix(mgmt): remove the `will_msg` field from the client API 2022-08-15 10:22:18 +08:00
Shawn b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Shawn 18d710e932 chore: release v5.0.5-beta.1 2022-08-12 18:37:27 +08:00
Xinyu Liu 4318159b85
Merge pull request #8673 from qzhuyan/dev/william/quic-listener-config-timeouts
feat(quic): more listener options
2022-08-12 18:30:53 +08:00
Xinyu Liu fc6d79c2da
fix: typos in emqx_schema_i18n.conf 2022-08-12 18:30:34 +08:00
JimMoen 594d071c05 feat(influxdb): add async callback 2022-08-12 18:26:47 +08:00
Xinyu Liu 43ed926d67
Merge pull request #8707 from lafirest/fix/bootstrap_user
fix(dashboard): add bootstrap user tag && return error when adding bo…
2022-08-12 18:18:57 +08:00
Shawn 3cb79e811f fix: remove the extra fields max_retries 2022-08-12 18:05:03 +08:00
JimMoen dc7953c3e1 chore: refine async query variable name 2022-08-12 17:28:56 +08:00
firest d4bf658e38 fix(dashboard): add bootstrap user tag && return error when adding bootstrap user fails 2022-08-12 16:40:36 +08:00
JimMoen fa5e8f1422 chore: refine i18n label 2022-08-12 16:39:03 +08:00
JimMoen 3678673124 fix: schema default value using raw type before convert 2022-08-12 16:38:46 +08:00
Xinyu Liu 00966df18f
Merge pull request #8704 from terry-xiaoyu/webhook_async_conf
feat: add more resource creation opts
2022-08-12 14:18:50 +08:00
Shawn 0cdf4b47f1 feat: add more resource creation opts 2022-08-12 13:47:45 +08:00
Xinyu Liu 8b0da83a31
Merge pull request #8701 from HJianBo/fix-gw-test
test(gw): fix gateway flaky tests
2022-08-12 11:21:56 +08:00
lafirest c7f6517aee
Merge pull request #8667 from lafirest/feat/bootstrap_user
feat(dashboard): add bootstrap files to initialize user accounts
2022-08-12 10:43:42 +08:00
JianBo He 907d9a166a test(gw): fix gateway flaky tests 2022-08-12 10:20:15 +08:00
lafirest 404e79b7d7
Merge pull request #8687 from lafirest/fix/bridge_mysql
fix(bridge): replace prepare_statement by sql_template
2022-08-12 10:12:34 +08:00
JimMoen 449239d0f4 fix: count all msg size of `event_message` for mqtt bridge 2022-08-12 01:29:56 +08:00
Shawn bed10b097f chore: release e5.0.0-beta.1 2022-08-12 00:27:13 +08:00
Shawn c3c4ed02b4 fix: bump emqx_dashboard to 5.0.4 2022-08-12 00:24:58 +08:00
Xinyu Liu a05cc20db7
Merge pull request #8693 from JimMoen/feat-influxdb-batch-query
Feat influxdb batch query
2022-08-12 00:22:23 +08:00
JimMoen 83746daad5 fix: update bridge config badmap error 2022-08-11 23:15:53 +08:00
JimMoen 458dab53c5 fix: undefined_functions dialyzer warning 2022-08-11 22:55:22 +08:00
JimMoen ed796acb95 fix: fetch resource options after reboot 2022-08-11 22:11:28 +08:00
Shawn 88388b0c54 feat: http connector support async sending 2022-08-11 21:44:22 +08:00
JimMoen 3a76a50382 fix: syntax error and compile error 2022-08-11 20:58:43 +08:00
Shawn 2872f0b668 fix(bridges): support create resources with options 2022-08-11 19:11:44 +08:00
JimMoen 0f6c371760 feat(influxdb): influxdb connector add `on_batch_query/3` callback 2022-08-11 18:12:41 +08:00
firest d55c9341eb fix(dashboard): fix nit codes 2022-08-11 17:42:22 +08:00
JimMoen 22a4ca311c feat(resource): resource batch/async/queue config schema 2022-08-11 16:59:18 +08:00
firest 7581082fcb fix(bridge): replace prepare_statement by sql_template 2022-08-11 13:22:16 +08:00
JimMoen 223b84017e fix(influxdb): api schema `write_syntax` using raw type `string()` 2022-08-11 11:36:08 +08:00
Xinyu Liu 03b004e0ce
Merge pull request #8685 from terry-xiaoyu/resource_inflight_window
feat: add inflight window to emqx_resource
2022-08-11 09:22:52 +08:00
Shawn 6203a01320 feat: add inflight window to emqx_resource 2022-08-11 08:36:35 +08:00
Ilya Averyanov 64aa30ec63 chore(authn/authz): better handling of placeholder interpolation errors 2022-08-10 18:22:37 +03:00
William Yang 7ca8550a5d feat(quic): more listener options 2022-08-10 12:37:12 +02:00
Zhongwen Deng 07933e3638 feat: translate map to object in schema.json 2022-08-10 17:45:34 +08:00
Zaiming (Stone) Shi 4994731d3e chore: update emqx_connector app vsn 2022-08-10 09:50:12 +02:00
Zaiming (Stone) Shi 18614ad291 fix(connector): add back deleted fields as deprecated
max_retries and retry_interval were removed from 5.0.4 wihtout
backward compatibliity.
This commit adds the fields back as deprecated
2022-08-10 09:50:12 +02:00
Zaiming (Stone) Shi f7016e53a4 chore: delete hocon from emqx_prometheus application deps 2022-08-09 20:19:31 +02:00
Shawn 82550a585a fix: add test cases for query async 2022-08-10 00:45:34 +08:00
Shawn efd6c56dd9 fix: test cases for batch query sync 2022-08-10 00:45:34 +08:00
Shawn 145ff66a9a fix: issues found by dialyzer and elvis 2022-08-10 00:45:26 +08:00
Shawn 35fe70b887 feat: support aysnc callback to connector modules 2022-08-10 00:34:35 +08:00
Shawn f1419d52f1 fix(resource): remove resource at the end of each test 2022-08-10 00:34:35 +08:00
Shawn a2afdeeb48 feat: add test cases for batching query 2022-08-10 00:34:35 +08:00
Shawn 8f0954837b fix: update test cases for emqx_connector 2022-08-10 00:34:35 +08:00
Shawn 75adba0781 fix: increase resource metrics using the resource id 2022-08-10 00:34:35 +08:00
Shawn d3950b9534 fix(resource): make option 'queue_enabled' disabled by default 2022-08-10 00:34:35 +08:00
Shawn 0377d3cf61 fix: update existing testcases for new emqx_resource 2022-08-10 00:34:35 +08:00
Shawn 2fb42e4d37 refactor: create emqx_resource_worker_sup for resource workers 2022-08-10 00:34:35 +08:00
Shawn 0087b7c960 fix: remove the extra file replay.erl 2022-08-10 00:34:35 +08:00
Shawn d8d8d674e4 feat(resource): start emqx_resource_worker in pools 2022-08-10 00:34:35 +08:00
Shawn 12904d797f feat(resource): first commit for batching/async/caching mechanism 2022-08-10 00:34:35 +08:00
Zaiming (Stone) Shi 6d5ad97528
Merge pull request #8670 from zmstone/0809-5.0-improve-lwm2m-logging
fix(lwm2m): better logging for unknown object IDs
2022-08-09 16:24:20 +01:00
Zaiming (Stone) Shi dd8bcd80cb chore: bump app vsn for emqx_gateway to 0.1.3 2022-08-09 13:30:09 +02:00
William Yang 30f24131e2
Merge pull request #8650 from qzhuyan/fix/william/keep-alive-check
fix: keep alive check
2022-08-09 11:37:12 +02:00
Zaiming (Stone) Shi 13f5c0b6b1 fix(lwm2m): better logging for unknown object IDs
Prior to this change, unknown object IDs would result in a tuple
{error, no_xml_definition}, and this tuple is passed down to xmerl
lib to get XML node data and eventually crash with function_clause.

With this fix, the unknown object ID exception is caught and logged
properly.
2022-08-09 11:26:12 +02:00
Zaiming (Stone) Shi 699489297b
Merge pull request #8462 from fridayy/feat_round_robin_per_node
feat(shared-sub): add round_robin_per_group strategy
2022-08-09 10:03:52 +01:00
firest 463d255c0a fix(dashboard): make dialyzer happy 2022-08-09 16:36:46 +08:00
firest 0f8ebbdf0f feat(dashboard): add bootstrap files to initialize user accounts 2022-08-09 16:02:50 +08:00
firest dee92bb8b8 fix(mgmt): fix status api test case error 2022-08-09 11:22:48 +08:00
firest 01ba45cc37 fix(mgmt): remove the `/api/v5` prefix of status API 2022-08-08 17:34:18 +08:00
JimMoen 2e336fbc01 fix: bridge and connector namespace contains DB name
Contains Detailed DB name for identifier hocon schema refs.
2022-08-07 19:37:44 +08:00
Benjamin Krenn 70cb7768b0
Merge branch 'emqx:master' into feat_round_robin_per_node 2022-08-05 11:12:23 +02:00
Benjamin Krenn 71f31ab5cd feat(shared-sub): add round_robin_per_group strategy
remove flaky tests that provide little value
2022-08-05 11:10:54 +02:00
Thales Macedo Garitezi e9d7cde0b4
Merge pull request #8638 from thalesmg/license-http-api-50-upload
chore(license): treat license file API as an upload (5.0)
2022-08-04 16:27:55 -03:00
Thales Macedo Garitezi 5bd2875db8
Merge pull request #8637 from thalesmg/esockd-tls-gc
feat: add option to gc after TLS/SSL handshake
2022-08-04 14:18:45 -03:00
Thales Macedo Garitezi d2e146aeff test: fix flaky gateway tests 2022-08-04 13:16:17 -03:00
Benjamin Krenn 5fa2a2aa44
Merge branch 'emqx:master' into feat_round_robin_per_node 2022-08-04 11:02:51 +02:00
Benjamin Krenn dec892e867 feat(shared-sub): add round_robin_per_group strategy
add round robin per group strategy that balances load in a more predictable fashion when using no replication
2022-08-04 10:40:50 +02:00
firest aa6077bdea fix(bridge): remove emqx_ee_connector_mysql 2022-08-04 14:52:16 +08:00
William Yang 01b9115fd8 fix: keep alive check
According to MQTT spec, MQTT Server should check a complete MQTT message
recv in last keep-alive time frame instead of number of received bytes
from the socket.

This commit change to check the recv pkt counter from process dict
instead.

Also it could save some calls to erlang port.
2022-08-03 17:14:19 +02:00
Thales Macedo Garitezi 7f932d64be docs: adjust descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-08-03 09:38:51 -03:00
Thales Macedo Garitezi 19e101445c feat: add option to gc after TLS/SSL handshake 2022-08-03 09:38:51 -03:00
zhongwencool 8e062df809
Merge pull request #8642 from zhongwencool/fix-node-status
chore: update Running/Stopped to running/stopped
2022-08-03 16:32:01 +08:00
lafirest 11165f4a9c
Merge pull request #8626 from lafirest/fix/connect_event_5
fix(channel): Adjust the timing of the `client.connected` event
2022-08-03 16:01:17 +08:00
Zhongwen Deng fd7c97735d chore: make sure path is binary 2022-08-03 12:58:20 +08:00
Zhongwen Deng a19514f000 chore: bump emqx_management to 5.0.3 2022-08-03 12:34:30 +08:00
Zhongwen Deng 4869225395 chore: update Running/Stopped to running/stopped 2022-08-03 12:24:03 +08:00
zhongwencool c6f879e03b
Merge pull request #8634 from zhongwencool/improve-swagger-router-generate
fix: return 503 instead of crash when dashboard generate router timeout
2022-08-03 10:46:59 +08:00
Zhongwen Deng 8e53a61791 fix: return 503 instead of crash when dashboard generate router timeout 2022-08-02 19:49:06 +08:00
JianBo He cffaf95d00
chore: update apps/emqx/src/emqx_channel.erl 2022-08-02 17:20:58 +08:00
Thales Macedo Garitezi 4a1ede7e7e test: fix flaky gateway tests 2022-08-01 10:57:34 -03:00
Thales Macedo Garitezi a78760dbac chore: bump app vsns 2022-08-01 10:57:34 -03:00
firest 78deee6846 fix(channel): Adjust the timing of the `client.connected` event 2022-08-01 17:35:48 +08:00
JianBo He 14920743ca
Merge pull request #8513 from lafirest/fix/limiter_interface
refactor(limiter): refactor the user interface
2022-08-01 11:02:15 +08:00
DDDHuang 55b9684541 fix: influxdb bridge api available 2022-08-01 10:28:07 +08:00
DDDHuang 01e9e8a0eb feat: add ee influxdb connector & bridge 2022-08-01 10:27:35 +08:00
DDDHuang 3fe76446bc Merge branch 'master' into dev/ee5.0 2022-08-01 10:14:21 +08:00
Thales Macedo Garitezi a9b176b8bd
Merge pull request #8598 from thalesmg/license-fixes-50
license fixes (5.0)
2022-07-29 13:13:51 -03:00
JianBo He be679f8128
Merge pull request #8589 from emqx/release-v5.0.4
Merge v5.0.4 into master branch
2022-07-29 08:49:10 +08:00
Thales Macedo Garitezi 8e08f045aa chore(bpapi): add new vsn 2022-07-28 17:59:54 -03:00
Thales Macedo Garitezi f8a1bd0715 feat(license): copy license file to cluster when updating it 2022-07-28 17:29:59 -03:00
DDDHuang a4992ef1b5 fix: hstreamdb connector conf & api 2022-07-28 16:47:30 +08:00
JianBo He 5835120d8e chore: relealse v5.0.4 2022-07-28 13:47:41 +08:00
Xinyu Liu 527289090d
Merge pull request #8580 from terry-xiaoyu/webhook_max_retries
fix(webhook): the 'max_retries' opt means request retry times
2022-07-27 17:42:33 +08:00
Shawn 23eeb21b13 fix(webhook): the 'max_retries' opt means request retry times 2022-07-27 17:06:14 +08:00
DDDHuang 9ae7c62656 fix: exs deps & bad suites 2022-07-27 16:24:13 +08:00
zhouzb 9323878442 chore: bump vsn 2022-07-27 16:23:54 +08:00
DDDHuang be6de4aad0 fix: ee bridge & connector remove app mod 2022-07-27 11:38:45 +08:00
DDDHuang fa4bc921ac fix: hstream db connector & bridge, TODO: SUITE 2022-07-27 11:38:45 +08:00
DDDHuang 98b36c4681 fix: hstream db connector , TODO: start apps 2022-07-27 11:38:45 +08:00
DDDHuang f00a7417bb feat: hstream bridge & connector 2022-07-27 11:38:45 +08:00
Thales Macedo Garitezi b4be9b6fae chore: bump ekka -> 0.13.3
Mainly: https://github.com/emqx/erlang-rocksdb/pull/7
2022-07-26 09:50:14 -03:00
JianBo He 257e310931 chore: ensure the `bind` output style
e.g:
- Configured as `1883`, printed as `:1883`
- Configured as `0.0.0.0:1883`, printed as `:1883`
- Configured as `127.0.0.1:1883`, printed as `127.0.0.1:1883`
- Configured as `::1:1883`, printed as `[::1]:1883`
- Configured as `[::1]:1883`, printed as `[::1]:1883`
2022-07-26 19:02:04 +08:00
firest bc716884e0 fix(limiter): fix spellcheck error 2022-07-26 15:16:53 +08:00
firest bcc78950a9 fix(limiter): fix schema error 2022-07-26 14:33:04 +08:00
JianBo He 38b5882dc8 test(gw): using ip_port in listener tests 2022-07-26 11:40:52 +08:00
JianBo He 53fda85c93 fix: conflicts resolving legacy 2022-07-26 11:10:40 +08:00
JianBo He bad82b29ce feat(gw): change the listeners api fields 2022-07-26 11:05:04 +08:00
JianBo He 2c71d27a89 feat(listeners): change the `GET /listeners` api fields 2022-07-26 11:04:33 +08:00
zhouzb 79d6613a18
Merge pull request #8531 from HJianBo/fix-authn-cndn
fix(authn): fix cert_subject and cert_common_name placeholder
2022-07-26 09:09:34 +08:00
Chris Hicks bc93d5f525
Merge pull request #8567 from emqx/EMQX-6018-v-5-0-4-cli-command-to-verify-config-syntax-against-schema
feat: Added emqx command to check configs
2022-07-25 17:14:42 +02:00
Ilya Averyanov 2f470b8878
Merge pull request #8554 from savonarola/authn-logging
Add more tracing for authentication
2022-07-25 17:43:00 +03:00
Ilya Averyanov 1a236db91b chore(log): add authentication tracing 2022-07-25 17:14:19 +03:00
zhongwencool 80831a7593
Merge pull request #8563 from zhongwencool/titlecase-swagger-tags
chore: make sure swagger's tags always titlecase
2022-07-25 17:45:54 +08:00
zhongwencool 2466881460
chore: Update apps/emqx_authn/src/emqx_authn_user_import_api.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 17:45:38 +08:00
zhongwencool 7261fbaa6b
chore: Update apps/emqx_authn/src/emqx_authn_user_import_api.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 17:45:28 +08:00
JianBo He 9ecb7563b4
Merge branch 'master' into fix-authn-cndn 2022-07-25 17:34:44 +08:00
Chris 24f88679ae feat: Added emqx command to check configs 2022-07-25 11:01:08 +02:00
Zhongwen Deng 02c0755867 fix: dashboard failed test 2022-07-25 16:55:38 +08:00
Zhongwen Deng a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
zhongwencool cc63479e69 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:33 +08:00
zhongwencool 087a098d64 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:25 +08:00
Zhongwen Deng 99340e424e chore: bump app.src version 2022-07-25 16:14:03 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
JianBo He 04da2d080a
Merge branch 'master' into support-listen-ipv6 2022-07-25 14:27:42 +08:00
JianBo He 1c8defeeda chore: make elvis happy 2022-07-25 13:17:54 +08:00
Zhongwen Deng 56417a3130 feat: list rules support for pagination and fuzzy filtering 2022-07-25 09:36:08 +08:00
JianBo He 74c5fd411b chore(schema): trim space in ip_port 2022-07-25 09:33:47 +08:00
JianBo He e0b33dc258 fix(listener): support listen on ipv6 address 2022-07-25 09:31:16 +08:00
JianBo He ba1347513e test(authn): test cert_subject/cert_common_name placeholder 2022-07-25 09:28:28 +08:00
JianBo He f8f4ad3e5b fix(authn): fix cert_subject and cert_common_name placeholder 2022-07-25 09:28:28 +08:00
Thales Macedo Garitezi 343a78b08a feat(persistent_sessions): don't use rocksdb when unavailable 2022-07-22 10:59:41 -03:00
Thales Macedo Garitezi 2e75c35995
Merge pull request #8546 from thalesmg/fix-dashboard-cluster-rate
fix: dashboard monitor crash after badrpc
2022-07-22 09:10:41 -03:00
firest ce46cb9216 fix(limiter): fix test case error 2022-07-22 18:59:02 +08:00
firest 15c8110af2 fix(limiter): lift the level of the `client` field 2022-07-22 17:14:24 +08:00
zhongwencool f0f26b2408 Merge branch 'master' into fix-logger-json-format-config-not-working 2022-07-22 14:59:19 +08:00
JianBo He b9cd9e51ef
Merge pull request #8530 from HJianBo/fix-exhook-dispatch-seq
fix(exhook): ensuring that exhook dispatches the client events are sequential
2022-07-22 10:43:00 +08:00
Zhongwen Deng 4d5dfe265b fix: logger json formatter's config not working 2022-07-22 09:48:11 +08:00
Thales Macedo Garitezi be9efcae2e fix: dashboard monitor crash after badrpc
Accumulator becomes unusable after a `badrpc` error.

```
2022-07-21T15:22:17.825688-03:00 [warning] exception: error, line: 116, mfa: minirest_handler:apply_callback/3, path: /monitor_current, reason: {badmap,{badrpc,{'emqx@emqx-17.int.thales',{'emqx@emqx-17.int.thales',timeout}}}}, stacktrace: [{maps,get,[connections,{badrpc,{'emqx@emqx-17.int.thales',{'emqx@emqx-17.int.thales',timeout}}},0],[{file,"maps.erl"},{line,517},{error_info,#{module => erl_stdlib_errors}}]},{emqx_dashboard_monitor,'-merge_cluster_rate/2-fun-0-',3,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl"},{line,259}]},{maps,fold_1,3,[{file,"maps.erl"},{line,410}]},{lists,foldl,3,[{file,"lists.erl"},{line,1267}]},{emqx_dashboard_monitor,current_rate,0,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl"},{line,126}]},{emqx_dashboard_monitor_api,monitor_current,2,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl"},{line,135}]},{minirest_handler,apply_callback,3,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,111}]},{minirest_handler,handle,2,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,44}]},{minirest_handler,init,2,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,27}]},{cowboy_handler,execute,2,[{file,"/emqx/deps/cowboy/src/cowboy_handler.erl"},{line,41}]},{cowboy_stream_h,execute,3,[{file,"/emqx/deps/cowboy/src/cowboy_stream_h.erl"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,"/emqx/deps/cowboy/src/cowboy_stream_h.erl"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]
```
2022-07-21 15:40:29 -03:00
JianBo He dbeb28520b chore: bump exhook app vsn 2022-07-21 20:09:23 +08:00
Zhongwen Deng f080715ce9 fix: ensure /listeners API return all node's status 2022-07-21 15:47:11 +08:00
Zhongwen Deng 116c664df1 feat: add sysmon config handler to reload conf 2022-07-21 12:33:56 +08:00
JianBo He 2566f50c4e fix(exhook): ensuring that exhook dispatches the client events are sequential
porting by: https://github.com/emqx/emqx/pull/8311
2022-07-21 11:01:18 +08:00
Zhongwen Deng a468f4ee9d chore: bump emqx_gateway to 0.1.2 2022-07-20 17:03:04 +08:00
Zhongwen Deng a12478225a fix: fix bad swagger format 2022-07-20 16:56:07 +08:00
firest dbab1bc96a fix(limiter): fix elvis && dialyzer error 2022-07-20 15:00:12 +08:00
firest d3f965dfe7 refactor(limiter): refactor the user interface 2022-07-20 13:57:31 +08:00
Zaiming (Stone) Shi 53f9b59805
Merge pull request #8408 from zmstone/0704-docs-fix-enable_pipelining-docs
fix: enable_pipelining should not be allowed to be zero
2022-07-19 21:13:29 +01:00
zhongwencool b1c259191c
Merge pull request #8502 from ieQu1/wait-cluster-rpc-shard
Wait cluster rpc shard
2022-07-19 11:29:02 +08:00
Zhongwen Deng a05b7bf555 fix: dialyzer warning 2022-07-19 10:07:01 +08:00
ieQu1 f5d63c1555 fix(conf): Wait for the cluster RPC shard 2022-07-18 15:58:32 +02:00
ieQu1 6f00f51457 chore(ekka): Bump version 2022-07-18 15:13:40 +02:00
William Yang 4481ae6ff8 feat(quicer): bump to 0.0.16 2022-07-18 12:08:22 +02:00
Zhongwen Deng 15ebef4468 chore: improve metrics interval desc 2022-07-15 15:23:31 +08:00
Zhongwen Deng 26820ed0c4 chore: remove /configs/listeners, we should use /listeners/ API 2022-07-14 15:23:39 +08:00
lafirest 0f5f3985a5
Merge pull request #8481 from lafirest/fix/retainer_flow_control
fix(retainer): set default value of flow control
2022-07-14 15:20:23 +08:00
firest be6f63d927 chore(retainer): update app version 2022-07-14 14:03:25 +08:00
firest 9afad90b91 fix(retainer): set default value of flow control 2022-07-14 10:40:03 +08:00
Zhongwen Deng 421251f4c8 chore: improve the dashboard listener startup log 2022-07-14 09:49:54 +08:00
DDDHuang 941440800b fix(cli): subscriptions with sub options, qos rh rap nl; admins response
data format
2022-07-13 15:55:07 +08:00
DDDHuang 88ca8ff503
Merge pull request #8470 from DDDHuang/tpm_check
fix(api): topic metrics check exist before create
2022-07-13 15:26:47 +08:00
DDDHuang 8f18bdff15 fix(api): topic metrics check exist before create 2022-07-13 13:50:30 +08:00
JimMoen f42c8ffcfa test(connector): redis sentinel include name 2022-07-13 10:37:16 +08:00
JimMoen 994a76510d fix(authn): jwt ssl opts use emqx_schema:ssl_clients_opts 2022-07-13 10:37:16 +08:00
JimMoen 59c301243c fix(connector): redis sentinel field required 2022-07-13 10:37:16 +08:00
firest bcc16230cc fix(stats): fix topic name error 2022-07-12 13:55:36 +08:00
Zaiming (Stone) Shi 49d008371f chore: bump version to 5.0.4 2022-07-08 22:35:16 +02:00
Zaiming (Stone) Shi e49686a276 fix(authz): should apply no rule on superuser 2022-07-08 22:35:15 +02:00
Shawn b55048f705 chore: update app versions 2022-07-08 16:29:07 +08:00
Shawn 9ca5927b88 fix: issue in test cases 2022-07-08 14:07:28 +08:00
Shawn 4da106882c fix(rule): create_at lost when save to config files 2022-07-08 09:17:23 +08:00
Shawn 841f816e39 refactor: improve the health_check for webhook bridges 2022-07-08 09:17:23 +08:00
Shawn 71f642518a fix: the file cluster-override.conf is emptied if hocon_pp:do/2 failed 2022-07-08 09:17:23 +08:00
Zaiming (Stone) Shi 179adeac57
Merge pull request #8425 from emqx/EMQX-6360-5-0-do-not-force-exp-field-in-jwt
fix: allow for exp field to optional to keep backwards compat with 4.X
2022-07-07 12:21:50 +01:00
Chris dbe806d950 fix: allow for exp field to optional to keep backwards compat with 4.X 2022-07-07 10:18:52 +02:00
Zhongwen Deng 0b1117df47 chore: upgrade hocon to 0.28.3 to speed up schema cache 2022-07-07 15:00:41 +08:00
Zaiming (Stone) Shi 07783249bb chore: move emqx API version (in generated doc) to emqx_release.hrl
So we have one place to bump all versions
2022-07-06 14:01:35 +02:00
Zaiming (Stone) Shi fa89b633d8 chore: bump version to 5.0.3 2022-07-04 23:23:20 +02:00
Zaiming (Stone) Shi a7e948b0f4 fix(ws): websocket header get expects bin-string 2022-07-04 23:20:22 +02:00
ieQu1 f1d87944a9
Merge pull request #8407 from ieQu1/doc-cluster-singleton
docs(emqx_connector): Remove mentions of cluster_singleton
2022-07-04 15:08:34 +02:00
Zaiming (Stone) Shi bb854a9667 fix: enable_pipelining should not be allowed to be zero 2022-07-04 12:18:01 +02:00
ieQu1 b18097375c docs(emqx_connector): Remove mentions of cluster_singleton
Fixes: 8339
2022-07-04 11:33:01 +02:00
Zaiming (Stone) Shi 4b383a42f3
Merge pull request #8399 from zmstone/0702-no-relup-for-opensource-edition
0702 no relup for opensource edition
2022-07-02 11:57:36 +01:00
Zaiming (Stone) Shi 999eac5376 chore: bump emqx app version to 5.0.2 2022-07-02 11:44:19 +02:00
Zaiming (Stone) Shi c602ef708f chore: bump version to 5.0.2 2022-07-02 11:44:19 +02:00
Zhongwen Deng 3675ba0c9f fix: restricted_shell not working 2022-07-02 16:58:52 +08:00
zhouzb 0cce1df2b6 chore: bump release vsn 2022-07-01 22:03:47 +08:00
zhouzb 1b211434d0
Merge pull request #8381 from HJianBo/fix-content-type
chore: treat 200 and no body as ACL nomatch
2022-07-01 21:56:40 +08:00
JianBo He 2d8231c638 chore: fix gateway authz cases 2022-07-01 21:08:58 +08:00
JimMoen 2ad99fca7a chore: update appup.src 2022-07-01 21:07:33 +08:00
JimMoen 7b825fe4bd test(authn): authn `is_superuser` default value false. 2022-07-01 21:07:26 +08:00
JimMoen f0c783b260 test(authn): emqx_authn and gateway_athn http `content-type` 2022-07-01 20:55:39 +08:00
JimMoen b88796518e fix(authn): authn http `is_superuser` field
only support true|false|[num]
and for [num]: zero => false | non-zero => true

other type and string will fallback to default vaule => false
i.e null|undefined|[empty string]
2022-07-01 20:55:39 +08:00
ieQu1 7d46e8671e
Merge pull request #8376 from ieQu1/nicer-bpapi-errors
fix(bpapi): Make error messages nicer
2022-07-01 14:50:49 +02:00
JianBo He 4c17b38102 chore: treat 200/204 as acl nomatch 2022-07-01 20:42:22 +08:00
JianBo He 83f5da8f9d fix(authz-http): fix https://github.com/emqx/emqx/pull/8377#discussion_r911743360 2022-07-01 17:46:55 +08:00
JianBo He 52b77b570f refactor: authz-http return body to reject pub/sub 2022-07-01 17:46:55 +08:00
zhongwencool 670f83e415
Merge pull request #8369 from zhongwencool/sync-authz-certs
fix: sync data's authz and certs
2022-07-01 17:32:22 +08:00
DDDHuang 25c37a63ef
Merge pull request #8356 from DDDHuang/pubsub_api
Pubsub api
2022-07-01 17:24:18 +08:00
lafirest 62d822ee96
Merge pull request #8378 from lafirest/fix/hide_limiter_api
fix(api): temporarily hide the limiter's API
2022-07-01 17:14:33 +08:00
JianBo He 8f429b5ea3
Merge pull request #8316 from zmstone/0624-chore-add-a-note-in-authz-config
docs: refine authz file path doc
2022-07-01 16:56:27 +08:00
Zhongwen Deng cbf467ee3d chore: update emqx_conf.appup.src 2022-07-01 16:44:29 +08:00
DDDHuang 07f8a93af3 fix: update mgmt bpapi version 2022-07-01 16:43:42 +08:00
firest 325997c592 fix(api): temporarily hide the limiter's API 2022-07-01 16:31:56 +08:00
JianBo He a13d726d17
Merge pull request #8315 from lafirest/v5.0
feat: add exclusive subscription
2022-07-01 16:00:10 +08:00
JianBo He 127ecdbf77
Merge pull request #8375 from lafirest/fix/authn_metrics_clause
fix(metrics): fix authn metrics count clause error
2022-07-01 15:53:52 +08:00
Zhongwen Deng c23ccbd370 chore: update bpapi.verions 2022-07-01 15:51:25 +08:00
ieQu1 e2c2f7b224 feat(bpapi): Add a header to bpapi.versions file 2022-07-01 09:50:04 +02:00
ieQu1 2f7078f314 fix(bpapi): Make error messages nicer 2022-07-01 09:34:35 +02:00
Zhongwen Deng 3d6f98e5f6 fix: filter data's dir 2022-07-01 15:32:12 +08:00
DDDHuang 6c9cad366b fix(api): client sub & unsub batch 2022-07-01 15:21:11 +08:00
William Yang ff9ed0eab9
Merge pull request #8365 from qzhuyan/dev/william/bump-quicer
fix(quic): overload protection follows zone config
2022-07-01 09:17:22 +02:00
firest 9170a05990 fix(metrics): fix authn metrics count clause error 2022-07-01 15:14:46 +08:00
Zhongwen Deng 9af470dee9 chore: upgrade emqx_conf bpapi to version 2 2022-07-01 15:00:14 +08:00
firest d205f10fab chore: add upgarde callback for emqx_exclusive_subscription 2022-07-01 14:59:10 +08:00
firest 5981a23fe4 fix(exclusive): add upgarde API && fix description error 2022-07-01 14:44:51 +08:00
firest b1b1d40528 fix(exclusive): fix xref error && change exclusive default value 2022-07-01 14:43:32 +08:00
firest 85f6846f89 chore: update emqx.appup.src 2022-07-01 14:43:30 +08:00
firest af5bf52ddf feat: add exclusive subscription 2022-07-01 14:36:41 +08:00
JianBo He c32a416a2a
Merge pull request #8371 from HJianBo/auto-retry-auth-resource
AuthN/Z: automaticly re-connect to disconnected resources
2022-07-01 14:32:50 +08:00
Zhongwen Deng aabdb07447 chore: always delete data zip file 2022-07-01 14:18:03 +08:00
Zhongwen Deng 8ba2b6cc18 fix: bpapi chekc failed 2022-07-01 14:08:16 +08:00
firest 9ce2dbb77a fix(metrics): adjust metrics count codes 2022-07-01 13:42:40 +08:00
firest 7f18969f1e fix(metrics): revert client.authenticate count method 2022-07-01 12:22:48 +08:00
firest c45cf62b3d chore: update emqx.appup.src 2022-07-01 12:22:48 +08:00
firest 9415a94c7f feat(metrics): optimize client.authenticate 2022-07-01 12:22:48 +08:00
Zaiming (Stone) Shi 9a6f776f82
Merge pull request #8353 from zmstone/0630-chore-update-config-style
chore: update authz default config style
2022-07-01 05:21:02 +01:00
JianBo He eac21e5b0a chore: make spellcheck happy 2022-07-01 12:10:37 +08:00
Zaiming (Stone) Shi c3ffdef872 docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi fd86e8bf0b docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi 3963856480 docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi 5ac9e9f824 docs: refine authz file path doc 2022-07-01 12:10:36 +08:00
JianBo He a78a389206 chore: using standard log format 2022-07-01 12:06:35 +08:00
JianBo He f8c90452cc chore: auto retry disconnected authn/authz resources 2022-07-01 12:01:39 +08:00
Zhongwen Deng 740ff3587c fix: sync data's authz and certs 2022-07-01 12:01:32 +08:00
Xinyu Liu b134c3562a
Merge pull request #8367 from terry-xiaoyu/release_5.0.1-beta.1
chore: release 5.0.1-beta.1
2022-07-01 11:15:10 +08:00
Shawn 264cf036c7 chore: release 5.0.1-beta.1 2022-07-01 11:12:08 +08:00
JianBo He 094ed05897
Merge pull request #8351 from HJianBo/compatible-password-field
Authn: backword compatibility for 4.x authn data
2022-07-01 11:10:59 +08:00
zhongwencool e0ab8e58cf
Merge pull request #8360 from zhongwencool/example-name
chore: mv i18n.conf to emqx_dashboard/priv/
2022-07-01 10:23:10 +08:00
DDDHuang c64f589ef5
Merge pull request #8286 from DDDHuang/fix_rm_dashboard_user
fix: dashboard users api, cannot delete self
2022-07-01 09:42:46 +08:00
Zhongwen Deng 92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
DDDHuang 4f95f097f7 fix: publish api rename param from - clientid 2022-07-01 09:19:19 +08:00
William Yang ecf0c8d7e2 fix(quic): overload protection follows zone config 2022-06-30 20:51:45 +02:00
Zhongwen Deng 9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
Zhongwen Deng eb6977f23e fix: display The log path has not been set when can't find log_path 2022-06-30 21:15:57 +08:00
ieQu1 227602fa3a fix(bpapi): Don't check forward compatibility from old release 2022-06-30 14:09:43 +02:00
JianBo He 9acfd0ff9e chore: update emqx_authn.appup.src 2022-06-30 15:23:09 +08:00
DDDHuang f502e09f5f fix(dashboard): add more test suite 2022-06-30 14:52:48 +08:00
Zaiming (Stone) Shi 95706cf45f chore: update authz default config style 2022-06-30 08:09:38 +02:00
JianBo He 7de23f5863 chore(authn-redis): checking password field 2022-06-30 13:26:58 +08:00
JianBo He 8f696b6f8c fix(authn): correct peerhost placeholder rendering 2022-06-30 12:50:56 +08:00
JianBo He d7c21020f6 feat(authn-redis): needs to compatible with 4.x auth data 2022-06-30 11:26:56 +08:00
DDDHuang 0b32bf72f7 fix: dashboard users api, cannot delete self 2022-06-30 10:51:44 +08:00
Thales Macedo Garitezi e70ab24a48 fix(hooks): return error on hook-removed subscription rather than deleting it (5.0)
Port of https://github.com/emqx/emqx/pull/8346
2022-06-29 11:10:36 -03:00
Zaiming (Stone) Shi 79be7f9420
Merge pull request #8308 from zmstone/0623-fix-relup
5.0: fix relup
2022-06-29 13:41:24 +01:00
lafirest 8eca7d485c
Merge pull request #8317 from lafirest/feat/exhook_tcp_opts-v5
Feat/exhook tcp opts v5
2022-06-29 17:33:45 +08:00
zhongwencool f947aa2d77
Merge pull request #8331 from zmstone/0627-docs-add-cn-vsn-config-doc
docs: add zh version config doc template
2022-06-29 11:06:50 +08:00
zhongwencool eb7a039316
Merge pull request #8326 from HJianBo/docs-fixes
docs: improved comprehensibility for some fields
2022-06-29 09:09:02 +08:00
Zaiming Shi a548b82bc9 docs: add zh version config doc template 2022-06-28 22:34:24 +02:00
Zaiming (Stone) Shi b3f16ccb36 fix: Erlang distribution over TLS 2022-06-28 21:49:02 +02:00
Zaiming (Stone) Shi e4b22e2dc7 fix: enable -ssl_dist_optfile option in vm.args by default
this config has no effect if inet_tcp is in use
2022-06-28 21:49:02 +02:00
Zaiming (Stone) Shi b85abde9c0 Merge remote-tracking branch 'origin/master' into 0623-fix-relup 2022-06-28 12:52:16 +02:00
Zhongwen Deng c3cd36f610 fix: elvis warning 2022-06-28 15:29:26 +08:00
Zhongwen Deng 6372456211 chore: move vm.args.* to etc/ 2022-06-28 10:36:43 +08:00
Zhongwen Deng 130d1f7d9c chore: choose core node's max tnxid as source conf 2022-06-28 10:11:52 +08:00
Thales Macedo Garitezi 57a36e53da
Merge pull request #8304 from thalesmg/fix-client-sub-hook-50
fix(hooks): allow `client.subscribe` hook to reject subscriptions
2022-06-27 10:44:55 -03:00
JianBo He 6162ca3264 docs: improved comprehensibility for some fields 2022-06-27 18:21:10 +08:00
firest 11c2860ca2 fix(exhook): make spellcheck happy 2022-06-27 17:59:14 +08:00
Zaiming (Stone) Shi 55558ccfbd chore: allow lazy type environment variable override 2022-06-26 14:16:08 +02:00
Zaiming (Stone) Shi 5dec0be6e4 refactor(emqx_schema): remove union wrapper around array of maps
it's previously a union of array (of maps) and map.
since the second union member has been removed
there is no point of keeping the union wrapper
2022-06-26 14:13:14 +02:00
firest c696f08f63 chore(exhook): update appup 2022-06-24 19:07:51 +08:00
firest 8d0e95cc6b feat(exhook): expose tcp some options for grpc client 2022-06-24 19:03:23 +08:00
Zaiming (Stone) Shi 18f3920a73 feat: add --json option to 'emqx ctl cluster status' command 2022-06-23 21:59:11 +02:00
Thales Macedo Garitezi 4b44fda16b fix(hooks): allow `client.subscribe` hook to reject subscriptions
Port of https://github.com/emqx/emqx/pull/8288
2022-06-23 11:33:55 -03:00
ieQu1 a9ec193ef8 fix(prometheus): Disable authorization for metrics scraping endpoint 2022-06-23 00:31:53 +02:00
Shawn 51efe22e57 chore: update the appup files for authz/authn 2022-06-22 15:54:37 +08:00
Shawn defacb97df fix: disabled resources for authz/authn started after emqx reboot 2022-06-22 14:34:30 +08:00
Xinyu Liu e1b458a641
Merge branch 'master' into gen_api_schema_json_for_connector_and_bridge 2022-06-22 12:03:58 +08:00
Shawn 613a13e5e4 chore: add appup.src for emqx_conf 2022-06-22 09:18:36 +08:00
Shawn 1e6b3b51c0 feat: generate API schema files for connectors and bridges 2022-06-22 09:18:36 +08:00
Zaiming (Stone) Shi c269b72f25 docs: fix log_rotation zh text indentation 2022-06-22 00:40:00 +02:00
Zaiming (Stone) Shi a6f111798b fix(emqx_management): fix topics (routes) cli list command 2022-06-22 00:06:26 +02:00
Zaiming (Stone) Shi 54f3dd3ddc chore(appup): add appup for emqx_conf 2022-06-22 00:06:26 +02:00
Zaiming (Stone) Shi 717d5869a1 docs: remove root namespace
The root namespace was set to 'cluster' which is not very
accurate since not all the root level configs are 'cluster'
configs
2022-06-21 21:33:39 +02:00
Zaiming (Stone) Shi 0e62f4e70d docs: escape <foobar> as \<foobar> 2022-06-21 21:32:06 +02:00
ieQu1 78ffb2b2b1 test(bpapi): Add API dump for 5.0.0 2022-06-21 09:31:59 +02:00
Zaiming (Stone) Shi b467e11b2e fix(appup): fixed appup and version check scripts for 5.0 2022-06-20 22:20:31 +02:00
Zaiming (Stone) Shi 7ae3b4e28c chore: bump emqx app vsn to 5.0.1 2022-06-20 20:28:21 +02:00
Zaiming (Stone) Shi 385566c1a0 docs: change descriptive info from 'community' to 'opensource' 2022-06-20 19:38:29 +02:00
JianBo He 366779e621 chore: bump version 2022-06-17 20:41:30 +08:00
JianBo He e6fde4d292
Merge pull request #8259 from HJianBo/fix-url-conflict
fix(mgmt): avoid to HTTP dispatch failure due to an URI defination conflict
2022-06-17 20:40:07 +08:00
JianBo He 403ee13e17 test: increase waiting time 2022-06-17 20:00:38 +08:00
JianBo He 5bde280b5f chore: update apps/emqx_management/src/emqx_mgmt_api_listeners.erl 2022-06-17 18:47:59 +08:00
Zaiming (Stone) Shi 701a113aa4 ci: pin quicer 0.0.14 2022-06-17 12:35:54 +02:00
JianBo He 03d3fc42c7 fix(mgmt): avoid to HTTP dispatch failure due to an URI defination conflict
Since we bave defined
- `listeners/{listener_id}/authentication` in emqx_authn_api.erl
- and `listeners/{id}/{action}` in emqx_mgmt_api_listeners.erl

The HTTP Router always dispatch the `.../authentication` request to `listeners/{id}/{action}`,
which cause a no_union_member checking error.

In this PR, we make a workaround to avoid this dispatch error
2022-06-17 18:17:25 +08:00
Xinyu Liu 89a51ace51
Merge pull request #8260 from terry-xiaoyu/remove_headers_field_from_rule_events
fix: remove the 'headers' field from the rule events
2022-06-17 18:12:36 +08:00
Shawn f132b6f6ae fix: format the outputs for rule engine CLIs 2022-06-17 18:09:22 +08:00
Shawn 6685a3c5a8 fix: remove the 'headers' field from the rule events 2022-06-17 15:57:10 +08:00
JianBo He ca10340eed
Merge pull request #8253 from lafirest/fix/retainer_bucket
fix(retainer): check does the bucket is exists when update the retain…
2022-06-17 15:20:17 +08:00
zhongwencool 8ba9198a61
Merge pull request #8256 from zhongwencool/float-to-number
fix: keepalive_backoff should be a number(int|float)
2022-06-17 14:20:34 +08:00
Zhongwen Deng 430cb32ee0 fix: plugin_test failed 2022-06-17 12:09:18 +08:00
Zhongwen Deng bdb35c2e0b fix: keepalive_backoff should be a number(int|float) 2022-06-17 12:03:47 +08:00
Zhongwen Deng bbf45e9d2a fix: install plugins timeout by deadlock 2022-06-17 11:15:05 +08:00
firest 7bc9f0af0f fix(retainer): fix test case error 2022-06-17 11:09:06 +08:00
firest 2444970b0b fix(retainer): check does the bucket is exists when update the retainer config 2022-06-17 10:25:08 +08:00
Xinyu Liu c47d28cdc3
Merge pull request #8247 from terry-xiaoyu/mongo_auth_timeout
feat: add start_after_created option to resource:create/4
2022-06-17 07:51:52 +08:00
Shawn d6ef2f7502 refactor: graceful recreate resources 2022-06-17 05:29:18 +08:00
Zaiming (Stone) Shi 33032be5e7
Merge pull request #8249 from zhongwencool/restart-dashboard-crash
Restart dashboard crash
2022-06-16 21:48:17 +01:00
Zaiming (Stone) Shi 7824ae5f09 fix(pmap): try not to exit abnormal as much as possible 2022-06-16 21:03:19 +02:00
Zhongwen Deng 73711d4147 fix: brutal kill emqx_dashboard_listener 2022-06-17 00:08:03 +08:00
JianBo He 34fe5e67e7
Merge pull request #8243 from HJianBo/gw-fixes
fix(gw): enhance the authn resources managing logic
2022-06-16 23:40:38 +08:00
Shawn cc25f92273 feat: add start_after_created option to resource:create/4 2022-06-16 23:34:52 +08:00
JianBo He ad698834df test(gw): fix test cases 2022-06-16 22:55:44 +08:00
zhongwencool 7088b02480
Merge pull request #8239 from zhongwencool/listener-options-default
fix: default nodelay(true),buffer(4kb)
2022-06-16 21:57:13 +08:00
JianBo He ae1346e3f0 chore(gw): throw authn creation errors 2022-06-16 20:02:34 +08:00
Zaiming (Stone) Shi fa41c9ff35 chore: pin quicer 0.0.12
quicer (quic.git) 0.0.12 has a build cache enabled which can spped up
the builds
2022-06-16 12:17:02 +02:00
Zaiming (Stone) Shi 92ea558ff3
Merge pull request #8238 from zmstone/0616-feat-add-dns-srv-record-resolution
feat: add dns.record_type config for cluster discovery
2022-06-16 10:53:28 +01:00
William Yang 3c7dd5d6c4
Merge pull request #8092 from qzhuyan/dev/william/bump-quicer
feat: new quicer 0.0.11
2022-06-16 11:48:31 +02:00
JianBo He df2c17ccc4 fix(gw): enhance the authn resources managing logic 2022-06-16 17:48:19 +08:00
William Yang a911c27962 feat(quic): bump emqtt to 1.6.0 with quic 0.0.11 2022-06-16 10:38:46 +02:00
JianBo He 70c63779df
Merge pull request #8232 from HJianBo/mapping-ssl-true-to-required
chore(pgsql): mapping ssl option from 'true' to 'required'
2022-06-16 16:11:34 +08:00
Zhongwen Deng d8af08b292 fix: nodelay(true),buffer(4k) 2022-06-16 15:27:10 +08:00
Zaiming (Stone) Shi 7d49d1ee5c feat: add dns.record_type config for cluster discovery 2022-06-16 08:59:09 +02:00
Zaiming (Stone) Shi d0709798e7
Merge pull request #8229 from zmstone/0615-delete-appname-for-k8s-and-dns-discovery
Delete app name config for k8s and dns discovery
2022-06-16 07:29:02 +01:00
Zhongwen Deng 634a75341a fix: remove nonexistent listener should always return ok 2022-06-16 11:33:24 +08:00
Zhongwen Deng c6271de174 fix: restart started listener when listener connection options update 2022-06-16 11:26:54 +08:00
JianBo He 8194427cb3 chore(pgsql): mapping ssl option from 'true' to 'required'
Once the pgsql client is configured with ssl, we should force ssl to be used to
avoid fallback to tcp connection.
2022-06-16 10:04:07 +08:00
Xinyu Liu 3b00b16abe
Merge pull request #8221 from terry-xiaoyu/fix_delayed_module_disbled_after_emqx_stop
feat: fix the hook priorities
2022-06-16 09:42:42 +08:00
JianBo He 584a1a6415
Merge pull request #8226 from savonarola/listener-anonymous
feat(authn): add enable_authn flag for listeners
2022-06-16 09:40:24 +08:00
Shawn f59443eaee fix: add macro HP_HIGHEST=1000 2022-06-16 09:16:43 +08:00
Zaiming (Stone) Shi 67b8e6c3bd test: add a script to test dns cluster node discovery 2022-06-16 01:34:16 +02:00
Zaiming (Stone) Shi d35b95d00f refactor: remove dns.app config 2022-06-16 00:11:41 +02:00
Zaiming (Stone) Shi 05782c4e4e refactor: delete k8s.app_name config 2022-06-16 00:11:41 +02:00
Ilya Averyanov 2c5450e7f6 chore(authn): fix raw authn configs 2022-06-15 22:26:08 +03:00
Ilya Averyanov e381e3698f feat(authn): add enable_authn flag for listeners 2022-06-15 22:26:08 +03:00
Zaiming (Stone) Shi efda516125 chore: fix typos 2022-06-15 19:05:09 +02:00
Shawn 48f685a0dd fix: remove the APIs for emqx_hooks:put/2 and emqx_hooks:add/2 2022-06-16 00:43:50 +08:00
Zaiming (Stone) Shi 72f818bd91
Merge pull request #8206 from zhongwencool/schema-example
chore: add emqx-example-en.conf in release
2022-06-15 17:19:09 +01:00
zhongwencool 604f0d9511
Merge pull request #8224 from zhongwencool/gateway-authn-mismatch
fix: don't merge gateway's authn
2022-06-15 23:04:52 +08:00
Zhongwen Deng be7724b4e7 chore: add emqx-example-en.conf in release 2022-06-15 22:45:43 +08:00
zhongwencool fbfed35371
Merge pull request #8214 from zmstone/0613-best-effort-json-for-hocon-type-check-errors
refactor: best-effort json for hocon type check errors
2022-06-15 22:45:05 +08:00
Zhongwen Deng 5561fa6e06 fix: listener_SUITE failed 2022-06-15 21:20:25 +08:00
Zhongwen Deng 6cd123e6fc fix: don't merge gateway's authn 2022-06-15 21:07:05 +08:00
Zaiming (Stone) Shi 738a551550 refactor: best-effort json for hocon validation errors 2022-06-15 15:01:15 +02:00
William Yang 2908c06c54 fix(quic): default quic listener 2022-06-15 14:39:29 +02:00
William Yang 45e2605485 build: workaround for windows build 2022-06-15 14:39:29 +02:00
William Yang 96a510fbf1 feat(quic): fix some listener 2022-06-15 14:39:29 +02:00
William Yang 6349b5e5e0 feat(quic): bump to quicer 0.0.11 2022-06-15 14:39:29 +02:00
William Yang 219f159fe7
Merge pull request #8219 from qzhuyan/dev/william/emqx-conf-vm-args
chore(conf): mv some default val of vmargs to emqx_conf
2022-06-15 14:14:57 +02:00
JianBo He 89ff67a1e6
Merge pull request #8211 from lafirest/fix/limiter_infinity_update
fix(limiter): set maximum value for `infinity` rate and capacity
2022-06-15 20:04:55 +08:00
Ilya Averyanov 73dd969843
Merge pull request #8210 from savonarola/jwt-authn-add-from
feat(jwt authn): allow to specify JWT field
2022-06-15 14:56:04 +03:00
zhongwencool c4be262819
Merge pull request #8208 from DDDHuang/changepwd400
fix: user change pwd failed, response 400
2022-06-15 19:55:40 +08:00
zhongwencool 14ba93d1df
Merge pull request #8218 from zhongwencool/enabled-listener
feat: add enabled for listeners
2022-06-15 19:28:28 +08:00
Zaiming (Stone) Shi e0aa8641af chore: fix typo uncatched -> uncaught 2022-06-15 13:07:37 +02:00
Shawn 39b1b20506 feat: fix the hook priorities 2022-06-15 19:03:40 +08:00
JianBo He 67063cd088
Merge pull request #8190 from HJianBo/fix-authz-setting-required
fix(authz): fix required not working for authz-cache
2022-06-15 18:52:03 +08:00
Zaiming (Stone) Shi c371dd2464
Merge pull request #8202 from zmstone/0613-fix-no-alarm-when-init-rpc-call-failed
fix(cluster_rpc): no alarm when failed to initiate RPC call
2022-06-15 11:36:58 +01:00
Shawn 4ef86b47c7 fix: flaky test case for emqx_delayed 2022-06-15 18:21:57 +08:00
JianBo He 57e57205a0
Merge pull request #8207 from HJianBo/gw-fixes
Gateway restart won't make built-in-database data lost
2022-06-15 17:41:13 +08:00
firest 28d9939713 fix(limiter): fix test case errors 2022-06-15 17:35:13 +08:00
Xinyu Liu 17b2665a6d
Merge pull request #8217 from terry-xiaoyu/fix_delayed_module_disbled_after_emqx_stop
fix: the delayed module is disbled after ./bin/emqx stop
2022-06-15 16:42:29 +08:00
Zaiming (Stone) Shi 541bc223f8
Merge pull request #8213 from zmstone/fix-throw-error-message
chore(connector): schema validator throw error messages directly
2022-06-15 09:38:12 +01:00
firest 4e05d751c1 fix(limiter): change limiter log level to debug 2022-06-15 16:01:16 +08:00
Zhongwen Deng 042b88db2d fix: don't start listener when update stopped listener 2022-06-15 15:20:53 +08:00
William Yang efed970aab chore(conf): mv some default val of vmargs to emqx_conf 2022-06-15 09:06:06 +02:00
firest c147743895 fix(limiter): move default connection setting into schema 2022-06-15 14:57:49 +08:00
Zhongwen Deng 36af3d066f feat: add enabled for listeners 2022-06-15 14:39:58 +08:00
firest fa99b65c91 fix(limiter): refresh dispatcher limiter when retainer config updated 2022-06-15 14:11:15 +08:00
firest 6ca58e5fbc fix(limiter): fix test case error 2022-06-15 14:11:15 +08:00
firest e5d223000e fix(limiter): set maximum value for `infinity` rate and capacity
There are now two types of limiters, `infinity` and `limited`.
When `infinity` is updated to `limited` by config, the changes only take effect for new users.
When `limited` is updated to `infinity`, old users will never get tokens, because the `countes`
they hold are no longer updated.
Setting the maximum value for `infinity` rate and capacity can unify these two limiters and slove this problem
2022-06-15 14:11:12 +08:00
JianBo He 78dd9fe247 fix(gw): compatible with the max_connection is string type 2022-06-15 13:48:15 +08:00
JianBo He 77d4faa632 fix(gw): not updating the authenticator using re-creation 2022-06-15 13:48:15 +08:00
JianBo He 7d38f83aef feat(gw): keep authenticator resource after gateway disabled
After a gateway is disabled, we should turn off the authenticator instead of destroying it.
Once built-in-database authenticator is destroyed, it discards all
user's data and can't be managed
2022-06-15 13:48:15 +08:00
JianBo He 6c465cfb8f fix(gw): fix list listeners failed if gateway disabled 2022-06-15 13:48:15 +08:00
JianBo He 14a26fc876 fix(redis): make sentinel required 2022-06-15 13:48:15 +08:00
JianBo He 03967a83de chore(authz): make `authorization.cache.enable` required 2022-06-15 13:46:17 +08:00
JianBo He f1d4bab97d
Merge pull request #8156 from lafirest/fix/default_con_limiter
fix(limiter): add default connection limiter for listeners
2022-06-15 13:38:13 +08:00
Shawn 590a87a72b fix: the delayed module is disbled after ./bin/emqx stop 2022-06-15 12:00:41 +08:00
JianBo He ec840222cd
Merge pull request #8192 from HJianBo/authn-fuzzy-searching
fix(authn): fix enhance_authn fuzzy searching not working
2022-06-15 10:20:49 +08:00
William Yang 7961f9206b
Merge pull request #8205 from qzhuyan/dev/william/emqx-conf-vm-args
fix(emqx_conf): add missing vm.args
2022-06-14 23:23:07 +02:00
Zaiming (Stone) Shi aea4180aa0 chore(connector): schema validator throw error messages directly 2022-06-14 16:20:10 +02:00
Ilya Averyanov d0f686d19d feat(jwt authn): allow to specify JWT field 2022-06-14 14:34:45 +03:00
ieQu1 9ca2e3bc2a feat(retainer): CLI to list and clean retained messages 2022-06-14 11:24:15 +02:00
JianBo He 5817b7a9a9
Merge pull request #8157 from lafirest/fix/rmv_client_prefix
fix(metrics): remove the `client.` prefix for AuthN/AuthZ metrics
2022-06-14 17:23:48 +08:00
DDDHuang de10149133 fix: user change pwd failed, response 400 2022-06-14 17:21:53 +08:00
William Yang 2ec1a5bdb8 fix(emqx_conf): add missing vm.args
- process_limit
- max_ports
- dist_buffer_size
- max_ets_tables
2022-06-14 10:31:29 +02:00
JianBo He 2ad2da082b
Merge pull request #8139 from savonarola/authn-jwt-test
chore(jwt authn): improve tests
2022-06-14 14:23:23 +08:00
firest 45aa9d604b fix(metrics): remove the client. prefix for AuthN/AuthZ metrics 2022-06-14 14:08:25 +08:00
Xinyu Liu e9f2ba4c71
Merge pull request #8203 from terry-xiaoyu/force_sync_configs
Change the default retry_interval of cluster_rpc call to 1min
2022-06-14 11:27:24 +08:00
Shawn c72a0c386f fix: set retry interval to 1s in test cases 2022-06-14 10:34:33 +08:00
Thales Macedo Garitezi 4d0c60cacf
Merge pull request #8178 from thalesmg/fix-connack-auth-err-mqtt3-50
fix(metrics): inc `connack.auth_error` when using MQTT 3.1 (5.0)
2022-06-13 16:07:25 -03:00
Thales Macedo Garitezi 5f9778237a test(fix): avoid depending on other apps; fix setup 2022-06-13 12:00:00 -03:00
Shawn f4f263f91e fix: change the default retry_interval of cluster_rpc call to 1min 2022-06-13 22:52:51 +08:00
Zaiming (Stone) Shi e2ba1f1538 refactor: refuse initiating cluster call from stale node 2022-06-13 16:50:19 +02:00
Shawn dd099137f0 fix: catch errors when load bridges 2022-06-13 22:31:58 +08:00
ieQu1 04863dca1b
Merge pull request #8198 from ieQu1/list-rule-cli
feat(rule_engine): CLI to list rules
2022-06-13 16:05:22 +02:00
Zaiming (Stone) Shi 7e98bd7d2f fix(cluster_rpc): no alarm when failed to initiate a new cluster call 2022-06-13 15:56:00 +02:00
Zaiming (Stone) Shi 01118cb804
Merge pull request #8195 from zmstone/0613-refactor-display-rfc3339
refactor: expose rfc3339 datetime string
2022-06-13 14:19:19 +01:00
ieQu1 7817aec0d0 feat(rule_engine): CLI to list rules 2022-06-13 15:16:54 +02:00
Zaiming (Stone) Shi b18290626d
Merge pull request #8194 from zmstone/0613-uptime-format-as-string-in-cli-printout
fix: uptime display in CLI printout should be human-readable
2022-06-13 13:55:42 +01:00
William Yang 5b79fd55a2
Merge pull request #8176 from qzhuyan/dev/william/kill-quic
chore: don't build quic on MacOS
2022-06-13 14:34:39 +02:00
Zaiming (Stone) Shi 08d5f4869b
Merge pull request #8183 from zmstone/0612-chore-pin-rebar3_hex-plugin-version-7.0.2
build: pin rebar3_hex plugin version 7.0.2
2022-06-13 12:33:18 +01:00
William Yang d49a75ae28 chore: don't build quic on MacOS 2022-06-13 13:09:20 +02:00
Zaiming (Stone) Shi 8518e71db1
Merge pull request #8182 from zmstone/0611-fix-config-update-race-condition
fix(cluster_rpc): config update race condition
2022-06-13 11:46:08 +01:00
Zaiming (Stone) Shi 10add62206 refactor: expose rfc3339 datetime string 2022-06-13 11:56:07 +02:00
Zaiming (Stone) Shi ba23771a0a fix: uptime display in CLI printout should be human-readable 2022-06-13 11:44:26 +02:00
JianBo He 4ac151c9d8
Merge pull request #8193 from lafirest/fix/limiter_infinity_rate
fix(limiter): fix counter rate calc error
2022-06-13 17:31:54 +08:00
Zaiming (Stone) Shi 2e6af5f2e1 test: fix a flaky test
emqtt client may start before listener is ready
2022-06-13 10:46:31 +02:00
firest f5c1221ec8 fix(limiter): fix test case error 2022-06-13 15:58:22 +08:00
firest 7e3c8162ea fix(limiter): remove the `enable` field 2022-06-13 14:43:10 +08:00
firest d13055be43 fix(limiter): add default connection limiter for listeners 2022-06-13 14:43:10 +08:00
firest 2512ebf58e fix(limiter): fix counter rate calc error 2022-06-13 14:18:20 +08:00
JianBo He 29baf0f68a fix(authn): fix enhance_authn fuzzy searching not working 2022-06-13 13:38:06 +08:00
firest 2bab8884f9 fix(gateway): catch the error of invalid address 2022-06-13 10:58:43 +08:00
lafirest 1963441472
Merge pull request #8167 from lafirest/fix/limiter_period
fix(limiter): fix precision issue
2022-06-13 10:13:05 +08:00
Zaiming (Stone) Shi 2065be569e fix(emqx_cluster_rpc): fail fast on stale state
Due to:

* Cluster RPC MFA is not idempotent!
* There is a lack of rollback for callback's side-effects

For instance, when two nodes try to add a cluster-singleton
concurrently, one of them will have to wait for the table lock
then try to catch-up, then try to apply MFA.
The catch-up will have the singleton created, but the initiated
initiated multicall apply will fail causing the commit to rollback,
but not to 'undo' the singleton creation.
Later, the retries will fail indefinitely.
2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi 0e06e4acaa fix(emqx_conf): throw exception on clusetr_call falure
Not all callers handle error, some even ignore errors!
2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi 186e26e417 fix(emqx_plugins): call cluster_rpc to update config 2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi 4fdd793071 refactor: move config template file to rel dir 2022-06-12 19:57:08 +02:00
Zaiming (Stone) Shi d418850d3c
Merge pull request #8165 from zmstone/0609-chore-update-to-mria-0.2.8
chore: update mria to 0.2.8
2022-06-11 16:53:04 +01:00
Xinyu Liu 0c95c7342f
Merge pull request #8175 from terry-xiaoyu/create_bridge_connector_in_single_post
feat: support configure connector configs directly in bridges
2022-06-11 10:00:30 +08:00
Thales Macedo Garitezi 7cd35c9d44
fix(metrics): inc `connack.auth_error` when using MQTT 3.1 (5.0)
Since MQTT 3.1 uses a different reason code for auth failures, it was
failing to increase the corresponding metric that works for MQTT 5.0.
2022-06-10 17:40:27 -03:00
Shawn 9a0fdc4b11 feat: support configure connector configs directly in bridges 2022-06-10 23:06:20 +08:00
gsychev 86c1610d26
Merge pull request #8039 from gsychev/multinode_helper
Multinode helper
2022-06-10 13:10:38 +00:00
Zaiming (Stone) Shi 1b4f29bd64 chore: update ekka to 0.12.9
compring to 0.12.8, it included a version bump of erlang_rocksdb
which fixed a CI build issue (bad version number uploaded to github
artifacts, caused cached build result to always fail to download
hence fallback to compile from source code)
2022-06-10 13:59:30 +02:00
Ilya Averyanov 7301009b8e chore(jwt authn): improve tests, add pool_size to schema 2022-06-10 14:28:43 +03:00
ieQu1 48e2f0969a
Merge pull request #8169 from ieQu1/zero-length-retainer
fix(retainer): Handle zero-length topic levels
2022-06-10 13:05:04 +02:00
Ilya Averyanov 4e76797927 fix(retainer): add additional test 2022-06-10 12:33:27 +03:00
Shawn 146b8f34aa fix(spell): please the spell check 2022-06-10 14:22:40 +08:00
Shawn f18eab402a fix(CI): don't use any authz sources when testing 2022-06-10 14:21:20 +08:00
Shawn f159e081fa fix: deny all subscribes to '#' topics in the default acl.conf 2022-06-10 14:21:20 +08:00
ieQu1 8ff9a03df3 fix(retainer): Handle zero-length topic levels 2022-06-09 13:46:56 +02:00
Xinyu Liu 012e77b8a9
Merge pull request #8161 from terry-xiaoyu/fix_ws_default_idle_timeout
fix: change default idle_timeout of ws connections to 7200s
2022-06-09 18:48:23 +08:00
Shawn b0cd83254d fix: schema and desc for time_offset of the log handlers 2022-06-09 17:59:35 +08:00
Georgy Sychev c29eb8a409 feat(testing): Multinode testing helper 2022-06-09 13:33:01 +04:00
firest e01f8ecccb fix(limiter): fix precision issue
When the global rate is less than 1/s, the bad code produces a long period, this will make the rate not correct
2022-06-09 10:39:21 +08:00
Shawn dcc8e27bcd fix: change default idle_timeout of ws connections to 7200s 2022-06-09 10:29:49 +08:00
lafirest 0aab063dd5
Merge pull request #8153 from lafirest/fix/limiter_obtained
fix(limiter): fix initial value error for `obtained`
2022-06-08 13:46:30 +08:00
lafirest 91578a10f3
Merge pull request #8150 from lafirest/fix/authz_insert
fix(authz): prohibit overriding of existing client/user
2022-06-08 13:46:10 +08:00
lafirest 787724bb99
Merge pull request #8143 from lafirest/chore/bump_esockd_version
chore: bump esockd version
2022-06-08 10:17:02 +08:00
zhongwencool 5c31020b4c
Merge pull request #8154 from zhongwencool/gateway-listener-options
feat: rename gateway's tcp/ssl/udp/dtls to *_options
2022-06-08 10:00:09 +08:00
Zhongwen Deng 853ead3aaf fix: reload ssl listener failed 2022-06-08 06:25:13 +08:00
Zhongwen Deng 02872fb8c2 feat: rename gateway's tcp/ssl/udp/dtls to *_options 2022-06-07 22:23:02 +08:00
Zhongwen Deng 5e92ef54c5 fix: ct failed 2022-06-07 20:13:57 +08:00
firest d863a60cff fix(limiter): fix initial value error for `obtained` 2022-06-07 18:17:06 +08:00
Zhongwen Deng dd873147b3 feat: make tcp/ssl options more straightforward 2022-06-07 17:17:06 +08:00
firest 86a3ac0bef fix(authz): prohibit overriding of existing client/user 2022-06-07 16:34:01 +08:00
zhongwencool e035ff573d
Merge pull request #8145 from DDDHuang/app_login
fix: login failed spelling
2022-06-07 16:27:42 +08:00
zhongwencool 582cdbe370
Merge pull request #8136 from zhongwencool/reboot-applications
feat: change node.applications default to []
2022-06-07 16:00:53 +08:00
DDDHuang cae59ae555 fix: login failed spelling 2022-06-07 14:13:25 +08:00
firest 0b84479221 chore: bump esockd version 2022-06-07 13:20:56 +08:00
zhongwencool b3103a8701
Merge pull request #8140 from ieQu1/fix-dashboard-typerefl
fix(dashboard): Fix typing error
2022-06-07 11:41:56 +08:00
lafirest ecd46d42cb
Merge pull request #8141 from lafirest/fix/gateway_listen_addr
fix(gateway): gateway listen-address add support for `host:port` format
2022-06-07 11:01:29 +08:00
Zhongwen Deng cd91b4b582 fix: dialyzer never match warning 2022-06-07 10:47:40 +08:00
Zhongwen Deng 618a3e0cb8 fix: emqx_topic_metrics CT failed 2022-06-07 10:39:07 +08:00
Zhongwen Deng eb2a4df4af feat: change node.applications default to [] 2022-06-07 10:19:26 +08:00
firest 16da9cbcb4 fix(gateway): gateway listen-address add support for `host:port` format 2022-06-07 09:58:02 +08:00
ieQu1 44d73e620e fix(dashboard): Fix typing error 2022-06-07 02:26:16 +02:00
zhongwencool 914fbedd7e
Merge pull request #8116 from zhongwencool/better-hocon-validate-msg
chore: better hocon validate msg
2022-06-06 20:29:25 +08:00
Zhongwen Deng 4a49b27943 fix: dialyzer warning 2022-06-06 11:05:39 +08:00
Zhongwen Deng 91000eb342 fix: authz ct failed 2022-06-06 10:57:26 +08:00
Zhongwen Deng 2f5e0ada0c chore: more detailed about about retainer index spec 2022-06-06 09:55:12 +08:00
Zhongwen Deng de5e388afb chore: hocon validate message 2022-06-06 09:55:12 +08:00
Zhongwen Deng c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Ilya Averyanov 4adfe75530
Merge pull request #8108 from savonarola/authn-delete-chain
Authn delete chain
2022-06-03 12:16:42 +03:00
Zaiming (Stone) Shi a272951415
Merge pull request #8107 from zmstone/0531-test-fix-flaky-test-case
test: wait for listener to be ready before running test case
2022-06-02 15:52:40 +01:00
Ilya Averyanov 0893a36dec fix(authn): removed explicit chain creation for security reasons 2022-06-02 14:03:19 +03:00
Ilya Averyanov 92145d0275 fix(metrics): make metric id unique for authn provider instances 2022-06-02 14:03:19 +03:00
Ilya Averyanov d32b2ecd81 fix(authn api): update removing listener-specific chain logic 2022-06-02 14:03:14 +03:00
Ilya Averyanov 1bad5f8b7c
Merge pull request #8088 from savonarola/authn-import-users-request
feat(authn api): add method for user file upload
2022-06-02 13:51:46 +03:00
Ilya Averyanov 2d53c21d45 chore(authn api): replace user import api with upload api 2022-06-01 19:56:23 +03:00
Shawn b7f27157e5 fix: also alarm resource down when start resource failed 2022-06-01 15:41:55 +08:00
Shawn 69fba6958b refactor: remove the emqx_bridge_monitor module 2022-06-01 15:31:48 +08:00
Shawn 88ca25c60c fix(resource): fast return when starting a unavailable resource 2022-06-01 08:24:53 +08:00
Shawn 9f69e3cad6 fix(resource): discard dry_run resource down alarm 2022-06-01 08:24:53 +08:00
Zaiming (Stone) Shi a7148a4a43 test: wait for listener to be ready before running test case 2022-05-31 20:08:21 +02:00
Shawn 4c247c2c3c chore: release v5.0.0-rc.4 2022-05-31 23:35:46 +08:00
Xinyu Liu d9a5f53601
Merge pull request #8097 from zhongwencool/ct-failed
fix: ct failed
2022-05-31 22:02:35 +08:00
JianBo He f4db4ffa7d chore: change idle_timeout 24h -> 15s 2022-05-31 21:47:54 +08:00
Zhongwen Deng 9861e07426 fix: ct failed 2022-05-31 21:21:15 +08:00
Zaiming (Stone) Shi 9dda0a663f fix(emqx_schema): sync default values 2022-05-31 15:13:38 +02:00
Zaiming (Stone) Shi cd9811fe15
Merge pull request #8090 from zmstone/0531-fix-ensure-binary-from-size-format
fix: ensure bin-string returned from mgmt size format function
2022-05-31 14:09:31 +01:00
zhouzb 78adeea297
Merge pull request #8096 from zmstone/0531-fix-mac-mem-stat
fix(emqx_mgmt): return 0 for non-linux systems
2022-05-31 20:55:53 +08:00
JianBo He efc0ca2b62
Merge branch 'master' into changes-enable_pipelining-type 2022-05-31 20:49:10 +08:00
JianBo He 11ef46bc1d fix: fix badmatch for emqx_os_mon:update_mem_alarm_status/1 2022-05-31 20:46:48 +08:00
zhongwencool 55d2e5aee7
Merge pull request #8009 from zhongwencool/simplify-conf
feat: generate a minimized emqx.conf
2022-05-31 20:32:42 +08:00
Zaiming (Stone) Shi a2db7226c9 fix(emqx_mgmt): return 0 for non-linux systems 2022-05-31 14:09:56 +02:00
Zaiming (Stone) Shi e0ff930d61
Merge pull request #8094 from zmstone/0531-skip-non-linux-os-for-sysmem-alarm-update
fix: ignore other os when updating sysmem alarm
2022-05-31 12:33:03 +01:00
JianBo He f0ddac63cb chore: change the enable_pipelining default value 2022-05-31 19:32:53 +08:00
Zhongwen Deng d61b44ef97 fix: ct failed again 2022-05-31 19:20:27 +08:00
Zhongwen Deng 0fcc02caf4 chore: comment quic listener from emqx.conf 2022-05-31 19:20:27 +08:00
Zhongwen Deng 6c9b959651 fix: ct failed 2022-05-31 19:20:27 +08:00
Zhongwen Deng 26a57a00bb fix: cluster crash 2022-05-31 19:20:27 +08:00
Zhongwen Deng 1345b7e993 chore: bump hocon to 0.28.0 2022-05-31 19:20:27 +08:00
Zhongwen Deng 61237cd97b chore: debug for docker start failed 2022-05-31 19:20:27 +08:00
Zhongwen Deng 86113f3494 chore: don't gen example.conf in v5.0.0 2022-05-31 19:20:27 +08:00
Zhongwen Deng 9ec804ae03 feat: generate example.conf from schemas 2022-05-31 19:20:27 +08:00
Zhongwen Deng 8519b161dc chore: replace = by : in conf 2022-05-31 19:20:27 +08:00
Zhongwen Deng 2b4b3d1b56 test: debug broker segmentation fault 2022-05-31 19:20:27 +08:00
Zhongwen Deng d215f5e4e6 test: add default quic conf 2022-05-31 19:20:27 +08:00
Zhongwen Deng 239949ff0b fix: elvis warning 2022-05-31 19:20:27 +08:00
Zhongwen Deng 96baf4ccdb fix: don't add default if root_key not found 2022-05-31 19:20:27 +08:00
Zhongwen Deng 8aa60cc0a5 feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
Zaiming (Stone) Shi f4886206ef fix: ignore other os when updating sysmem alarm 2022-05-31 12:51:23 +02:00
Ilya Averyanov e258409a8f
Merge pull request #8071 from savonarola/mongodb-authn-defaults
chore(mongodb authn): add defaults for field names
2022-05-31 13:21:27 +03:00
JianBo He ebf4ed0270 feat(connector-http): using pos_integer() instead of boolean() for enable_pipelining 2022-05-31 17:14:59 +08:00
Zaiming (Stone) Shi 6062bc248d fix: ensure bin-string returned from mgmt size format function 2022-05-31 11:04:09 +02:00
ieQu1 06d2e1d05a
Merge pull request #8082 from ieQu1/mria-0.2.6
chore(mria): Bump version to 0.2.7
2022-05-31 10:22:52 +02:00
William Yang f6e53c7f55
Merge pull request #8086 from qzhuyan/dev/william/no-def-quic-listen 2022-05-31 07:39:10 +02:00
Xinyu Liu a8c87e8ab7
Merge pull request #8087 from terry-xiaoyu/resource_down_alarm
refactor(resource): improve health check and alarm it if resource down
2022-05-31 10:23:52 +08:00
Shawn d37a66e9b8 fix(test): update test cases for emqx_resource:health_check/1 2022-05-31 10:14:37 +08:00
JianBo He 33774c8b16
Merge pull request #8068 from lafirest/feat/topic_rewrite_5
feat(rewrite): Support %u and %c placeholders in topic rewrite rules
2022-05-31 10:14:18 +08:00
JianBo He 96f58d0ec8 Merge remote-tracking branch 'ce/master' into authn-import-users-request 2022-05-31 10:11:21 +08:00
JianBo He f1c596134a
Merge pull request #8084 from savonarola/authn-delete-chain
fix(authn api): add method for removing listener-specific chains
2022-05-31 09:50:53 +08:00
JianBo He 357cda7987
Merge pull request #8083 from HJianBo/gw-fixes
fix(gw): save ssl files for dtls listener
2022-05-31 09:38:45 +08:00
William Yang 3955456c8a chore: remove default quic listener 2022-05-30 23:58:44 +02:00
Ilya Averyanov 3be617cf40 feat(authn api): add method for user file upload 2022-05-31 00:40:10 +03:00
ieQu1 d5649d1f89 chore(mria): Bump version to 0.2.7 2022-05-30 20:20:23 +02:00
Shawn 1054c364ad refactor(resource): improve health check and alarm it if resource down 2022-05-31 01:40:40 +08:00
zhongwencool a6f43e3fc8
Merge pull request #8081 from zhongwencool/cluster-rpc-catchup-latestid
fix: always commit to TargetTnxId when init
2022-05-30 22:07:20 +08:00
Ilya Averyanov 4cae80c8d2 fix(authn api): add method for removing listener-specific chains 2022-05-30 15:33:21 +03:00
JianBo He b985c9cfca fix(gw): save ssl files for dtls listener 2022-05-30 19:34:48 +08:00
gsychev b80f038fcc
Merge pull request #7860 from gsychev/shared_redispatch5
Shared redispatch for 5.0
2022-05-30 11:20:51 +00:00
JianBo He f7f65b1219
Merge pull request #8080 from HJianBo/clear_exproto_in_right_way
test(gw): clean up exproto confs
2022-05-30 18:48:44 +08:00
Zhongwen Deng b456ef711c fix: always commit to TargetTnxId when init 2022-05-30 16:35:14 +08:00
JianBo He 13fb973018 test(gw): clean up exproto confs 2022-05-30 14:44:07 +08:00
Shawn 004a784952 fix(test): stop apps at the end of the emqx_bpapi_SUITE 2022-05-30 11:17:43 +08:00
Xinyu Liu 4bc58548aa
Merge pull request #8073 from terry-xiaoyu/rule_name_optional
fix: make 'name' field optional
2022-05-29 11:58:58 +08:00
Shawn b846220ffd fix(test): discard already_started error for gpc test server 2022-05-28 17:15:56 +08:00
Zaiming (Stone) Shi d249c2c22e
Merge pull request #8056 from thalesmg/move-db-config
chore(config): move db configs under cluster/node keys
2022-05-28 08:09:15 +01:00
Thales Macedo Garitezi f187ba4a62
Merge pull request #8074 from thalesmg/fix-flaky-test-responser
test(flaky): attempt to fix more flaky tests
2022-05-27 17:14:53 -03:00
Zaiming (Stone) Shi e714c27a89
Merge pull request #8072 from zmstone/0527-expose-ram-usage-from-lc-data
fix(emqx_mgmt): show used and total ram from lc
2022-05-27 21:12:02 +01:00
Thales Macedo Garitezi 718989c0c9
test(flaky): attempt to fix more flaky tests 2022-05-27 16:35:50 -03:00
gsychev db368e83b1
fix(session): takenover
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-05-27 14:54:18 +00:00
Thales Macedo Garitezi 1892e67547
fix: fix flaky test 2022-05-27 11:05:25 -03:00
Zaiming (Stone) Shi eacd3847ed fix(emqx_mgmt): show used and total ram from lc 2022-05-27 14:04:30 +02:00
Shawn eacc7768d2 fix: make 'name' field optional 2022-05-27 18:54:25 +08:00
Ilya Averyanov fdee23f492 chore(mongodb authn): add defaults for field names 2022-05-27 13:21:16 +03:00
firest 1d0b479d8e feat(rewrite): Support %u and %c placeholders in topic rewrite rules
fix #7438
2022-05-27 17:36:07 +08:00
Zaiming (Stone) Shi 7b9a600c20
Merge pull request #8055 from zmstone/0526-delete-edge-edition
refactor: stop releasing edge edition
2022-05-27 00:13:47 +01:00
Zaiming (Stone) Shi a76e258d41 test: fix flaky test 2022-05-26 20:05:46 +02:00
Zaiming (Stone) Shi ebe4d7c3fb refactor: stop releasing edge edition
Prior to EMQX 5.0, the edge edition's main difference comaring
to standard edition are:
* Less number of plugins in the release (smaller package size)
* Smaller number is vm.args (for lower memory usage)

Starting from 5.0 most of the plugins are included as features,
the tuned vm.args arguments does not justify a special release edition.

Also as nanomq is getting mature,
EMQ's recommendtation for MQTT broker in edge is https://nanomq.io/
2022-05-26 20:05:46 +02:00
Thales Macedo Garitezi d0c5de1da6
chore(config): move db configs under cluster/node keys 2022-05-26 14:02:22 -03:00
JimMoen 6c91cf3c72 fix: typo in authn/authz metrics sup 2022-05-26 20:11:45 +08:00
Xinyu Liu 4a8f74f913
Merge pull request #8049 from terry-xiaoyu/fix_ci_mqtt_caps
fix(test): emqx_mqtt_caps_SUITE failed with {config_not_found,[zones]}
2022-05-26 11:41:54 +08:00
Xinyu Liu fa38e19187
Merge pull request #8042 from terry-xiaoyu/rename_rule_outputs_to_actions
refactor(rule): rename outputs -> actions
2022-05-26 09:06:31 +08:00
Shawn 9c5c961356 fix(test): emqx_mqtt_caps_SUITE failed with {config_not_found,[zones]} 2022-05-26 08:45:25 +08:00
Shawn 55fce33477 fix: add telemetry testcases in all/0 2022-05-25 21:55:28 +08:00
Ilya Averyanov 5dba01b8fa fix(authn): fix user search API 2022-05-25 15:50:20 +03:00
Shawn a157539710 refactor(rule): rename http_bridge -> webhook 2022-05-25 18:56:12 +08:00
Shawn 71de9616d3 refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08:00
Xinyu Liu ea09ad6403
Merge pull request #8034 from emqx/update_relup_script
fix: porting the install_upgrade.escript from v4.4
2022-05-25 15:46:13 +08:00
Shawn 3d7cab4288 fix: porting emqx_relup.erl from 4.4 2022-05-25 12:37:03 +08:00
Thales Macedo Garitezi 0333e6f860
Merge pull request #8027 from thalesmg/telemetry-uuid-file
feat(telemetry): save uuids to files
2022-05-24 16:55:09 -03:00
Zaiming (Stone) Shi 24529337d9
Merge pull request #8038 from zmstone/0524-fix-typo
chore(emqx_os_mon): fix a typo
2022-05-24 18:51:04 +01:00
Zaiming (Stone) Shi ff9ba3e862 chore(emqx_os_mon): fix a typo 2022-05-24 18:08:34 +02:00
Zhongwen Deng e40d3c6228 chore: fix emqx_trace_SUITE failed 2022-05-24 22:26:55 +08:00
ieQu1 48c143b97a fix(emqx_trace): Read the data locally 2022-05-24 14:39:55 +02:00
Thales Macedo Garitezi 4afb4d9dd8
feat(telemetry): save uuids to files
In order for the node and cluster UUIDs used by telemetry to survive
database purges, we'll save the generated UUIDs to files in EMQX's
data directory as well.
2022-05-24 09:32:04 -03:00
Georgy Sychev d911a5a9d4 fix(shared): fixed logging 2022-05-24 15:57:38 +04:00
ieQu1 e7d70c142c fix(emqx_shared_sub): Don't crash on table schema change 2022-05-24 13:03:18 +02:00
ieQu1 27c922dbf2 fix(emqx_machine): Start essential applications as permanent 2022-05-24 12:42:30 +02:00
ieQu1 9474241ad9 fix(emqx_telemetry): Async start of telemetry module 2022-05-24 11:28:35 +02:00
Georgy Sychev d0cf112e17 fix(shared): dialyzer 2022-05-24 11:17:34 +04:00
zhongwencool 875b40a4fc
Merge pull request #8016 from lafirest/fix/simplify_limiter_cfg
fix(limiter): Simplified limiter configuration
2022-05-24 14:01:08 +08:00
firest 89de8274a0 test(retainer): fix flow control test case error 2022-05-24 12:44:47 +08:00
Georgy Sychev ea313df2cc fix(shared): removed emqx_message:format 2022-05-24 00:06:29 +04:00
Georgy Sychev 671906dd59 fix: typo 2022-05-23 22:46:49 +04:00
Georgy Sychev f964989d6b feat(shared): redispatch QoS1 messages when sub dies 2022-05-23 17:52:39 +04:00
firest 74f715ca08 fix(limiter): Simplified limiter configuration
1. Simplified limiter configuration
2. add switch for limiter server
2022-05-23 17:45:42 +08:00
Xinyu Liu 866810cea6
Merge pull request #8006 from emqx/copy-of-kjell/jq/timeout
feat(rule_engine): default timeout for jq/2 and jq/3 with timeout
2022-05-23 11:58:40 +08:00
zhongwencool 1b38317a1c
Merge pull request #8004 from lafirest/fix/unused_limit_conf
fix(limiter): remove the unused limit conf
2022-05-23 11:05:19 +08:00
JianBo He 31d097253b
Merge pull request #7964 from HJianBo/fix-exhooks-status
chore: rename the exhook server status names
2022-05-23 09:29:29 +08:00
Shawn 7bc2d9edbb fix: remove bison from the required tools when building emqx 2022-05-21 14:17:12 +08:00
Kjell Winblad efd6461e15 docs: chinese documentation for jq timeout configuration
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-05-21 07:07:29 +02:00
firest 6a2a7b96ea fix(limiter): remove the unused limit conf 2022-05-20 18:02:14 +08:00
Yang Miao c91dff349a
Merge pull request #7993 from EMQ-YangM/add_func_float2str
feat: add rule engine function float2str/2
2022-05-19 17:07:35 +08:00
EMQ-YangM 005fce63d1 feat: add rule engine function float2str/2 2022-05-19 16:16:05 +08:00
JianBo He 0a6276f9fe test: suppress ct:print/2 producing ton of useless logs 2022-05-19 14:16:21 +08:00
Xinyu Liu 54a6505984
Merge pull request #7982 from terry-xiaoyu/bridge_mode_in_mqtt_connector
fix: add bridge_mode field to the mqtt connector
2022-05-19 08:56:42 +08:00
Shawn a9da88d73b fix(spell): please the spell checker 2022-05-19 08:55:47 +08:00
Xinyu Liu 406bc3502e
Merge pull request #7981 from terry-xiaoyu/improve_bridge_apis
refactor: move some APIs to new module emqx_bridge_resource
2022-05-18 18:31:48 +08:00
Shawn 7e21ef6435 fix: add bridge_mode field to the mqtt connector 2022-05-18 18:28:43 +08:00
Yang Miao bf552f2c4b
Merge pull request #7980 from EMQ-YangM/fix_zero_padding
fix: zero padding should be to the MSB side
2022-05-18 17:22:23 +08:00
EMQ-YangM 66c62f432b fix: zero padding should be to the MSB side 2022-05-18 15:28:01 +08:00
Shawn d89d692d3e refactor: move some APIs to new module emqx_bridge_resource 2022-05-18 15:12:34 +08:00
Kjell Winblad 402ab7e759 chore: remove unnecessary repeated code
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-05-18 07:21:16 +02:00
Yang Miao 2b58733571
Merge pull request #7971 from EMQ-YangM/fix_hexstring_to_binary
fix: hexstr_to_bin support half byte
2022-05-18 10:14:25 +08:00
Xinyu Liu 071428507a
Merge pull request #7974 from terry-xiaoyu/rule_sql_metrics
fix: rename the rule metrics
2022-05-18 09:20:23 +08:00
Kjell Winblad 05032467bd feat(rule_engine): default timeout for jq/2 and jq/3 with timeout
This commit adds a default timeout of 10 seconds to the rule engine's
`jq/2` function, and adds a new function `jq/3` (where the last parameter is
a timeout value). The default timeout can be configured with the setting
"rule_engine.jq_function_default_timeout".

Having a timeout when executing jq code in the rule engine is important
as jq code can potentially run forever. Also, the Erlang jq library
limits the number of jq programs that can execute concurrently so a jq
program that loops forever could potentially also prevent a "non-buggy"
jq program from ever starting.
2022-05-17 19:36:32 +02:00
JianBo He 84812463d9
Merge pull request #7970 from HJianBo/gw-fixes
fix(gw): override configs while updating gw or listeners
2022-05-17 17:31:19 +08:00
Shawn c98fd04f8f fix: rename the rule metrics 2022-05-17 17:17:07 +08:00
EMQ-YangM d8da8f1686 fix: hexstr_to_bin support half byte 2022-05-17 16:47:59 +08:00
JianBo He 61b1731e5c fix(gw): merge the listener and authn confs 2022-05-17 15:16:03 +08:00
Zaiming (Stone) Shi d1ffba7ff4
Merge pull request #7966 from zmstone/0516-ignore-bad-metrix-value
fix(emqx_map_lib): ignore non-number non-map values
2022-05-17 07:33:15 +01:00
JianBo He 57bd862298 fix(gw): override configs while updating gw or listeners 2022-05-17 11:58:03 +08:00
JianBo He a6c15967d2 test(gw): ensure coap client kicked 2022-05-16 21:42:16 +08:00
Xinyu Liu 5e35e6bcb9
Merge pull request #7967 from emqx/fix_flaky_connector_tests
fix: change connector name to prevent race condition in tests
2022-05-16 21:04:46 +08:00
Thales Macedo Garitezi cab5ed09ff
Merge pull request #7949 from thalesmg/fix-telemetry-num-clients
fix(telemetry): use the live connection count instead of max conns
2022-05-16 09:16:25 -03:00
Xinyu Liu 9d5fef1513
Merge pull request #7961 from terry-xiaoyu/emqx_build_5.0-15
chore: ping emqx-builder to 5.0-15
2022-05-16 19:20:32 +08:00
Xinyu Liu 5d5a6a14cf
Merge pull request #7957 from EMQ-YangM/fix_other_events
fix: ignore all other events
2022-05-16 18:23:36 +08:00
Chris 0c6a66e554 fix: change connector name to prevent race condition in tests 2022-05-16 12:22:57 +02:00
Shawn c4faaee555 chore: release 5.0.0-rc.3 2022-05-16 18:10:42 +08:00
JianBo He 4d35338cd1
Merge pull request #7963 from HJianBo/add-proto-name-for-client-disconnected-v5
feat(rule-engine): add proto_name/proto_ver for $event/client_disconnected event
2022-05-16 18:06:06 +08:00
EMQ-YangM 574a40b327 fix: wait for test_resource stop 2022-05-16 17:00:42 +08:00
Zaiming (Stone) Shi 5deb0c4878 fix(emqx_map_lib): ignore non-number non-map values 2022-05-16 10:59:18 +02:00
EMQ-YangM 561d8c3912 fix: load connector schema 2022-05-16 16:38:33 +08:00
JianBo He 6e203496c9 chore: rename the exhook server status names 2022-05-16 16:08:54 +08:00
JianBo He d8ec51a0c2 feat(rule-engine): add proto_name/proto_ver for $event/client_disconnected event 2022-05-16 15:12:41 +08:00
EMQ-YangM b5addf7e05 fix: log all ignore events 2022-05-16 15:08:03 +08:00
EMQ-YangM bbbfea1b5b fix: ignore all other events 2022-05-16 15:08:03 +08:00
Zaiming (Stone) Shi 3524fb6994
Merge pull request #7775 from zmstone/0426-5.0-hint-metrics-merge-errors
fix: hint metrics merge errors
2022-05-16 07:42:01 +01:00
Zaiming (Stone) Shi 1c95c417f7
Merge pull request #7951 from zmstone/0514-fix-flaky-authn-test-case
0514 fix flaky authn test case
2022-05-16 06:55:28 +01:00
EMQ-YangM 1a1c82932a fix: when connecting health check failed, update status. 2022-05-16 10:47:20 +08:00
Chris 93799e3ac6 refactor: delete now unused emqx_resource modules 2022-05-16 09:54:26 +08:00
Xinyu Liu 74bef22299
Merge pull request #7947 from emqx/fix_flaky_tests
fix: fix tests for connector so they do not fail
2022-05-16 09:35:00 +08:00
Xinyu Liu c4fd31ae25
Merge pull request #7916 from emqx/EMQX-4204-auto-timer-based-retry-when-in-disconnected-state
feat: add auto_retry for disconnected state in resource manager
2022-05-16 09:34:08 +08:00
JianBo He 3f59650e4b
Merge pull request #7944 from EMQ-YangM/fix_bridge_status
fix: restart resource should not clear metrics
2022-05-16 09:16:12 +08:00
Zaiming (Stone) Shi ed0ab70aaf test: fix flaky-ness of authn api tests
if api test suite runs after the JWT suite, it failes as
the config is not clean
2022-05-15 09:19:31 +02:00
Zaiming (Stone) Shi 522bd935ba fix(authn): check authenticator config existence in pre-update callback
prior to this change, the authenticator existence check was done
in the post-update callback, this causes confusion as teh list
already contains duplication.
2022-05-15 09:19:31 +02:00
Zaiming (Stone) Shi 9527561125 refactor: ensure auth mechanism is binary 2022-05-15 09:19:28 +02:00
Zaiming (Stone) Shi 382d9079e1
Merge pull request #7923 from zmstone/0511-pin-lc-0.3.0-fix-memory-usage-false-alarm
pin lc 0.3.0 fix memory usage false alarm
2022-05-13 21:55:23 +01:00
Zaiming (Stone) Shi 2eb621ba57 fix: hint metrics merge errors 2022-05-13 21:38:51 +02:00
Zaiming (Stone) Shi d48528d74f chore(emqx_os_mon): no need for special handling of 0 2022-05-13 21:12:08 +02:00
Zaiming (Stone) Shi 5f3780a032 fix(os_mon): ensure float point number for ~f format 2022-05-13 20:55:28 +02:00
Zaiming (Stone) Shi 99d50d2455
Merge pull request #7496 from zmstone/0401-5.0-add-parallel-map-lib
refactor: refine pmap with nolink_apply
2022-05-13 18:40:36 +01:00
JimMoen 0c88457b4e
Merge pull request #7945 from DDDHuang/dash_m
feat: dashboard monitor missed topics field
2022-05-14 00:15:43 +08:00
Ilya Averyanov 4d661cd67b
Merge pull request #7939 from savonarola/authz-generalize
feat(authz): add default authn-based authz source
2022-05-13 17:12:56 +03:00
Zaiming (Stone) Shi c355c40ea8 refactor: call emqx_alarm:ensure_deactivated everywhere 2022-05-13 16:02:55 +02:00
Zaiming (Stone) Shi 4013dd2f14 refactor: refine pmap implementation 2022-05-13 15:22:42 +02:00
Georgy Sychev 0522361604 feat(shared_sub): Per-group shared subscription and local strategy 2022-05-13 14:23:06 +02:00
Thales Macedo Garitezi e0a6ebbd56
fix(telemetry): use the live connection count instead of max conns 2022-05-13 09:02:15 -03:00
Zaiming (Stone) Shi 1ea0639321 fix(os_mon): do mem check and alarm triggers in emqx_os_mon 2022-05-13 13:06:27 +02:00
Zaiming (Stone) Shi 95f81126ca fix(emqx_os_mon): call load_ctl (lc) to get accurate memory stats
Prior to this commit, the RAM usage ratio reported by memsup is
used to trigger EMQX alarm.
This ratio counted system cache as 'used', so quite often
a false alarm is triggered.
With lc 0.3.0, the usage is caculated without cached RAM
2022-05-13 13:06:27 +02:00
Zaiming (Stone) Shi eb592df275 chore: pin lc version 0.3.0
lc 0.3.0 has new APIs added to get total RAM and usage ratio
2022-05-13 13:06:27 +02:00
Zaiming (Stone) Shi 44b14fc019
Merge pull request #7948 from zmstone/0513-fix-flaky-test
0513 fix flaky test
2022-05-13 12:06:03 +01:00
ieQu1 d277e2b644
Merge pull request #7897 from ieQu1/persist-sess-schema
feat(persistent_session): Make schema more flexible
2022-05-13 11:53:30 +02:00
Zaiming (Stone) Shi 7207b2fa70 test: ensure emqx app stoped for emqx_ctl_SUITE run 2022-05-13 11:52:41 +02:00
Zaiming (Stone) Shi b17a32661e test: fix flaky test, wait for new sample data 2022-05-13 11:52:41 +02:00
Ilya Averyanov 91da451803 feat(authz): add default authn-based authz source 2022-05-13 12:51:10 +03:00
Chris 6574c33797 feat: add auto_retry for disconnected state in resource manager 2022-05-13 11:19:39 +02:00
Chris dbc361959c fix: fix tests for connector so they do not fail 2022-05-13 11:08:11 +02:00
JimMoen ce2638d9c3 test(exhook): test create ExHook server with bad name 2022-05-13 16:56:29 +08:00
JimMoen 4d73fe83be fix(exhook): ExHook name limit with regular expression 2022-05-13 16:56:29 +08:00
DDDHuang a8ef4698e6 feat: dashboard monitor missed topics field 2022-05-13 16:15:33 +08:00
EMQ-YangM d5c416736b fix: restart resource should not clear metrics 2022-05-13 16:05:41 +08:00
JianBo He 93a65da6bc
Merge pull request #7937 from JimMoen/fix-exhook-ssl-key-path 2022-05-13 16:05:16 +08:00
DDDHuang 448f9b5c9f
Merge pull request #7940 from DDDHuang/mqtt_bridge_cs
fix: clean session when destroy mqtt bridge
2022-05-13 16:04:09 +08:00
Zaiming (Stone) Shi 2c9478eeb4
Merge pull request #7943 from zmstone/docs-fix-typo-water-mark-watermark
docs: water mark -> watermark
2022-05-13 08:59:44 +01:00
Zaiming (Stone) Shi 002249a89a docs: water mark -> watermark 2022-05-13 08:35:33 +02:00
DDDHuang 9744040795 fix: clean session when destroy mqtt bridge 2022-05-13 14:02:40 +08:00
EMQ-YangM 798a6dcfb9 fix: update comment 2022-05-13 13:55:17 +08:00
EMQ-YangM 637b81ec18 fix: mqtt connector disable bridge_mode 2022-05-13 13:08:04 +08:00
JimMoen f25dd4b571 fix(exhook): use `lists:filter/2` to delete exhook server conf 2022-05-13 10:15:00 +08:00
JimMoen 40188c140b fix(exhook): show file paths for SSL certs in dashboard 2022-05-13 10:15:00 +08:00
JianBo He bcac65310b
Merge pull request #7931 from HJianBo/gw-fixes
Increase the wait time to get the error of creating authn
2022-05-13 10:10:34 +08:00
Ilya Averyanov ca0c80965a
Merge pull request #7890 from savonarola/fix-jwt-acl-v5
fix(jwt auth): improve JWT handling
2022-05-12 19:48:37 +03:00
ieQu1 8dbd080e45 docs(persistent_session): Apply suggestions from William 2022-05-12 14:29:25 +02:00
ieQu1 b06c4cb6cc docs(persistent_session): Apply suggestions from code review
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-05-12 14:29:25 +02:00
ieQu1 03cfb67a45 docs(persistent_session): Fix Chinese translation 2022-05-12 14:29:25 +02:00
ieQu1 a1285cd308 fix(persistent_sessions): Enhance documentation 2022-05-12 14:29:25 +02:00
ieQu1 39aa7de88f fix(grammar): Fix Chinese translations
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-05-12 14:29:25 +02:00
ieQu1 5221c6b2f9 feat(persistent_session): Make schema more flexible 2022-05-12 14:29:25 +02:00
JianBo He 3f84600401 test(gw): remove enable option from server ssl conf 2022-05-12 20:27:25 +08:00
ieQu1 4c844eba95
Merge pull request #7932 from ieQu1/bpapi-sort-versions
fix(bpapi): Sort versions
2022-05-12 13:41:33 +02:00
JianBo He 1867b86bad fix(mgmt): return null instead of "undefined" string 2022-05-12 19:26:14 +08:00
JianBo He ebe8b3fd20 chore(gw): pretty print exproto logs 2022-05-12 19:26:14 +08:00
JianBo He 18d265cecd chore(gw): increase timeout to update gateway instance 2022-05-12 19:26:14 +08:00
DDDHuang 8b0adf69d2
Merge pull request #7926 from DDDHuang/rule_api_errormsg
fix: better error message for rule engine
2022-05-12 19:07:47 +08:00
DDDHuang 5210cd6e8d fix(test): rule engine api SUITE , bad rule name 2022-05-12 18:01:37 +08:00
ieQu1 e71cac5031 chore(bpapi): Ensure versions are sorted alphabetically 2022-05-12 11:49:01 +02:00
DDDHuang 8516b457f3 fix(SUTIE): connector api, bad rule name in SUITE 2022-05-12 17:33:19 +08:00
ieQu1 ace6ad25e9 fix(bpapi): Compile the code in check profile before running xref 2022-05-12 11:30:05 +02:00
Ilya Averyanov e0fa07b679 fix(jwt auth): improve JWT handling 2022-05-12 12:10:47 +03:00
ieQu1 c39665edbd refactor(bpapi): Un-chew formatting 2022-05-12 10:55:22 +02:00
DDDHuang 2de69c97ba fix: ruleengine & connector & bridge api, better error message 2022-05-12 16:51:36 +08:00
Zhongwen Deng af8cad3856 chore: bump minirest to 1.3.3(force generate dispatch rule) 2022-05-12 16:42:20 +08:00
Zhongwen Deng 09e5f35f5c fix: include ref's desc 2022-05-12 16:17:03 +08:00
JimMoen 41e5bda914
Merge pull request #7903 from JimMoen/refactor-authn-authz-resource
refactor authn authz resource
2022-05-12 15:57:41 +08:00
lafirest d06377d82d
Merge pull request #7925 from lafirest/chore/esockd_version
chore: update esockd to 5.9.2
2022-05-12 15:49:08 +08:00
zhongwencool dbfbdb930f
Merge pull request #7920 from zhongwencool/remove-enable-from-server-ssl-options
fix: remove enable from server_ssl_opts_schema
2022-05-12 14:47:26 +08:00
JimMoen c181efd0ae test(gateway): fix authz callback rename 2022-05-12 14:39:12 +08:00
JimMoen 4fa84cce29 test(authn): test unsupported redis CMD 2022-05-12 14:19:57 +08:00
JimMoen 87af77ec35 refactor: do not destory resource when update authn/authz resource 2022-05-12 14:19:57 +08:00
JimMoen a5ddc5390f refactor(resource): add resource recreate fun with empty opts 2022-05-12 14:19:56 +08:00
Zhongwen Deng f0cb72dda6 fix: telemetry can't get active plugins list 2022-05-12 11:18:44 +08:00
DDDHuang a284ab9cf8 fix: better error message for rule engine 2022-05-12 11:06:07 +08:00
zhongwencool 16b6c2f849
Merge pull request #7921 from zhongwencool/add-node-query-string-to-download-tracelog
feat: add node query_string to download logs for specific nodes
2022-05-12 10:26:47 +08:00
firest 8a5c11744f chore: update esockd to 5.9.2 2022-05-12 10:18:37 +08:00
zhongwencool a78cb1c418
Merge pull request #7917 from zhongwencool/stop-plugins-error
docs: more clear about stop plugins error.
2022-05-12 09:41:17 +08:00
lafirest dc77c052cf
Merge pull request #7904 from lafirest/fix/listener_limiter_update
fix(listener): when update listener conf, should override limiter con…
2022-05-12 09:13:38 +08:00
lafirest 941307c101
Merge pull request #7918 from lafirest/fix/authz_info
fix(authz): add authz source type into the authorize logger
2022-05-12 09:09:58 +08:00
Thales Macedo Garitezi 7fe5513370
Merge pull request #7900 from thalesmg/fix-telemetry-metrics
feat: change some telemetry metrics
2022-05-11 16:58:34 -03:00
Thales Macedo Garitezi 11b61881de
chore: bump ekka -> 0.12.6, mria -> 0.2.5
reduce mria logs when in RLOG mode.

https://github.com/emqx/ekka/pull/161
https://github.com/emqx/mria/pull/84
https://github.com/emqx/mria/pull/86
2022-05-11 15:15:41 -03:00
Thales Macedo Garitezi 47ed9cbc76
fix(telemetry): count bridges referenced in `from` rule clauses 2022-05-11 15:15:17 -03:00
Thales Macedo Garitezi 9e706fc76d
feat(telemetry): count advanced mqtt feature usage
Originally, we wanted to just check if certain features were enabled.
Now, we want to count certain usage metrics for them.
2022-05-11 15:15:17 -03:00
Zaiming (Stone) Shi a13b146499
Merge pull request #7908 from thalesmg/fix-flaky-listener-tests
test: fix flaky listener tests
2022-05-11 19:12:15 +01:00
Thales Macedo Garitezi 0925f2104c
test: fix flaky tests 2022-05-11 13:42:47 -03:00
Zaiming (Stone) Shi 5bd1ae6bed
Merge pull request #7901 from zmstone/0508-docs-authn-refine-config-doc
docs(authn): use hocon enum for use_id_type
2022-05-11 17:42:38 +01:00
Zhongwen Deng 7c65d7159b feat: add node query_string to download logs for specific nodes 2022-05-11 23:19:06 +08:00
Zaiming (Stone) Shi 6dd66753bb
Merge pull request #7907 from zmstone/0510-test-avoid-timeout-when-waiting-for-dashboard-listener-in-ct
test: ensure no timeout when waiting for dashboard listener
2022-05-11 16:15:24 +01:00
Zhongwen Deng 426a829ee0 docs: more clear about stop plugins error. 2022-05-11 22:13:44 +08:00
Zhongwen Deng e929da2e68 fix: remove enable from server_ssl_opts_schema 2022-05-11 22:08:24 +08:00
Thales Macedo Garitezi e0054f6a4e
Merge pull request #7906 from thalesmg/doc-hide-per-shard
docs: hide shard transport config from docs
2022-05-11 11:02:48 -03:00
firest 5220869dd8 fix(authz): add authz source type into the authorize logger 2022-05-11 17:54:42 +08:00
Zaiming (Stone) Shi 60ca1cb2a5 refactor(authn): use hocon enum type for user_id_type 2022-05-11 09:02:55 +02:00
Zaiming (Stone) Shi 41448849ff test: ensure no timeout when waiting for dashboard listener 2022-05-11 08:45:32 +02:00
firest c9227703fc fix(listener): when update listener conf, should override limiter config not merge 2022-05-11 14:00:54 +08:00
Zaiming (Stone) Shi 57c1c418d6 docs(authn): use a string alias for user_id_type 2022-05-10 18:28:16 +02:00
Thales Macedo Garitezi 135cf4fac2
docs: hide shard transport config from docs
Those configurations are too "magical" for the average user, and
keeping them in the docs might confuse users.
2022-05-10 11:40:49 -03:00
zhongwencool 0924c7dc13
Merge pull request #7902 from DDDHuang/ddd_fix
fix: node info, log path only path
2022-05-10 21:47:26 +08:00
DDDHuang 76102714aa fix: node info, log path only path 2022-05-10 18:00:09 +08:00
Zhongwen Deng 703a8d3eff fix: clear cert crash when config is undefined 2022-05-10 15:47:16 +08:00
Zhongwen Deng 83b4b658e2 fix: assert not empty list 2022-05-10 09:39:53 +08:00
Zhongwen Deng 7c34c8a8b1 fix: retry if init_disaptch failed 2022-05-10 09:38:48 +08:00
Zhongwen Deng 34ad395abe fix: don't router request until dispatch is ready 2022-05-10 09:38:48 +08:00
Zhongwen Deng 068421d0e1 feat: don't dispatch requests until dispatch is ready 2022-05-10 09:38:48 +08:00
Zhongwen Deng b91e9e59ba chore: bump minirest to 1.3.1(generate api_spec concurrency) 2022-05-10 09:38:48 +08:00
Zhongwen Deng ec297965f6 fix: move clear_i18n to after clause 2022-05-10 09:38:48 +08:00
Zhongwen Deng e6e66b032e fix: mgmt_cli_SUITE ct failed 2022-05-10 09:38:48 +08:00
Zhongwen Deng 23a01e393c chore: bump minirest to 1.3.0 2022-05-10 09:38:48 +08:00
Zhongwen Deng 5c66b6f04d feat: generate dashboard's dispatch asynchronously 2022-05-10 09:38:48 +08:00
Chris Hicks 841acb7828
Merge pull request #7783 from emqx/EMQX-4199-introduce-a-new-emqx-resource-manager-module
feat: isolate resource manager processes
2022-05-09 18:33:01 +02:00
Chris ffd4e83ed7 test: add emqx_connector_SUITE to increase coverage 2022-05-09 14:12:21 +02:00
Chris 0b3e30e813 feat: isolate resource manager processes 2022-05-09 13:24:34 +02:00
lafirest d05e627332
Merge pull request #7884 from lafirest/fix/gateway_cluster_status
fix(gateway): add node status for some list APIs
2022-05-09 17:41:12 +08:00
Zhongwen Deng 2371604589 fix: infinity means never expire 2022-05-09 14:43:37 +08:00
firest 81e57f2148 fix(gateway): make it safer to get the value of bind 2022-05-09 12:37:15 +08:00
firest 93ab0458d1 fix(gateway): make gateway listeners list return act like MQTT listeners 2022-05-09 12:37:15 +08:00
firest f20f05161f fix(gateway): sum the cluster connection data 2022-05-09 12:37:15 +08:00
firest db9cb6c4a0 fix(gateway): add node_status into the result of /gateway/{name}/listeners 2022-05-09 12:37:15 +08:00
firest 2c558152ed fix(gateway): add node_status into the result of /gateway API 2022-05-09 12:37:15 +08:00
JianBo He 4d3aa16ceb
Merge pull request #7881 from lafirest/fix/limiter_update
fix(limiter): add config update handler for limiter
2022-05-09 11:07:26 +08:00
firest 1355f7c887 fix(retainer): fix test case and xref error 2022-05-07 17:01:51 +08:00
firest a4a9650e66 fix(limiter): add config update handler for limiter 2022-05-07 17:01:51 +08:00
firest ba683167bd fix(limiter): remove unused rate limit codes 2022-05-07 17:00:13 +08:00
JianBo He 8db8598622 fix(mgmt): fix test case crash 2022-05-07 10:16:58 +08:00
JianBo He 2ef118ce4c chore(fmt): format management 2022-05-07 10:16:58 +08:00
JianBo He 6e03a7c686 fix(authn): use a random group id to void data overlap 2022-05-07 10:16:58 +08:00
Xinyu Liu 62d448fb28
Merge pull request #7889 from terry-xiaoyu/jq_v0.1.1
chore: update jq to v0.2.0
2022-05-07 09:57:48 +08:00
Shawn 82da4d82be chore: update jq to v0.2.0 2022-05-06 22:20:35 +08:00
lafirest 495ef7f301
Merge pull request #7879 from lafirest/fix/listener_with_limiter
fix(listeners): add limiter info into the listener config
2022-05-06 20:34:57 +08:00
Thales Macedo Garitezi ef19fa7cc9
Merge pull request #7877 from thalesmg/bump-ekka-0-12-5
chore(ekka): bump ekka -> 0.12.5
2022-05-06 09:02:02 -03:00
lafirest 3a634fed81
Merge pull request #7883 from lafirest/fix/update_limiter_arg
fix(mgmt): change the argument position of limiter APIs
2022-05-06 16:49:34 +08:00
Ilya Averyanov 4cff19985e
Merge pull request #7872 from savonarola/fix-mongo-conn-healthcheck
fix(mongodb): fix mongodb connection healthcheck
2022-05-06 11:47:26 +03:00
firest acba1626f6 fix(mgmt): change the argument position of limiter APIs 2022-05-06 16:37:53 +08:00
Chris Hicks 2f58eda91e
Merge pull request #7873 from emqx/EMQX-2412-test-improve-emqx-connector-test-coverage-from-71-to-80
fix: remove case clause where the error clause can never be reached
2022-05-06 10:34:46 +02:00
firest b394d18852 fix(listeners): add limiter info into the listener config 2022-05-06 13:33:03 +08:00
JianBo He 90493e72a9
Merge pull request #7864 from JimMoen/fix-exhook-api
Fix exhook api
2022-05-06 13:19:09 +08:00
Yang Miao c7826db3f7
Merge pull request #7865 from EMQ-YangM/fix_imporve_authn_authz_metrics
fix: improve authn, authz metrics
2022-05-06 11:19:47 +08:00
Yang Miao db3c90578f
Merge pull request #7869 from EMQ-YangM/improve_decode_jeson
fix: avoid 'rule_test' api crash
2022-05-06 11:19:34 +08:00
zhongwencool 2d58121ed0
Merge pull request #7857 from DDDHuang/monitor_10s
fix: monitor calculate rate time delta is 0
2022-05-06 10:27:06 +08:00
JianBo He 596005ca5f
Merge pull request #7866 from JimMoen/fix-retainer-api-page-limit
Fix retainer api page limit
2022-05-06 09:10:34 +08:00
JianBo He ae2c150384
Merge pull request #7593 from EMQ-YangM/improve_mgmt_cli_cover
draft: improve emqx_mgmt_cli test coverage
2022-05-06 09:10:10 +08:00
Thales Macedo Garitezi 2771193359
chore(ekka): bump ekka -> 0.12.5
Improves autocluster resilience against split-brain during startup.

https://github.com/emqx/ekka/pull/160
2022-05-05 17:02:47 -03:00
William Yang 7dcdae4672
Merge pull request #7874 from qzhuyan/dev/william/logging-fix
chore: minor logging fix
2022-05-05 20:23:21 +02:00
Xinyu Liu b11400da06
Merge pull request #7871 from terry-xiaoyu/connector_restart_wrong_node
fix: restart bridges via HTTP APIs to wrong node
2022-05-06 00:14:40 +08:00
William Yang 5ffce8d619 chore: minor logging fix 2022-05-05 16:04:51 +02:00
Ilya Averyanov 0dae3f43a9 fix(mongodb): fix mongodb connection healthcheck 2022-05-05 15:36:38 +03:00
JimMoen 041ea4ba5c test(retainer): retainer api page read 2022-05-05 20:33:39 +08:00
JimMoen 6895ce9978 fix(retainer): retainer message page read 2022-05-05 20:33:39 +08:00
Chris 6971a3109f fix: remove case clause where the error clause can never be reached 2022-05-05 14:26:04 +02:00
lafirest 97e778e797
Merge pull request #7868 from lafirest/feat/limiter_api
feat(limiter): add limiter view/update api
2022-05-05 19:08:47 +08:00
EMQ-YangM 30b3060327 fix: improve authn, authz metrics 2022-05-05 18:53:31 +08:00
JianBo He 39a26f8225
Merge pull request #7853 from HJianBo/fix-gw-bad-ssl
Fix gateway listener API return 500
2022-05-05 18:47:41 +08:00
Shawn 9a033af2e8 fix: restart bridges via HTTP APIs to wrong node 2022-05-05 18:47:19 +08:00
Xinyu Liu 55cdce955c
Merge pull request #7863 from terry-xiaoyu/connector_ssl
fix: don't drop input ssl options even if invalid
2022-05-05 17:45:46 +08:00
zhongwencool 7f0f2571d0
Merge pull request #7861 from zhongwencool/username-as-clientid-not-valid
fix: don't allow empty username if username_as_clientid is true
2022-05-05 17:32:32 +08:00
EMQ-YangM 685b06eeed fix: avoid 'rule_test' api crash 2022-05-05 17:28:59 +08:00
zhongwencool 28b7021322
Merge pull request #7867 from zhongwencool/whitespace-in-install-path
fix: can't get emqx's priv_dir when whitespace in install path
2022-05-05 17:11:15 +08:00
JimMoen e2eb1da647 test(exhook): exhook config update 2022-05-05 16:24:17 +08:00
firest 1a7c870b7d test(limiter): add more cases for rate parser 2022-05-05 16:06:22 +08:00
JimMoen ef8ed3202e fix(exhook): refine exhook and exhook api
Refine status code.
Fix ssl ciphers raw list.
Make sure config update error be thrown.
2022-05-05 16:03:53 +08:00
Zhongwen Deng 41268dba01 fix: can't get emqx's priv_dir when whitespace in install path 2022-05-05 15:59:14 +08:00
firest acb78d53eb fix(limiter): fix rate parser, support this format: xMB/s 2022-05-05 15:38:04 +08:00
Shawn 1ce8a8c886 fix: testing connector removes ssl cert files that are in use 2022-05-05 14:55:40 +08:00
Shawn 5b5878f4a9 fix: don't drop input ssl options even if invalid 2022-05-05 14:53:42 +08:00
firest f2e7563b0c feat(limiter): add limiter view/update api 2022-05-05 13:08:33 +08:00
JianBo He 62a0df69fc fix(limiter): avoid maps:get/2 crash 2022-05-05 10:47:59 +08:00
Zhongwen Deng 2987bd47ad fix: don't allow empty username if username_as_clientid is true 2022-05-05 10:30:59 +08:00
DDDHuang 2504531b45 fix: monitor calculate rate time delta is 0 2022-05-05 09:32:15 +08:00
Kjell Winblad 74c33cd4e5 feat(rule_engine): add jq function to the rule engine
This commit adds a function to the rule engine that alows users
to transform text or JSON objects using [jq filter programs][1].

[jq][1] is a command line tool that can be used to transform
and filter JSON text using jq's built-in language. The rule engine
function that is added with this commit uses the
[Erlang jq NIF library][2] that wraps the jq C library in an
Erlang NIF function.

[1]: https://stedolan.github.io/jq/
[2]: https://github.com/emqx/jq
2022-05-04 17:09:16 +02:00
JianBo He 5bfb9367ea chore(tls): guard empty pem/path string 2022-05-03 17:54:00 +08:00
JianBo He 5698b9cfeb fix(gw): fix bad_ssl_config bad match 2022-05-03 17:11:06 +08:00
JianBo He 5d362eeb60 fix(gw): fix bad conn property type 2022-05-03 17:11:06 +08:00
JianBo He 42e193d9be refactor(mqttsn): create subscription with any topic format 2022-05-03 16:54:14 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
JimMoen 4744e4a5e4 fix(authn): make sure http headers are bin 2022-04-29 19:44:49 +08:00
Shawn be60b3330d chore: release 5.0.0-rc.2 2022-04-29 19:01:44 +08:00
Shawn 0c8a7e751f fix(test): clear emqx_cluster_rpc mnesia table at the end of the suite 2022-04-29 18:53:01 +08:00
zhouzb 0c059eb653
Merge pull request #7838 from terry-xiaoyu/fix_ci_emqx_modules
fix(test): race condition in emqx_telemetry_SUITE
2022-04-29 18:50:43 +08:00
DDDHuang bb87092358
Merge pull request #7840 from EMQ-YangM/fix_resource_health_check
fix: set resource status disconnected when health check timeout
2022-04-29 18:49:11 +08:00
zhouzb fc2169ba18
Merge pull request #7842 from zmstone/0429-refactor-rename-funs-to-please-elvis
refactor: rename functions to please elvis
2022-04-29 17:38:17 +08:00
EMQ-YangM c52b464b3c fix: check process alive before health check 2022-04-29 17:34:26 +08:00
zhouzb 8377af127d
Merge pull request #7834 from zhongwencool/use-username-as-clientid-not-found
fix: client not found if use_username_as_clientid=true
2022-04-29 17:24:24 +08:00
EMQ-YangM 1bf33f75cc fix: set resource status disconnected 2022-04-29 17:05:12 +08:00