Commit Graph

15201 Commits

Author SHA1 Message Date
JianBo He
26b69a5591 test(mqttsn): add test cases 2023-05-18 16:16:09 +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
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
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
Zhongwen Deng
e26ce5816e feat: hide keepalive_backoff, introduce keepalive_multiplier 2023-05-17 21:25:10 +08: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
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
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
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
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
Zaiming (Stone) Shi
9b9731b943
Merge pull request #10473 from zmstone/0421-refactor-delete-unused-schema-field
0421 refactor delete unused schema field
2023-05-16 22:22:03 +02:00
Andrew Mayorov
b2ecbef0f1
Merge pull request #10715 from fix/EMQX-9897/preserve-peercert-until-connected
fix(chan): postpone trimming conninfo after `connected` hook run
2023-05-16 22:56:41 +03:00
Andrew Mayorov
3cd95f40e5
test(chan): verify hooks receive peercert until connected 2023-05-16 19:35:56 +03:00
Andrew Mayorov
74c04b847c
chore: add changelog entry
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-05-16 19:35:56 +03:00
Andrew Mayorov
967b2e72e0
test(emqx): remove peercert from clientinfo fixtures
According to typespec, there's no place for `peercert` in
`clientinfo()`.
2023-05-16 19:35:55 +03:00
Andrew Mayorov
b341a04955
fix(chan): postpone trimming conninfo until connected hooks run
Some users expect to get the peer certificate in `connected` hooks, but
the `conninfo` was trimmed before `connected` hooks run.
2023-05-16 19:35:55 +03:00
Andrew Mayorov
53e961f8b2
ci: ensure dialyzer plt cache is updated on changes 2023-05-16 18:47:59 +03:00
某文
17ab30d8bb chore: update 10607's log config changelog 2023-05-16 22:04:14 +08:00
Ilya Averyanov
c113a8ac6a
Merge pull request #10677 from savonarola/0511-fix-rule-api
fix(api): respond 404 on the deletion of nonexistent rule
2023-05-16 16:50:30 +03:00
zhongwencool
d97a51ec3d
Merge pull request #10606 from zhongwencool/enable-console-in-dev-mode
chore: enable console, disable file when in dev mode
2023-05-16 21:36:13 +08:00
Andrew Mayorov
6813ea8e7a
test(client): dedicate separate testcase to peercert cleaning 2023-05-16 13:25:33 +03:00
Zaiming (Stone) Shi
a0454b9417
Merge pull request #10674 from zmstone/0511-feat-support-rule-engine-eval
Add an experimental feature: support external rule-engine SQL functions
2023-05-16 10:55:00 +02:00
Thales Macedo Garitezi
f8bf202382
Merge pull request #10707 from thalesmg/fix-pulsar-health-check-default-v50
fix(pulsar): use a binary duration as default `health_check_interval`
2023-05-15 11:55:02 -03:00
Ivan Dyachkov
bde086f549
Merge pull request #10701 from id/0510-bump-builder-version
ci: emqx-builder 5.0-35
2023-05-15 14:48:56 +02:00
Thales Macedo Garitezi
5960cc530a fix(pulsar): use a binary duration as default health_check_interval
Fixes https://emqx.atlassian.net/browse/EMQX-9885

The frontend needs the default value to match the duration (binary)
type to display correctly.
2023-05-15 09:05:21 -03:00
JianBo He
857c7bb91d
Merge pull request #10700 from HJianBo/update-docs
Docs: fix invalid links in README files
2023-05-15 19:57:20 +08:00
lafirest
6945f78f24
Merge pull request #10704 from lafirest/fix/changelog_format
fix(limiter): fix a format error in the changelog
2023-05-15 18:29:58 +08:00
firest
34b09e071f fix(limiter): fix a format error in the changelog 2023-05-15 18:08:33 +08:00
Zaiming (Stone) Shi
3c64735b87 feat(rule_engine): support external SQL function provider 2023-05-15 08:58:40 +02:00
Ivan Dyachkov
8d8cf23fad chore: add changelog 2023-05-15 08:17:30 +02:00
Ivan Dyachkov
a264827b78 ci: emqx-builder 5.0-35 2023-05-15 08:14:22 +02:00
Ivan Dyachkov
0d25242b6c
Merge pull request #10696 from id/0514-ci-move-package-upload-to-release-workflow
ci: move package upload to packagecloud.io to release workflow
2023-05-15 08:09:25 +02:00
JianBo He
38fcb7a097 docs: hide the not-ready document links 2023-05-15 11:20:23 +08:00
JianBo He
383fec9dfc docs: fix invalid links 2023-05-15 11:18:09 +08:00
Ivan Dyachkov
b3a989970d ci: move package upload to packagecloud.io to release workflow
Fixes #10693
2023-05-14 15:19:46 +02:00
Ivan Dyachkov
bd506b3034
Merge pull request #10692 from id/0512-ci-update-performance-test
ci: update performance test
2023-05-13 11:24:09 +02:00
Ivan Dyachkov
47c1fb734a ci: update performance test 2023-05-12 23:33:41 +02:00
Thales Macedo Garitezi
02c8894dd3 fix(mix): fix lhttpc version specification 2023-05-12 13:24:50 -03:00
lafirest
67ada52808
Merge pull request #10682 from lafirest/fix/will_msg_timestamp
fix: update the will message timestamp when it is ready to publish
2023-05-12 22:25:32 +08:00
zhongwencool
ab6afdb0d2
Merge pull request #10681 from zhongwencool/sync-release-50-to-master
chore: sync release 50 to master
2023-05-12 20:26:08 +08:00
zhongwencool
a953b951fe
Merge branch 'master' into sync-release-50-to-master 2023-05-12 18:01:58 +08:00
lafirest
134ea0615d
Merge pull request #10685 from lafirest/fix/limiter_server
fix(limiter): fix that update node-level limiter config will not working
2023-05-12 17:55:27 +08:00
firest
a38b270b03 fix(limiter): fix that update node-level limiter config will not working 2023-05-12 17:39:49 +08:00
zhongwencool
72f0de5beb
Merge pull request #10684 from Kinplemelon/kinple/for-upgrade-dashboard-ce
chore: upgrade dashboard to v1.2.4-1 for ce
2023-05-12 15:33:58 +08:00
Kinplemelon
88ab9c224d chore: upgrade dashboard to v1.2.4-1 for ce 2023-05-12 15:31:59 +08:00
zhongwencool
1ad01f809c
Merge pull request #10683 from zhongwencool/cherry-pick-pr-from-master
chore: cherry pick pr(10626&10659) from master
2023-05-12 15:01:22 +08:00