Zaiming (Stone) Shi
40e8d5d039
refactor: rename lib-ee/emqx_ee_conf to apps/emqx_enterprise
2023-05-22 14:51:27 +02:00
Zaiming (Stone) Shi
3482c2c849
refactor: redefine default value for 'node.applications' in enterprise
2023-05-22 14:51:26 +02:00
Zaiming (Stone) Shi
75c8577b6b
build(./dev): export SCHEMA_MOD
...
SCHEMA_MOD is used at runtime in EMQX Erlang code
whenc loading configuration
2023-05-22 14:51:26 +02:00
William Yang
e824e1db39
Merge pull request #10698 from qzhuyan/perf/william/force-atom-conf-path
...
perf(config): enforcing atom key path in hotcode path
2023-05-22 09:38:09 +02:00
zhongwencool
c65e3a46b1
Merge pull request #10742 from zhongwencool/fix-authz-file-rule-check
...
fix: check authz's file source rules in pre_config_update
2023-05-22 14:15:18 +08:00
Zhongwen Deng
96e7005de8
refactor: add emqx_authz_file validate function
2023-05-22 11:03:23 +08:00
Andrew Mayorov
e4701a71da
Merge pull request #10748 from ci/ct-flap-eviction
...
test(evict): fix flapping testcase
2023-05-19 15:31:28 +03:00
某文
6cb9efd7d3
feat: add authz file rule validator
2023-05-19 18:41:59 +08:00
Andrew Mayorov
5c112602b8
test(evict): fix flapping testcase
...
Postpone enabling eviction agent so that target connection will not
get evicted too early.
2023-05-19 13:37:36 +03:00
JianBo He
48ceb14755
Merge pull request #10737 from HJianBo/fix-mqtt-sn-bugs
...
Avoid urldecode clientid twice
2023-05-19 09:19:12 +08:00
某文
52e2caa671
fix: check authz's file rule before save to file
2023-05-18 22:33:12 +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
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
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
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
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
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
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
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
Thales Macedo Garitezi
85089a3210
fix(buffer_worker): correctly flush the buffer workers when inflight table room is made
...
The previous commit uncovered another bug that was hidden by it:
`maybe_flush_after_async_reply` was sending a message to the wrong
PID. It was sending a message to `self()` meaning to target a buffer
worker, but `self()` in that context is never the buffer worker, it's
the connector's worker.
This change also revealed a race condition where the buffer workers
could stop flushing messages. So we piggy-backed on the atomic update
of the table size count to check if the buffer worker should be poked
to continue flushing. This allows us to get rid of
`maybe_flush_after_async_reply` altogether.
2023-05-16 17:15:42 -03: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
Thales Macedo Garitezi
4a034c70bf
Merge pull request #10716 from thalesmg/fix-pulsar-health-check-default-r50
...
fix(pulsar): use a binary duration as default `health_check_interval`
2023-05-16 16:17:56 -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
Ilya Averyanov
d4b60c5610
chore(rebalance): improve debug logging
2023-05-16 18:59:12 +03:00