Commit Graph

16280 Commits

Author SHA1 Message Date
某文 52e2caa671 fix: check authz's file rule before save to file 2023-05-18 22:33:12 +08:00
Thales Macedo Garitezi 56634e5238
Merge pull request #10725 from thalesmg/bump-gproc-091-r50
chore: bump gproc -> 0.9.0.1 (r5.0)
2023-05-18 10:38:06 -03:00
Thales Macedo Garitezi 49424cc9a2
Merge pull request #10733 from thalesmg/fix-pulsar-sensitive-struct-r50
fix(pulsar): mark whole auth struct as sensitive, update dashboard version and improve bridge type matching errors (r5.0)
2023-05-18 10:15:10 -03:00
Paulo Zulato 5d289ade56 fix: validate range for some bridge options
Fixes https://emqx.atlassian.net/browse/EMQX-9864

Setting a very large interval can cause `erlang:start_timer` to crash.
Also, setting auto_restart_interval or health_check_interval to "0s"
causes the state machine to be in loop as time 0 is handled separately:

| state_timeout() = timeout() | integer()
| (...)
| If Time is relative and 0 no timer is actually started, instead the the
| time-out event is enqueued to ensure that it gets processed before any
| not yet received external event.
from "https://www.erlang.org/doc/man/gen_statem.html#type-state_timeout"

