Commit Graph

15158 Commits

Author SHA1 Message Date
Zhongwen Deng a4bb865e6a feat: add validations for emqx_ee_conf_schema 2023-05-04 16:53:03 +08:00
Zaiming (Stone) Shi 232c5926f2 docs: fix a typo in api doc description 2023-05-04 10:50:14 +02:00
lafirest e82623d0fb
Merge pull request #10595 from lafirest/fix/password_redact
fix: add new sensitive keywords to redact checklist
2023-05-04 16:46:57 +08:00
firest 277deee616 fix: add new sensitive keywords to redact checklist 2023-05-04 16:32:32 +08:00
Zaiming (Stone) Shi c4da84f0be feat(./dev): use command style and added 'ctl' command 2023-05-04 10:24:17 +02:00
JianBo He 85fda1490c chore: update ehttpc to 0.4.8
for https://github.com/emqx/ehttpc/pull/45
2023-05-04 16:09:46 +08:00
zhongwencool 2bc1ddbd19
Merge pull request #10588 from zhongwencool/fix-array-default
chore: make sure topic_metrics/rewrite's default is []
2023-05-04 16:03:21 +08:00
zhongwencool 5bd4c56183
Merge pull request #10589 from zhongwencool/trace-timestrap-microsecond
Change trace timestrap to microsecond
2023-05-04 15:55:51 +08:00
Zaiming (Stone) Shi 06e25f5c72 test: fix delayed-pubish test case flakyness 2023-05-04 09:48:28 +02:00
Zaiming (Stone) Shi 856129984b refactor: remove raw_with_default config load option
This option was previously only in tests to avoid
emqx_conf app overwriting previously set configs with default values.

After a03f2dd64b, the issue for
test cases had been resolved.
This commit is to get rid of the option all together
2023-05-04 09:48:28 +02:00
Zhongwen Deng e42e73e104 chore: add changelog for trace timestrap 2023-05-04 14:44:56 +08:00
Zhongwen Deng 06960853e0 feat: increase the time precision of trace logs to microseconds 2023-05-04 14:41:02 +08:00
Zhongwen Deng b09ee540d0 chore: make sure topic_metrics/rewrite's default is [] 2023-05-04 14:29:54 +08:00
Paulo Zulato f965fa7b9a feat: add shutdown count
Fixes https://emqx.atlassian.net/browse/EMQX-9008
Fixes https://emqx.atlassian.net/browse/EMQX-9219
2023-05-03 20:00:38 -03:00
Kjell Winblad b7c7d400e2 docs: better max_overflow field label and description for MongoDB bridge
The new label and description for the max_overflow field clarifies the
purpose of the field, which is to manage the maximum number of
additional workers created when all workers in the pool are busy,
allowing more concurrent connections to the MongoDB server during
workload spikes.

Fixes part of:
https://emqx.atlassian.net/browse/EMQX-9714
2023-05-03 17:49:08 +02:00
William Yang c38cec77a7
Merge pull request #10417 from qzhuyan/perf/william/no-make-ref-in-get-config
perf(config): eliminate make_ref() calls in config get calls
2023-05-03 16:56:44 +02:00
Thales Macedo Garitezi a21dee441b
Merge pull request #10573 from thalesmg/fix-buffer-worker-ets-info2-r50
perf(buffer_worker): avoid calling `ets:info/2`
2023-05-03 08:59:39 -03:00
William Yang 421efd561a
docs: Update changes/ce/perf-10417.en.md
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-05-03 13:50:48 +02:00
William Yang 2ded8e3836
Merge pull request #10577 from qzhuyan/dev/william/importance-mark-quic-listener
chore(schema): mark deprecated quic listener fields ?IMPORTANCE_HIDDEN
2023-05-03 13:23:32 +02:00
Andrew Mayorov ac1cf30a94
Merge pull request #10574 from ci/separate-job-static-checks
ci: run static checks in separate jobs
2023-05-03 11:43:36 +03:00
Andrew Mayorov 754045173e
chore: bump `snabbkaffe` to 1.0.8 2023-05-03 11:16:51 +03:00
Andrew Mayorov 827cd79eca
ci: run static checks in separate jobs
So that prepare jobs would finish earlier and CI would give
faster feedback. Also point cache action at the correct location
of the PLT file.
2023-05-03 11:16:14 +03:00
William Yang 0428766a6e docs: changelog for forcing atom conf path 2023-05-03 09:59:18 +02:00
Zaiming (Stone) Shi 66112fceed
Merge pull request #10572 from zmstone/0502-merge-release-50-back-to-master
0502 merge release 50 back to master
2023-05-03 09:01:35 +02:00
Ilya Averyanov 0272cf4473
Merge pull request #10571 from savonarola/0502-do-not-pullute-logs-on-metrics-stop
Do not complain on nonexisting ets while `emqx_topic_metrics` stops
2023-05-03 09:44:25 +03:00
William Yang b418cc766d test: update emqx_gateway_conf_SUITE
for error return messages
2023-05-02 22:59:24 +02:00
William Yang a4a5599636 chore(schema): mark deprecated quic listener fields ?IMPORTANCE_HIDDEN 2023-05-02 22:20:39 +02:00
Thales Macedo Garitezi 8aa7c014e7 perf(buffer_worker): avoid calling `ets:info/2`
(Almost?) fixes https://emqx.atlassian.net/browse/EMQX-9637