Therefore, both fields are now validated against the range [1ms, 1h],
which doesn't cause above issues.
2023-05-18 10:10:58 -03:00
firest f1a3e5965e chore: update apps version && changes 2023-05-18 17:34:28 +08:00
firest 142125b9e4 test(tdengine): add test cases to cover the super table feature 2023-05-18 17:01:27 +08:00
JianBo He f42cab9c56 chore: update changes 2023-05-18 16:24:37 +08:00
JianBo He 26b69a5591 test(mqttsn): add test cases 2023-05-18 16:16:09 +08:00
firest 6ff77b221b fix(tdengine): add supports for the `automatically create` feature in the SQL template 2023-05-18 15:13:08 +08:00
JianBo He c5398ab651 fix(gateway): avoid uri_decode twice
The url path has beed decoded in
0ebceb432f/src/cowboy_router.erl (L324-L330).
So, we don't need uri_decode in minirest callback again.
2023-05-18 14:55:12 +08:00
JianBo He d77d5e33bc fix(mqttsn): Instantly refresh client info after subscribed/unsubscribed 2023-05-18 14:48:37 +08:00
zhongwencool ba43a0e30f
Merge pull request #10734 from thalesmg/merge-r50-into-v50-a
merge `release-50` into `master`
2023-05-18 14:24:53 +08:00
zhongwencool bf5ee41009
Merge pull request #10702 from zhongwencool/keepalive-backoff-rename
feat: deprecated keepalive_backoff, introduce keepalive_multiplier
2023-05-18 10:00:17 +08:00
某文 d4d25d2660 chore: don't lost previous's statval 2023-05-18 09:49:11 +08:00
JianBo He 0dc3e10533
Merge pull request #10699 from HJianBo/conf-tests-2
chore(ci): add conf tests
2023-05-18 09:38:06 +08:00
Thales Macedo Garitezi 5d5c16a56d feat(bridges): use union member selector function for better error messages 2023-05-17 17:57:29 -03:00
Thales Macedo Garitezi 659cf64ad7 feat(pulsar): use an union member selector for better error messages 2023-05-17 17:56:53 -03:00
Thales Macedo Garitezi f83f9a2d79 chore: bump app vsns 2023-05-17 14:56:11 -03:00
Thales Macedo Garitezi 447b76464b Merge branch 'release-50' into merge-r50-into-v50-a 2023-05-17 14:50:18 -03:00
Thales Macedo Garitezi 10f6edd6ea
Merge pull request #10717 from thalesmg/fix-bw-flush-timer-full-infl-r50
fix(buffer_worker): avoid setting flush timer when inflight is full
2023-05-17 14:49:27 -03:00
William Yang 727ad59995 chore(test): improve coverage 2023-05-17 16:58:49 +02:00
Thales Macedo Garitezi dcccc0910a fix(pulsar): mark whole auth struct as sensitive (r5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-9900

I tried to patch hocon itself to filter the sensitive data, but the
way it's currently structured doesn't seem to keep that field
metadata.  So, for now, we can just mark the whole auth union as
sensitive.
2023-05-17 11:50:22 -03:00
Thales Macedo Garitezi 38ef99caf5 chore(dashboard): bump dashboard -> e1.0.7-beta.3 2023-05-17 11:50:22 -03:00
Thales Macedo Garitezi b2afe4e90c
Merge pull request #10690 from thalesmg/perf-webhook-retry-async-reply-v50
perf(webhook): add async retries and evaluate reply callback in fresh process
2023-05-17 11:06:48 -03:00
Thales Macedo Garitezi 060efd6964 chore: bump gproc -> 0.9.0.1 (r5.0)
Includes this fix: https://github.com/uwiger/gproc/pull/193
2023-05-17 11:05:44 -03:00
Zhongwen Deng e26ce5816e feat: hide keepalive_backoff, introduce keepalive_multiplier 2023-05-17 21:25:10 +08:00
zhongwencool ea8ac877b0
Merge pull request #10713 from zhongwencool/put-webhook-request-timeout-into-resource-opts
feat: update wehbook's request_timeout into resource_opts
2023-05-17 21:20:42 +08:00
William Yang ea4fbb8b6e chore: add changelog 2023-05-17 14:46:07 +02:00
Thales Macedo Garitezi bc7d0d5fd6 perf(webhook): evaluate replies in fresh process rather than in ehttpc
This surprisingly simple change yields a big performance improvement
in throughput.

While the previous commit achieves ~ 55 k messages / s
in throughput under some test conditions (100 k concurrent publishers
publishing 1 QoS 1 message per second), the simple change in this
commit improves it further to ~ 63 k messages / s.

Benchmarks indicated that the evaluating one reply function is
consistently quite fast (~ 20 µs), which makes this performance gain
counterintuitive.  Perhaps, although each call is cheap, `ehttpc`
calls several of these in a row when there are several sent requests,
and those costs might add up in latency.
2023-05-17 09:20:50 -03:00
Thales Macedo Garitezi a7b41e1cdf perf(webhook): add retry attempts for async
This is a performance improvement for webhook bridge.

Since this bridge is called using `async` callback mode, and `ehttpc`
frequently returns errors of the form `normal` and `{shutdown,
normal}` that are retried "for free" by `ehttpc`, we add this behavior
to async requests as well.  Other errors are retried too, but they are
not "free": 3 attempts are made at a maximum.

This is important because, when using buffer workers, we should avoid
making them enter the `blocked` state, since that halts all progress
and makes throughput plummet.
2023-05-17 09:20:50 -03:00
Thales Macedo Garitezi 01cf7fc703 feat(webhook): use clientid for hash-loadbalancing ehttpc workers 2023-05-17 09:20:50 -03:00
Ilya Averyanov cf117af4da
Merge pull request #10732 from keynslug/ft/ft-readme
chore(ft): provide more details in README.md
2023-05-17 13:04:25 +03:00
JianBo He 73f1421d1f ci: prefixed config files wit v/e 2023-05-17 17:52:08 +08:00
JianBo He a05156df9a chore: tests v5.0.20~25 confs 2023-05-17 17:52:08 +08:00
JianBo He 90d1a0096c chore: make spellcheck happy 2023-05-17 17:52:08 +08:00
JianBo He 07e46592a8 chore(ci): add conf tests 2023-05-17 17:52:08 +08:00
Andrew Mayorov c95ef71fb5
chore(ft): provide more details in README.md 2023-05-17 12:49:20 +03:00
Kjell Winblad 397dce0d78
Merge pull request #10654 from kjellwinblad/kjell/refactor/clickhouse_bridge/EMQX-9538
refactor: the clickhouse bridge to use the new bridge app structure
2023-05-17 11:19:33 +02:00
William Yang cdf42760fa chore: little change avoid atom leak 2023-05-17 11:01:03 +02:00
Kjell Winblad bce43978a2 refactor: the clickhouse bridge to use the new bridge app structure
Fixes:
https://emqx.atlassian.net/browse/EMQX-9538
2023-05-17 10:12:43 +02:00
Kjell Winblad ab8b8ccaad docs: make sure there is a summary for all API endpoints
Many HTTP API endpoints did not have a summary when looking at the API
docs at "http://emqx_host_name:18083/api-docs". This has been fixed by
making sure there is a summary corresponding to all endpoints.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9767
2023-05-17 09:58:56 +02:00
Andrew Mayorov 542739de09
Merge pull request #10722 from fix/ci-plt-cache-update
ci: ensure dialyzer plt cache is updated on changes
2023-05-17 10:47:08 +03:00
Ilya Averyanov c54d04450c
Merge pull request #10723 from savonarola/0516-improve-rebalance-logging
Improve rebalance logging
2023-05-17 09:21:10 +03:00
某文 2b99a9b988 feat: hide resource_opts's request_timeout 2023-05-17 13:41:11 +08:00
lafirest b5da9eb9ad
Merge pull request #10728 from lafirest/fix/port_ruleengine_export_colums
fix: cannot access columns exported by FOREACH in DO clause
2023-05-17 11:46:17 +08:00
firest 1f7ede90a4 chore: update app version && changes 2023-05-17 11:01:31 +08:00
firest 18043150be fix: cannot access columns exported by FOREACH in DO clause 2023-05-17 10:55:47 +08:00
JianBo He 0dd3325d70
Merge pull request #10711 from lafirest/fix/fix_infinity_bucket
fix(limiter): a bucket with an infinity rate shouldn't be added to limiter server
2023-05-17 10:40:59 +08:00
JianBo He 5aabd03bd0
Merge pull request #10718 from zhongwencool/log-changelog
chore: update 10607's log config changelog
2023-05-17 08:54:48 +08:00
JianBo He 2a1814691e
Merge pull request #10721 from zhongwencool/10340-changlog
chore: update 10340's changelog
2023-05-17 08:54:11 +08:00