During the course of performance tests comparing the performance of
e5.0.3 and e4.4.16 regarding the webhook bridge in sync mode, we
observed that the throughput in e5.0.3 (sync) was much lower than in
e4.4.16: ~ 9 k msgs / s vs. ~ 50 k msgs / s, respectively.

Analyzing `observer_cli` output, we noticed that a lot of the time
both buffer workers and ehttpc processes was spent in `ets:info/2`.
That function was called to check the size of the inflight table when
updating metrics and checking if the inflight table was full.  Other
uses of `ets:info/2` were contained inside the arguments to some
`?tp/2` macro usages (https://github.com/kafka4beam/snabbkaffe/pull/60).

By using a specific record to track the size of the table, we managed
to improve the bridge performance to ~ 45 k msgs / s in sync mode.
2023-05-02 17:05:32 -03:00
William Yang c7af43bd72 chore: bump app vsn emqx 5.0.25 2023-05-02 21:51:43 +02:00
William Yang e5884e0e87 chore: remove unused mqtt cap 'subscription_identifiers' 2023-05-02 21:50:36 +02:00
William Yang be6cd5705f fix(mqtt-cap): use global config as defaults
Don't use default values in module, use global mqtt config as default
2023-05-02 21:50:36 +02:00
William Yang 9903f34470 test(docker): set global mqtt config
Set global mqtt config instead of default zone
2023-05-02 21:50:36 +02:00
William Yang df0911be6e Revert "perf: keep defaults of zone.mqtt"
This reverts commit 6184bc02ee30aa2d022793762e626893a8a32599.
2023-05-02 21:50:36 +02:00
William Yang 77405d9cd7 perf: keep defaults of zone.mqtt 2023-05-02 21:50:36 +02:00
William Yang 265c9ea668 chore: bump emqx app vsn to 5.0.25 2023-05-02 21:50:36 +02:00
William Yang 3d7201502b perf(config): avoid build new map in emqx_mqtt_caps:get_caps 2023-05-02 21:50:36 +02:00
William Yang 77f67a9d07 perf(config): get_raw with 'binary' root key 2023-05-02 21:49:55 +02:00
William Yang ce6343a4f3 perf(config): ensure root keys of 'conf' config is atom 2023-05-02 21:49:55 +02:00
Zaiming (Stone) Shi a4bc15cfa1 Merge remote-tracking branch 'origin/master' into 0502-merge-release-50-back-to-master 2023-05-02 18:59:31 +02:00
Ilya Averyanov 8e7ba2b6d1
Merge pull request #10575 from savonarola/0502-fix-dev-script-macos
chore(dev): fix dev script on macos
2023-05-02 19:49:48 +03:00
Ilya Averyanov b357e6f9ff chore(dev): fix dev script on macos 2023-05-02 19:43:41 +03:00
Thales Macedo Garitezi f6da18dc1b fix(webhook): consider `{shutdown, closed}` return as recoverable 2023-05-02 13:12:03 -03:00
Zaiming (Stone) Shi d5f5f35787 Merge remote-tracking branch 'origin/release-50' into 0502-merge-release-50-back-to-master 2023-05-02 18:08:04 +02:00
Andrew Mayorov 6a043ff09a
Merge pull request #10362 from ft/EMQX-9257/resource-pool
feat(resource): stop adding uniqueness to manager ids
2023-05-02 18:51:20 +03:00
Andrew Mayorov 90cf1ade74
chore: bump application versions
* emqx_connector 0.1.22
* emqx_bridge_gcp_pubsub 0.1.1
* emqx_bridge_kafka 0.1.2
* emqx_bridge_pulsar 0.1.1
* emqx_ee_connector 0.1.12
2023-05-02 17:29:22 +03:00
Andrew Mayorov 670709f746
feat(resource): ensure uniqueness through `gproc`
Also use it instead of a custom ETS table for simplicity and
better consistency. This has drawbacks though: expect slightly
increased load on gproc gen_server due to how `gproc:set_value/2`
works.
2023-05-02 17:29:22 +03:00
Andrew Mayorov 4575167607
feat(resource): drop `manager_id()` type 2023-05-02 17:29:20 +03:00
Andrew Mayorov aaef95b1da
feat(resman): stop adding uniqueness to manager ids
Before this change, a separate `manager_id` / `instance_id` was used
as resource manager id, which made connector interface somewhat
inconsistent: part of function calls to connector implementation
used instance id as first argument while the rest used resource id
itself.
2023-05-02 17:28:26 +03:00
Thales Macedo Garitezi 2c4fd98ce5
Merge pull request #10559 from thalesmg/pulsar-more-tests-v50
test(pulsar): add more test cases for Pulsar Producer bridge
2023-05-02 10:16:17 -03:00
Thales Macedo Garitezi 654d274039
Merge pull request #10562 from thalesmg/fix-webhook-async-shutdown-normal-reply-r50
fix(webhook): treat `{shutdown, normal}` and `{closed, _}` async replies as retriable
2023-05-02 10:08:18 -03:00