Andrew Mayorov
2c50e61cee
fix(cth): reduce amount of logging + streamline logging
...
Also make sure that code running on `emqx_cth_cluster` nodes don't
crash when using `ct:pal` and friends.
2023-07-04 13:20:03 +02:00
Andrew Mayorov
9bda4192e5
fix(cthsuite): disable default `acl.conf` authz source
...
So that users of `emqx_cth_suite` won't have to deal with providing
correct filepath each time they start `emqx_conf` and/or `emqx_authz`
up.
2023-07-04 13:20:03 +02:00
Andrew Mayorov
24a16ea247
fix(cthsuite): bump to hocon 0.39.11 with atom prettyprint fix
2023-07-04 13:20:03 +02:00
Andrew Mayorov
6a7254f55e
fix(cthcluster): match correct driver in `stop_node/2`
...
Co-authored-by: Ilya Averyanov <av@rubybox.dev>
2023-07-04 13:20:02 +02:00
Andrew Mayorov
fe0b8cfbaf
test(conf): respect `init_config_load_done` in emqx_conf itself
...
This should make task of configuring various applications (emqx_conf
/ emqx) during testsuites setup much simpler.
2023-07-04 13:20:02 +02:00
Andrew Mayorov
f76f3b77d7
test: add tooling to make testruns more isolated and predictable
...
Also showcase their usage in some of the existing testsuites.
2023-07-04 12:53:39 +02:00
zhongwencool
d509c47344
feat: add conf load api
2023-07-04 14:17:11 +08:00
Andrew Mayorov
0f25df3aa8
perf(router): employ `maps:foreach/2` instead
2023-07-03 15:01:47 +02:00
Andrew Mayorov
57da71eb1d
perf(broker): avoid usorting aggregated routes in a loop
2023-07-03 15:01:33 +02:00
zhongwencool
e26c30ff0c
feat: refactor dashboard https ssl_options
2023-06-29 10:49:39 +08:00
firest
8e68af14ef
chore: bump ekka version
2023-06-29 01:45:47 +00:00
Andrew Mayorov
30d78aaac2
Merge pull request #11152 from keynslug/test/ft-prop-aggressive
...
test(ft): make proptests even less aggressive
2023-06-27 17:44:54 +02:00
Andrew Mayorov
ff327609db
test(ft): generate segments manually in proptests
...
In order to avoid spamming proptest logs with HUGE type instances,
and make proptests themselves simpler. Proper now should refuse
shrinking altogether, instances that cause prop function to timeout
do not shrink well for some reason, making proptests stuck.
2023-06-27 17:13:23 +02:00
Zaiming (Stone) Shi
9b6ed09513
refactor: call hocon_tconf:check_plain/4 directly for example conf check
...
the attemp to re-use emqx_hocon:check failed because
hocon_tconf:check_plain/3 and check_plain/4 behaves slightly different
for unknown root fields.
To keep the old logic unchanged, for example config checks, we call
check_plain/4 directly
2023-06-27 14:23:18 +02:00
Zaiming (Stone) Shi
a069b351fd
test: add test script to verify config example files
2023-06-27 14:23:18 +02:00
Serge Tupchii
116675e86f
chore: bump ekka to 0.15.4
2023-06-27 13:24:49 +03:00
lafirest
f2e3446e29
Merge pull request #11135 from lafirest/pref/calendar_timeoffset
...
perf(rule_engine): improve the time offset parser
2023-06-26 18:54:00 +08:00
lafirest
850d642ec2
Merge pull request #11108 from ieQu1/emqx-ds
...
Durable storage
2023-06-25 11:36:34 +08:00
firest
c8c2793944
perf(rule_engine): improve the time offset parser
2023-06-24 13:05:27 +00:00
Thales Macedo Garitezi
7ef03d9e1f
Merge pull request #11090 from thalesmg/gcp-pubsub-consumer
...
feat(gcp_pubsub_consumer): implement GCP PubSub Consumer bridge
2023-06-22 09:17:45 -03:00
Zaiming (Stone) Shi
c58a98954b
Merge remote-tracking branch 'origin/master' into 0621-merge-release-51-to-master
2023-06-22 11:05:51 +02:00
ieQu1
efed7cdc2f
chore(ds): behavior -> behaviour
2023-06-22 10:20:18 +02:00
Andrew Mayorov
86d787eced
chore: bump hocon to 0.39.10
...
Which comes with a fix for slightly more user-friendly validation error
messages.
2023-06-21 21:25:43 +02:00
Zaiming (Stone) Shi
7cf8a6c892
chore: bump app vsns
2023-06-21 16:36:51 +02:00
Zaiming (Stone) Shi
5fa87091c4
Merge remote-tracking branch 'origin/master' into 0621-merge-release-51-to-master
2023-06-21 16:08:41 +02:00
Zaiming (Stone) Shi
dddccfdc5c
chore: bump to v5.1.0 official cut
2023-06-20 17:09:17 +02:00
Zaiming (Stone) Shi
728656d4f6
chore: bump to e5.1.0 official cut
2023-06-20 17:08:18 +02:00
Zaiming (Stone) Shi
f95787d229
test: make possible to test core/replica locally
2023-06-20 12:42:00 +02:00
zhongwencool
856de78698
chore: remove the is_list guard
2023-06-20 08:39:23 +08:00
zhongwencool
093cdab838
chore: to_integer to make sure integer is converted
2023-06-20 08:39:23 +08:00
zhongwencool
07172e42f0
test: integer CI check failed
2023-06-20 08:39:23 +08:00
zhongwencool
a4be9b8281
chore: bump hocon to 0.39.9
2023-06-20 08:39:23 +08:00
zhongwencool
45963b6a95
fix: ip_port schema type crash
2023-06-20 08:39:23 +08:00
Zaiming (Stone) Shi
ead511a128
chore: bump to 5.1.0-rc.1
2023-06-19 23:19:27 +02:00
ieQu1
86b78981c4
Merge pull request #11092 from ieQu1/mria-0.5.5
...
chore(mria): Bump version to 0.5.5
2023-06-19 23:13:36 +02:00
Thales Macedo Garitezi
01d758e4c0
fix(bpapi): fix `query_mode` type(spec)
...
The previous spec was wrong due to a mismatch between type declaration and usage in specs:
it would never be `dynamic`, and it was lacking the `simple_async`, `simple_sync` and
`no_queries` constructors.
2023-06-19 16:04:12 -03:00
ieQu1
f82c56ae16
chore(mria): Bump version to 0.5.5
2023-06-19 19:28:17 +02:00
JianBo He
cc939d2bda
Merge pull request #11087 from zhongwencool/bump-v5.1.0.alpha.8
...
chore: bump to v5.1.0.alpha.8
2023-06-19 23:00:53 +08:00
JianBo He
b0a6c18917
chore: bump vsn to 5.1.0-alpha.8
2023-06-19 22:59:05 +08:00
zhongwencool
1f1d61cef6
Merge pull request #11084 from zhongwencool/hide-plugins-from-cli
...
chore: hide plugins from conf load cli
2023-06-19 19:11:52 +08:00
zhongwencool
64612cab14
chore: bump to v5.1.0.alpha.8
2023-06-19 18:22:51 +08:00
zhongwencool
a578d6fa1d
chore: release e5.1.0-alpha.8
2023-06-19 17:19:03 +08:00
zhongwencool
803cd6c812
Merge pull request #11082 from emqx/release-51
...
sync release-51 to master
2023-06-19 15:12:37 +08:00
JimMoen
30ac6c4e48
Merge pull request #11074 from JimMoen/fix-share-sub-nl-protocol-error
...
fix: shared-sub with nl sub-option should cause protocol error
2023-06-19 10:39:08 +08:00
Andrew Mayorov
13d9f5c3e7
Merge pull request #11053 from fix/EMQX-10231/cluster-view
...
fix(ft-fs): use `emqx:running_nodes()` as default cluster view
2023-06-17 00:54:24 +02:00
JimMoen
178711f742
fix: shared-sub with nl sub-option should cause protocol error
2023-06-16 18:19:23 +08:00
Serge Tupchii
b49b80d36c
fix(emqx_schema): use non negative integer type for 'depth' SSL option
...
Closes: EMQX-10276
2023-06-16 10:59:39 +08:00
zhongwencool
9b56f116f4
Merge pull request #11062 from zhongwencool/log-file-rename
2023-06-15 20:51:52 +08:00
zhongwencool
3406a5d916
Merge pull request #11063 from zhongwencool/bump-to-alpha.7
...
chore: bump to e5.1.0-alpha.7
2023-06-15 19:22:37 +08:00
zhongwencool
9060a2dc05
chore: bump to e5.1.0-alpha.7
2023-06-15 19:05:13 +08:00
zhongwencool
e6c2da8d19
feat: rename log.file.to to log.file.path
2023-06-15 18:24:21 +08:00
zhongwencool
84a5d0c3c1
fix: delete a default listener then recreate it, it's disabled
2023-06-15 17:19:11 +08:00
zhongwencool
0adbb0deec
feat: try to save config when post_config_update failed not in init mfa status
2023-06-15 17:19:11 +08:00
zhongwencool
c160301dbe
fix: don't log enoent error
2023-06-15 17:06:09 +08:00
zhongwencool
7dade3a52c
fix: tls_certfile_gc notice log don't print abspath
2023-06-15 17:06:09 +08:00
Serge Tupchii
64bbe21209
fix(emqx_schema): use non negative integer type for 'depth' SSL option
...
Closes: EMQX-10276
2023-06-15 11:22:58 +03:00
zhongwencool
e42cc58694
Merge pull request #11050 from emqx/release-51
...
chore: sync release-51 back to master
2023-06-15 09:45:31 +08:00
Andrew Mayorov
acd6e5635b
fix(ct): adapt cluster setup helper to replicant nodes
...
Before this change, trying to start cluster consisting of cores +
replicants resulted in error joining replicant node to the cluster.
2023-06-15 00:50:15 +03:00
zhongwencool
41004e86da
Merge pull request #10959 from qzhuyan/dev/william/remove-depre-quic-config
...
chore: remove deprecated QUIC listener config
2023-06-14 23:01:00 +08:00
Serge Tupchii
7882755114
chore: bump cowboy to 2.9.2
...
cowboy 2.9.2 uses ranch 1.8.1-emqx that fixes incompatible TLS options
2023-06-14 17:35:17 +03:00
Serge Tupchii
4425942030
fix(emqx_schema): move tls version gap validation to emqx_schema
2023-06-14 17:29:56 +03:00
Ivan Dyachkov
6d88cd7a20
fix(tls): fix incompatible tls options and issue with tls version gap
2023-06-14 17:29:56 +03:00
zhongwencool
267053cc35
Merge pull request #11045 from zhongwencool/hide-zones-authn-in-listeners
...
feat: hide zone/authn in listeners and remove listeners's authn api
2023-06-14 20:32:27 +08:00
zhongwencool
7668753f50
feat: hide zone/authn in listeners and remove /listeners/:id/authentication api
2023-06-14 15:17:12 +08:00
JianBo He
8ce0380704
chore: bump vsn to e5.1.0-alpha.6
2023-06-14 12:49:02 +08:00
zhongwencool
091c49277f
fix: api_listener crash when setting max_connnections as string
2023-06-14 11:26:41 +08:00
zhongwencool
7f0f40cb58
Merge pull request #11034 from zhongwencool/mqtt-conf
...
feat: move shared_subscription_strategy from broker to mqtt
2023-06-14 10:00:38 +08:00
Thales Macedo Garitezi
b609792a90
fix(pulsar_producer): do not return `disconnected` when checking status (r5.1)
...
Fixes https://emqx.atlassian.net/browse/EMQX-10278
Since Pulsar client has its own replayq that lives outside the management of the buffer
workers, we must not return disconnected status for such bridge: otherwise, the resource
manager will eventually kill the producers and data may be lost.
2023-06-13 11:44:45 -03:00
zhongwencool
946de4a303
chore: dialyzer warning
2023-06-13 20:11:49 +08:00
zhongwencool
50041fdddf
feat: hide broker rootkey and move broker.shared_subscription_strategy to mqtt.shared_subscription_strategy
2023-06-13 19:35:52 +08:00
William Yang
8fa743fa22
chore: mark deprecated QUIC listener config for 5.1
2023-06-13 06:00:57 +02:00
Thales Macedo Garitezi
5ef7102cba
fix(listener_mgmt_api): use union member selector fn for better error messages (r5.1)
...
Fixes https://emqx.atlassian.net/browse/EMQX-10247
2023-06-12 16:48:13 -03:00
zhongwencool
58dc042279
chore: bump to e/v5.1.0-alpha.5
2023-06-13 00:06:54 +08:00
zhongwencool
0fc10ad239
Merge pull request #10984 from zhongwencool/reload-cli
...
feat: support reload cli
2023-06-12 17:21:29 +08:00
Zaiming (Stone) Shi
12b73ba1c0
Merge remote-tracking branch 'origin/master' into release-51
2023-06-12 10:35:47 +02:00
firest
947d99218b
chore: upgrade emqtt to avoid sensitive data leakage in the debug log
2023-06-12 16:32:24 +08:00
zhongwencool
1550158ddd
fix: update emqx_flapping process's state when emqx:update_config([flapping_detect],Conf)
2023-06-11 18:23:15 +08:00
Zaiming (Stone) Shi
654a9dcab5
Merge pull request #11006 from zmstone/0610-fix-quic-default-certs-path
...
fix(quic): environment variables as cert file prefix for quic listener
2023-06-11 11:52:56 +02:00
zhongwencool
c8cf8d1def
Merge pull request #11009 from zhongwencool/persistent_session_store-default-value
...
chore: correct persistent_session_store's default value type to boolean
2023-06-11 17:26:58 +08:00
zhongwencool
072f6fac8d
chore: update hocon to 0.39.8
2023-06-11 09:11:17 +08:00
zhongwencool
346b363cb5
test: config SUITE failed
2023-06-11 09:11:17 +08:00
zhongwencool
505d677685
chore: move reload_local_etc_config from emqx_conf to emqx_conf_cli
2023-06-11 09:11:17 +08:00
zhongwencool
6c6ff4ea1f
chore: rename {mod} to module
2023-06-11 09:11:17 +08:00
zhongwencool
cf9a207743
feat: check all config schema before loading
2023-06-11 09:11:17 +08:00
zhongwencool
21ffd958b4
feat: support authn merge_authenticators
2023-06-11 09:11:17 +08:00
zhongwencool
994db58cbf
fix: load authz's default sources
2023-06-11 09:11:17 +08:00
zhongwencool
c819ac27f4
feat: add conf reload cli
2023-06-11 09:11:17 +08:00
zhongwencool
599eb9fef5
chore: correct persistent_session_store's default value type to boolean
2023-06-10 19:36:05 +08:00
Zaiming (Stone) Shi
97850de524
Merge remote-tracking branch 'origin/release-51' into 0610-merge-release-51-to-master
2023-06-10 12:23:55 +02:00
Zaiming (Stone) Shi
9f135d1f2b
fix(quic): environment variables as cert file prefix for quic listener
2023-06-10 12:23:20 +02:00
Serge Tupchii
87b57112df
refactor: move tcp keepalive options helper to emqx_utils
2023-06-09 21:43:50 +03:00
Andrew Mayorov
b930f4cc73
Merge pull request #10987 from keynslug/fix/EMQX-9257/sep-placeholder
...
refactor: tear `emqx_plugin_libs` application apart
2023-06-09 17:02:14 +02:00
Thales Macedo Garitezi
20a7ce64cd
Merge pull request #10919 from thalesmg/test-flakiness-20230601-a
...
test(pulsar_producer): attempt to fix flaky test
2023-06-09 09:30:30 -03:00
Andrew Mayorov
7d0abb6146
feat(emqx): add `emqx_topic:match_any/2` utility
2023-06-09 14:44:37 +03:00
SergeTupchiy
e61b2100a3
Merge pull request #10676 from SergeTupchiy/EMQX-9203-config-backup
...
feat: implement configuration and user data export/import
2023-06-09 14:18:39 +03:00
Serge Tupchii
e4d09d4ad4
feat: implement configuration and user data export/import CLI
...
Closes: EMQX-9203
2023-06-09 14:11:47 +03:00
Zaiming (Stone) Shi
ee697831f6
Merge pull request #10926 from zmstone/0602-add-enable-as-an-alias-for-enabled
...
0602 add enable as an alias for enabled
2023-06-09 08:44:20 +02:00
Zaiming (Stone) Shi
af5c6720de
Merge remote-tracking branch 'origin/master' into release-51
2023-06-09 08:37:29 +02:00
Zaiming (Stone) Shi
47f826f99a
chore: fix typo
2023-06-09 09:31:32 +08:00
Serge Tupchii
53ec8326b0
fix(emqx_listeners): convert authentication certs
2023-06-08 20:44:18 +03:00
Serge Tupchii
33fa053b9b
test(emqx_common_test_helpers): keep EMQX ENV vars on a child node for its lifetime
2023-06-08 20:42:51 +03:00
Serge Tupchii
5f526d548a
style: use double percent (%%) comments
2023-06-08 20:42:51 +03:00
Kjell Winblad
273dedf7a6
Merge pull request #10911 from kjellwinblad/kjell/bridge/atom_length_too_long/EMQX-9609
...
fix: friendly error message when creating bridges with too long names
2023-06-08 15:46:42 +02:00
Ivan Dyachkov
abbba71191
fix(tls): issue when ssl listner is configured to use tls v1.3 only
...
clients could not connect due to incompatible tls options if ssl listner is configured to use tls v1.3 only
2023-06-08 15:13:22 +02:00
Zaiming (Stone) Shi
b481994e74
chore: bump to version 5.1.0-alpha.4
2023-06-08 12:30:35 +02:00
Zaiming (Stone) Shi
c1cf2365c2
Merge remote-tracking branch 'origin/master' into release-51
2023-06-08 12:30:02 +02:00
Zaiming (Stone) Shi
641166a67a
Merge pull request #10971 from zmstone/0607-merge-master-to-release-51
...
0607 merge master to release 51
2023-06-08 09:22:21 +02:00
Zaiming (Stone) Shi
641aca00d8
Merge pull request #10954 from zhongwencool/flapping-detect-conf
...
feat: don't hide enable in flapping detect conf
2023-06-07 23:04:56 +02:00
Zaiming (Stone) Shi
ccd2589ff2
Merge remote-tracking branch 'origin/master' into release-51
2023-06-07 21:43:29 +02:00
Andrew Mayorov
39b0d41527
fix(bpapi): ignore dropped BPAPI module
...
It doesn't really breaks interoperability.
2023-06-07 21:33:47 +03:00
Zaiming (Stone) Shi
aecea50564
Merge pull request #10902 from zmstone/0529-donot-copy-cluster-conf-from-newer-version
...
0529 donot copy cluster conf from newer version
2023-06-07 20:32:11 +02:00
Zaiming (Stone) Shi
ed1ad4e684
chore(emqx_schema): add 'eanble' as an alias to 'enabled' fields
2023-06-07 20:19:48 +02:00
Thales Macedo Garitezi
105c26afb5
Merge pull request #10964 from thalesmg/fix-hocon-compact-errors-v50
...
fix(schema): avoid `function_clause` error when compacting errors
2023-06-07 14:00:24 -03:00
Andrew Mayorov
79d430cf03
refactor(pluglib): move `emqx_plugin_libs_proto_v1` into emqx app
...
And rename it to `emqx_metrics_proto_v1` in the process.
2023-06-07 18:30:12 +03:00
Zaiming (Stone) Shi
622ac4d195
fix(emqx_schema): binary for string default value
2023-06-07 17:14:10 +02:00
JimMoen
4ea3483083
perf(topic): use tail recursive to joining a topic
2023-06-07 22:59:53 +08:00
JimMoen
b0e18f5e75
fix(shared-sub): validate share topic error send DISCONNECT
2023-06-07 22:59:52 +08:00
JimMoen
070e410c69
refactor: variable and func rename
2023-06-07 22:59:52 +08:00
JimMoen
ea81a924f1
refactor: move topic() types def in `emqx_types.erl`
2023-06-07 22:59:52 +08:00
JimMoen
65483e972e
refactor: use unified table define
2023-06-07 22:51:44 +08:00
zhongwencool
70e800f8a4
chore: delete unuse default value and make flapping_detect middle improtance
2023-06-07 22:50:11 +08:00
zhongwencool
5659cc2b47
feat: add converter to flapping_detect
2023-06-07 21:54:32 +08:00
zhongwencool
1d33b7dbd8
chore: make static check happy
2023-06-07 21:54:32 +08:00
zhongwencool
535870386a
fix: zones update api failed
2023-06-07 21:54:32 +08:00
zhongwencool
d58506a7c3
feat: always update default zones
2023-06-07 21:54:32 +08:00
zhongwencool
48381d4c86
feat: refactor flapping detect conf
2023-06-07 21:54:32 +08:00
Thales Macedo Garitezi
cc8631223e
fix(schema): avoid `function_clause` error when compacting errors
...
Fixes https://emqx.atlassian.net/browse/EMQX-10168
The bridge probe API displayed the typecheck errors for the new
timeout duration types correctly, but when an user tried to create the
bridge anyway a `function_clause` error was raised when trying to
compact hocon errors:
```
09:47:19.045 [warning] [exception: :error, path: '/bridges', reason: {:case_clause, {:error, {:config_update_crashed, :function_clause}}}, stacktrace: [{:emqx_bridge_api, :create_or_update_bridge, 4, [file: '/home/thales/dev/emqx/emqx/apps/emqx_bridge/src/emqx_bridge_api.erl', line: 602]}, {:minirest_handler, :apply_callback, 3, [file: '/home/thales/dev/emqx/emqx/deps/minirest/src/minirest_handler.erl', line: 111]}, {:minirest_handler, :handle, 2, [file: '/home/thales/dev/emqx/emqx/deps/minirest/src/minirest_handler.erl', line: 44]}, {:minirest_handler, :init, 2, [file: '/home/thales/dev/emqx/emqx/deps/minirest/src/minirest_handler.erl', line: 27]}, {:cowboy_handler, :execute, 2, [file: '/home/thales/dev/emqx/emqx/deps/cowboy/src/cowboy_handler.erl', line: 41]}, {:cowboy_stream_h, :execute, 3, [file: '/home/thales/dev/emqx/emqx/deps/cowboy/src/cowboy_stream_h.erl', line: 318]}, {:cowboy_stream_h, :request_process, 3, [file: '/home/thales/dev/emqx/emqx/deps/cowboy/src/cowboy_stream_h.erl', line: 302]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}]]
```
This fixes the issue so that both APIs return more friendly error messages.
2023-06-07 10:34:58 -03:00
Paulo Zulato
a4407764f3
feat(connection): configurable TCP keepalive
...
Fixes https://emqx.atlassian.net/browse/EMQX-9852
2023-06-07 10:23:38 -03:00
Andrew Mayorov
c05f462d0a
fix(tlslib): bring back deterministic filenames for managed certs
2023-06-07 13:32:35 +03:00
William Yang
c1be86c5ec
Merge pull request #10931 from qzhuyan/perf/william/save-times-of-maps-build
...
Perf/william/save times of maps build
2023-06-07 10:32:45 +02:00
Zaiming (Stone) Shi
cb3e787cb1
Merge remote-tracking branch 'origin/master' into 0529-donot-copy-cluster-conf-from-newer-version
2023-06-07 09:14:04 +02:00
Serge Tupchii
bf2b5a9f24
fix(emqx_listeners): fix listener authentication create/update
...
Listener authentication is a list of authenticators, so each of them must be created
or updated individually.
2023-06-06 19:00:35 +03:00
Serge Tupchii
1968589f81
fix(emqx_schema): don't allow enabling `fail_if_no_peer_cert` if `verify_none` is set
...
Setting `fail_if_no_peer_cert = true` and `verify = verify_none` causes connection errors.
Closes: EMQX-9586
2023-06-06 17:20:22 +03:00
Thales Macedo Garitezi
2c97ee1b3f
test(conf_app): fix test after common test helpers changes
2023-06-06 09:32:38 -03:00
Thales Macedo Garitezi
97a9bb484a
test(pulsar_producer): attempt to fix flaky test
2023-06-06 09:32:38 -03:00
Thales Macedo Garitezi
770dd188b1
Merge pull request #10947 from emqx/release-51
...
Release 51 to master
2023-06-06 09:32:16 -03:00
Andrew Mayorov
d5aedaac7d
fix(tlslib): append random suffix to managed certfiles
...
In order to lessen the chance of ambiguity in determining collectable
certfiles during GC.
2023-06-06 11:21:03 +03:00
zhongwencool
ddb4a09a3d
Merge pull request #10935 from zhongwencool/listeners-conf-update
...
feat: update listeners from cli
2023-06-06 08:10:45 +08:00
Zaiming (Stone) Shi
3caf114f68
test: fix test case is_list(Config) function guard
2023-06-05 23:00:41 +02:00
Zaiming (Stone) Shi
bb1cf9beaa
Merge remote-tracking branch 'origin/master' into 0529-donot-copy-cluster-conf-from-newer-version
2023-06-05 22:56:58 +02:00
Andrew Mayorov
750b7158d4
fix(tlsgc): make computing orphans safe against symlinking
...
Before this commit, `orphans/1` considered managed file an orphan based
on its absolute filename, which is not safe when, for example, emqx has
a symlink configured as `data_dir` while config references certfiles
through realpaths.
2023-06-05 22:41:08 +03:00
Andrew Mayorov
31d38e18c9
refactor(tlsgc): simplify `fold_config/4`
2023-06-05 22:41:08 +03:00
Andrew Mayorov
f8e8b7993b
fix(tlsgc): anticipate only binaries as string in raw config
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-06-05 22:41:08 +03:00
Andrew Mayorov
3c2a7dbadc
fix(tlsgc): consolidate conf keypaths knowledge in `emqx_tls_lib`
...
So that this GC mechanism will be easier to maintain.
2023-06-05 22:41:08 +03:00
Andrew Mayorov
ec06850bd0
test(auth): drop obsolete testcase altogether
...
Most of the stuff that was tested by this test case is now covered
by `emqx_tls_certfile_gc_SUITE`.
2023-06-05 22:41:08 +03:00
Andrew Mayorov
206d0472e0
fix(emqx): avoid interference in testsuites
...
Also remove that `?wait_async_action` in `emqx_trace_SUITE` which
consistently becomes stuck for 100 seconds. It's not clear why it
was there in the first place because listeners should start
synchronously, so `emqx_common_test_helpers:start_apps/1` won't return
until required listeners are started.
2023-06-05 22:41:08 +03:00
Andrew Mayorov
8a31e5639b
fix(emqx): ensure that standalone build works
...
Turns out rebar3 `path` resource has troubles with dangling
symlinks and non-ASCII filenames. 🥲
2023-06-05 22:41:07 +03:00
Andrew Mayorov
99ea9b86c2
feat(tlslib): add separate managed certfiles GC process
...
Which periodically inpects managed certificates directory and tries
to collect "orphans" here, in other words files that aren't
referenced anywhere in the current emqx config.
2023-06-05 22:41:07 +03:00
Andrew Mayorov
95f706bb9e
fix(ssl): avoid explicit deletion of managed certs / keys
...
This logic was incorrect because it didn't take into account
certfiles / keyfiles "refcounts".
2023-06-05 22:41:07 +03:00
Zaiming (Stone) Shi
67db9d6fe9
chore: bump version to 5.1.0-alpha.3
2023-06-05 20:25:48 +02:00
Thales Macedo Garitezi
75df622426
Merge pull request #10930 from thalesmg/max-int-timeout-v50
...
check maximum timeout values in schema (5.1)
2023-06-05 12:51:36 -03:00
Thales Macedo Garitezi
46393343e2
chore: use `timeout_duration` types for timer fields
...
Fixes https://emqx.atlassian.net/browse/EMQX-10020
2023-06-05 11:46:38 -03:00
Thales Macedo Garitezi
9bd37937f1
feat(types): add `timeout_duration{,_ms,_s}` types
2023-06-05 11:46:32 -03:00
某文
d0d6992a14
feat: update listeners from cli
2023-06-04 20:07:33 +08:00
Zaiming (Stone) Shi
f469b31fee
Merge remote-tracking branch 'origin/master' into 0529-donot-copy-cluster-conf-from-newer-version
2023-06-03 11:21:22 +02:00
Zaiming (Stone) Shi
1ba07e1040
Merge remote-tracking branch 'origin/release-51' into 0529-donot-copy-cluster-conf-from-newer-version
2023-06-02 16:30:58 +02:00
Zaiming (Stone) Shi
28c564d15b
Merge remote-tracking branch 'origin/master' into release-51
2023-06-02 16:25:48 +02:00
William Yang
b1c188f9b1
perf(mqtt-caps): dont filter cap keys
...
save map builds
2023-06-02 16:24:52 +02:00
William Yang
4961aca3d0
perf(mqtt-caps): save some map builds
2023-06-02 16:19:58 +02:00
Zaiming (Stone) Shi
367fc95976
Merge pull request #10923 from zmstone/0602-fix-channel-data-registration-race-condition
...
fix(emqx_cm): fix channel data registration race-condition
2023-06-02 14:20:18 +02:00
Thales Macedo Garitezi
2d7c1da901
Merge pull request #10913 from thalesmg/fix-plugin-proto-multicall-v50
...
fix(plugins): use `emqx:running_nodes` for multicall operations
2023-06-02 09:03:42 -03:00
Zaiming (Stone) Shi
c75e9bbe0d
fix(emqx_cm): fix channel data registration race-condition
...
when clustered, there are chances the a mqtt client process
get killed (e.g. holding the channel registeration lock for too long),
if the channel data inserts happen before casting out the message
for channel process monitoring, there is a chance for the
stale message left in the ets tables indefinitely.
this commit changes the order of the non-atomic operations:
it casts out the monitor request message before inserting
channel data.
2023-06-02 11:43:35 +02:00
zhongwencool
dd85c981cd
Merge pull request #10783 from zhongwencool/improve-authn
...
feat: load changes to the authentication configuration from command line
2023-06-02 15:58:13 +08:00
zhongwencool
9d8a5716ec
Merge pull request #10822 from zhongwencool/authz-improve
...
feat: support emqx_config:update([authrization],Conf) update
2023-06-02 15:43:09 +08:00
Andrew Mayorov
76e5243211
Merge pull request #10901 from fix/EMQX-9985/ft-fin-checksum
...
fix(ft): respect checksum in `fin` packets
2023-06-01 23:49:55 +03:00
Thales Macedo Garitezi
64258120d7
fix(plugins): use `emqx:running_nodes` for multicall operations
...
Fixes https://emqx.atlassian.net/browse/EMQX-10079
2023-06-01 14:00:43 -03:00
某文
2e5401f3cb
fix: delete rule_engine failed
2023-06-02 00:30:07 +08:00
某文
c27d844244
feat: improve authz/bridge/rule_engine/schema_registry config update
2023-06-01 23:20:56 +08:00
某文
94b86f01a5
chore: reformat SUITE case
2023-06-01 22:32:31 +08:00
zhongwencool
21df321d89
Merge branch 'master' into improve-authn
2023-06-01 22:24:59 +08:00
Kjell Winblad
75ff76a16b
fix: friendly error message when creating bridges with too long names
...
This commit makes the error message and log entry that appear when one
tries to create a bridge with a name the exceeds 255 bytes (the max
length for atoms) more friendly and easier to understand.
An even better fix would be to not store bridge names as atoms but this
probably requires a more substantial change.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9609
2023-06-01 15:30:06 +02:00
William Yang
c1d9bc8033
perf(emqx_mqtt_caps): direct read mqtt from zone conf
2023-06-01 14:54:44 +02:00
William Yang
923913e15c
feat(config): merge with global defaults when put new zone
2023-06-01 14:54:44 +02:00
William Yang
a2f8e87389
test(config): default zone and global defaults
2023-06-01 14:54:14 +02:00
William Yang
e693c6ec54
test: fix emqx_takeover_SUITE
2023-06-01 14:52:33 +02:00
William Yang
8c26ee75db
test: remove hardcoded configs
...
test with schema defaults
2023-06-01 14:52:33 +02:00
William Yang
4416122cf3
test: fix longname/shortname
2023-06-01 14:52:33 +02:00
William Yang
f621bf1f8e
test(config): update emqx_client_SUITE
2023-06-01 14:52:33 +02:00
William Yang
98d6ed4251
test: fix emqx_session_SUITE
2023-06-01 14:52:33 +02:00
William Yang
88f9782db0
perf(config): read zone conf once
2023-06-01 14:52:30 +02:00
Zhongwen Deng
7eea693422
fix: reorder authn when updating
2023-06-01 17:24:39 +08:00
Zhongwen Deng
4f5d5216bb
test: bad authn handler callback module in SUITE
2023-06-01 17:24:39 +08:00
Zhongwen Deng
8f12d81878
feat: support emqx_ctl conf command
2023-06-01 17:24:39 +08:00
Zaiming (Stone) Shi
feecd53436
chore: bump to version 5.1.0-alpha.2 for both ce and ee
2023-06-01 10:13:56 +02:00
Zaiming (Stone) Shi
15ffa98bc5
chore: fix a typo in test case function name
2023-06-01 08:18:26 +02:00
Zaiming (Stone) Shi
cb2be1811e
docs: fix function doc annotation
2023-06-01 08:17:36 +02:00
Thales Macedo Garitezi
f83f112189
fix(config): enforce root key name to be a binary (raw config)
...
Fixes this flaky test:
https://github.com/emqx/emqx/actions/runs/5134910014/jobs/9239826162#step:8:1299
```
=ERROR REPORT==== 31-May-2023::16:16:10.710969 ===
exception: error
key_path: [listeners,tcp,default,authentication]
module: emqx_schema
msg: change_config_crashed
reason: {config_not_found,[<<"listeners">>,<<"tcp">>,<<"default">>,
<<"authentication">>]}
stacktrace: [{emqx_utils_maps,deep_get,2,
[{file,
"/__w/emqx/emqx/source/apps/emqx_utils/src/emqx_utils_maps.erl"},
{line,49}]},
{emqx_config_handler,return_change_result,2,
[{file,
"/__w/emqx/emqx/source/apps/emqx/src/emqx_config_handler.erl"},
{line,456}]},
{emqx_config_handler,check_and_save_configs,7,
[{file,
"/__w/emqx/emqx/source/apps/emqx/src/emqx_config_handler.erl"},
{line,284}]},
{emqx_config_handler,handle_update_request,4,
[{file,
"/__w/emqx/emqx/source/apps/emqx/src/emqx_config_handler.erl"},
{line,195}]},
{emqx_config_handler,handle_call,3,
[{file,
"/__w/emqx/emqx/source/apps/emqx/src/emqx_config_handler.erl"},
{line,124}]},
{gen_server,try_handle_call,4,
[{file,"gen_server.erl"},{line,1149}]},
{gen_server,handle_msg,6,
[{file,"gen_server.erl"},{line,1178}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,240}]}]
update_req: {{update,
{create_authenticator,'tcp:default',
#{backend => built_in_database,enable => true,
mechanism => password_based}}},
#{rawconf_with_defaults => true}}
```
Which was cause because there were both binary and atom `listeners`
keys in the `persistent_term` storage:
```erlang
%% persistent_term:get()
{{emqx_config,raw_conf,<<"listeners">>},
#{<<"ssl">> =>
#{<<"default">> => ...
...
{{emqx_config,raw_conf,listeners},#{}},
```
... and the atom one was winning when fetching the whole config with
`emqx_config:get_raw([])`.
2023-05-31 18:03:58 -03:00
Thales Macedo Garitezi
b7c72e6cfb
Merge pull request #10890 from thalesmg/test-flakiness-20230530-e
...
more attempts to fix more test flakiness
2023-05-31 16:07:18 -03:00
Zaiming (Stone) Shi
5146de5b1c
feat: add a backup copies for cluster.hocon
2023-05-31 20:34:25 +02:00
Zaiming (Stone) Shi
39d6f612ca
feat(emqx_release): add new APIs to parse/compare release versions
2023-05-31 20:34:25 +02:00
Andrew Mayorov
aa98740280
Merge pull request #10903 from fix/ci-flaky-dashboard
...
test(dashboard): fix inter-suite test flakiness
2023-05-31 20:28:39 +03:00
Andrew Mayorov
f90ce9bbfe
test(dashboard): fix inter-suite test flakiness
2023-05-31 19:09:37 +03:00
Andrew Mayorov
0293b54211
fix(ft): respect checksum in `fin` packets
2023-05-31 18:50:38 +03:00
Thales Macedo Garitezi
189e2c87be
test(channel): fix flaky test
...
```
%%% emqx_channel_SUITE ==> t_handle_kicked_publish_will_msg: FAILED
%%% emqx_channel_SUITE ==> will_message_not_published
```
The problem was that the whole generated message was compared for
equality when receiving the will message, but the timestamp may be
different at publishing time...
2023-05-31 12:42:24 -03:00
JianBo He
a3a6480f00
Merge pull request #10880 from HJianBo/batch-kickout-clients
...
feat: support kickout clients in batch
2023-05-31 22:36:35 +08:00
Thales Macedo Garitezi
77c9eda036
test: rm stray `clear_screen` calls
2023-05-31 11:07:44 -03:00
Thales Macedo Garitezi
0d539e91d1
test(pulsar_producer): attempt to stabilize flaky test
...
https://github.com/emqx/emqx/actions/runs/5125166433/jobs/9218613872?pr=10886#step:7:679
```
=CRITICAL REPORT==== 30-May-2023::19:38:58.003170 ===
Run stage failed: error:{badmatch,
{timeout,
[#{msg => pulsar_producer_bridge_started,
'~meta' =>
#{gl => <97891.472.0>,
location =>
#Fun<emqx_bridge_pulsar_impl_producer.11.109752493>,
node => 'autocluster_node1@127.0.0.1',
pid => <97891.787.0>,
time => -576460611692219}}]}}
Stacktrace: [{emqx_bridge_pulsar_impl_producer_SUITE,'-t_cluster/1-fun-10-',
6,
[{file,
"/emqx/apps/emqx_bridge_pulsar/test/emqx_bridge_pulsar_impl_producer_SUITE.erl"},
{line,1073}]},
{emqx_bridge_pulsar_impl_producer_SUITE,t_cluster,1,
[{file,
"/emqx/apps/emqx_bridge_pulsar/test/emqx_bridge_pulsar_impl_producer_SUITE.erl"},
{line,1064}]}]
```
2023-05-31 10:19:55 -03:00
zhongwencool
26c2ab0bef
Merge pull request #10894 from zhongwencool/crl-cache-conf-hot-update
...
feat: update crl_cache conf at runtime
2023-05-31 17:59:09 +08:00
William Yang
2250ed7052
Merge pull request #10823 from qzhuyan/dev/william/meck-olp
...
test: use meck in olp tests
2023-05-31 11:01:56 +02:00
Zhongwen Deng
38e57f511c
feat: update crl_cache conf at runtime
2023-05-31 16:18:03 +08:00
JianBo He
afcd9fcb5e
chore: update bpapi.versions
2023-05-31 11:29:55 +08:00
zhongwencool
6202cefd5a
Merge pull request #10870 from zhongwencool/stop-dashboard-listener-waiting
...
fix: flaky test when stopping dashboard listener
2023-05-31 10:54:12 +08:00
firest
79d08e4d26
fix(limiter): temporarily hide the node-level settings
2023-05-31 09:43:14 +08:00
firest
55809f801c
test: fix test case error
2023-05-31 09:43:14 +08:00
firest
be2dfa51df
fix(limiter): improve the default configuration
2023-05-31 09:43:14 +08:00
Zhongwen Deng
5690469896
fix: flaky test when stopping dashboard listener
2023-05-31 07:53:10 +08:00
Thales Macedo Garitezi
299a67656e
Merge pull request #10886 from thalesmg/test-flakiness-20230530-d
...
test(quic_multistreams): attempt to fix flaky tests
2023-05-30 17:34:23 -03:00
Thales Macedo Garitezi
4f1c55f3fb
Merge pull request #10885 from thalesmg/test-flakiness-20230530-c
...
test(olp): fix inter-suite flakiness
2023-05-30 16:09:17 -03:00
Thales Macedo Garitezi
596f05f981
test(channel): attempt to reduce test flakiness
...
https://github.com/emqx/emqx/actions/runs/5124277038/jobs/9217362541?pr=10886#step:5:1582
```
%%% emqx_channel_SUITE ==> t_handle_kicked_publish_will_msg: FAILED
%%% emqx_channel_SUITE ==> will_message_not_published
```
2023-05-30 15:48:48 -03:00
Thales Macedo Garitezi
c43e5b8406
Merge pull request #10883 from thalesmg/test-flakiness-20230530-b
...
test(exclusive_sub): fix test flakiness
2023-05-30 15:46:14 -03:00
Thales Macedo Garitezi
98a99d47cb
test(shared_sub): attempt to reduce test flakiness
...
https://github.com/emqx/emqx/actions/runs/5122717037/jobs/9215439237#step:8:565
```
%%% emqx_shared_sub_SUITE ==> t_local_fallback: FAILED
%%% emqx_shared_sub_SUITE ==> {{badmatch,<<"not yet?">>},
[{emqx_shared_sub_SUITE,t_local_fallback,1,
[{file,"/__w/emqx/emqx/source/apps/emqx/test/emqx_shared_sub_SUITE.erl"},
{line,669}]},
```
2023-05-30 14:03:14 -03:00
Thales Macedo Garitezi
fa9afcd7e4
test(quic_multistreams): attempt to fix flaky tests
...
https://github.com/emqx/emqx/actions/runs/5122717037/jobs/9214950882#step:8:1757
```
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
test_server:ts_tc failed on line 1782
Reason: {test_case_failed,Client <0.6075.5> did not die: stacktrace: {current_stacktrace,
[{gen_statem,loop_receive,3,
[{file,"gen_statem.erl"},
{line,1281}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},
{line,240}]}]}}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_quic_multistreams_SUITE: *** FAILED test case 335 of 364 ***
%%% emqx_quic_multistreams_SUITE ==> shutdown.abort_recv_shutdown.ctrl_stream_shutdown.t_multi_streams_remote_shutdown: FAILED
%%% emqx_quic_multistreams_SUITE ==> {test_case_failed,"Client <0.6075.5> did not die: stacktrace: {current_stacktrace,\n [{gen_statem,loop_receive,3,\n [{file,\"gen_statem.erl\"},\n {line,1281}]},\n {proc_lib,init_p_do_apply,3,\n [{file,\"proc_lib.erl\"},\n {line,240}]}]}"}
```
```
%%% emqx_quic_multistreams_SUITE ==> mstream.profiles.profile_max_throughput.pub_qos2.sub_qos2.qos.t_multi_streams_unsub: FAILED
%%% emqx_quic_multistreams_SUITE ==> {{case_clause,
{ok,#{packet_id => 8,properties => #{},reason_code => 0,
reason_code_name => success,
via =>
{quic,#Ref<0.686875463.2755788802.201649>,
#Ref<0.686875463.2755788804.193527>}}}},
[{emqx_quic_multistreams_SUITE,t_multi_streams_unsub,1,
[{file,
"/home/thales/dev/emqx/emqx/apps/emqx/test/emqx_quic_multistreams_SUITE.erl"},
{line,1094}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1224}]}]}
```
2023-05-30 13:56:05 -03:00
Thales Macedo Garitezi
37b4a44e23
test(olp): fix inter-suite flakiness
...
https://github.com/emqx/emqx/actions/runs/5122717037/jobs/9212645120?pr=10883#step:8:2538
```
emqx_olp_SUITE:t_overload_cooldown_conn failed on line 96
Reason: {assertMatch,[{module,...},{...}|...]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_olp_SUITE: *** FAILED test case 3 of 4 ***
%%% emqx_olp_SUITE ==> t_overload_cooldown_conn: FAILED
%%% emqx_olp_SUITE ==>
Failure/Error: ?assertMatch({ ok , _Pid }, emqtt : connect ( C ))
expected: = { ok , _Pid }
got: {error,econnrefused}
line: 96
%%% emqx_olp_SUITE ==> t_overloaded_conn: OK
Testing lib.emqx.emqx_olp_SUITE: TEST COMPLETE, 3 ok, 1 failed of 4 test cases
```
```sh
make ct-suite SUITE=apps/emqx/test/emqx_access_control_SUITE.erl,apps/emqx/test/emqx_olp_SUITE.erl
```
2023-05-30 13:39:52 -03:00
William Yang
f2e54c9a6e
test: use meck in olp tests
...
avoid flaky test results by using mecks.
2023-05-30 17:57:09 +02:00
Thales Macedo Garitezi
a28580248a
test(exclusive_sub): fix test flakiness
...
https://github.com/emqx/emqx/actions/runs/5115608275/jobs/9208594481?pr=10864#step:8:735
```
Testing lib.emqx.emqx_access_control_SUITE: TEST COMPLETE, 4 ok, 0 failed of 4 test cases
Testing lib.emqx.emqx_exclusive_sub_SUITE: Starting test, 5 test cases
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Error detected: {'EXIT',{shutdown,econnrefused}}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_exclusive_sub_SUITE: *** FAILED test case 1 of 5 ***
%%% emqx_exclusive_sub_SUITE ==> t_allow_normal_sub: FAILED
%%% emqx_exclusive_sub_SUITE ==> {'EXIT',{shutdown,econnrefused}}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
emqx_exclusive_sub_SUITE:t_clean_session failed on line 128
Reason: {badmatch,{error,econnrefused}}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_exclusive_sub_SUITE: *** FAILED test case 2 of 5 ***
%%% emqx_exclusive_sub_SUITE ==> t_clean_session: FAILED
```
To reproduce:
```
make ct-suite SUITE=apps/emqx/test/emqx_access_control_SUITE.erl,apps/emqx/test/emqx_exclusive_sub_SUITE.erl
```
2023-05-30 11:23:17 -03:00
Thales Macedo Garitezi
cb7929a2fc
test(broker): attempt to reduce flakiness
2023-05-30 11:12:18 -03:00
Thales Macedo Garitezi
26992e9d98
test(banned): attempt to improve flaky test
2023-05-30 11:08:31 -03:00
Thales Macedo Garitezi
6b5b9fc8b8
Merge pull request #10864 from thalesmg/fix-flaky-channel-test-20230529
...
test(channel): fix flaky test
2023-05-30 10:18:47 -03:00
Zaiming (Stone) Shi
d2ce7c22fd
chore: bump app vsn, core app 'emqx' is now at 5.1
2023-05-30 11:32:18 +02:00
Zaiming (Stone) Shi
1e8ed89db8
Merge remote-tracking branch 'origin/master' into release-51
2023-05-30 11:29:44 +02:00
Zaiming (Stone) Shi
91cdc69976
Merge pull request #10867 from zmstone/0530-merge-release-50-to-master
...
0530 merge release 50 to master
2023-05-30 09:54:57 +02:00
Zaiming (Stone) Shi
367de2a2eb
docs: update bpapi readme
2023-05-30 08:29:43 +02:00
Zaiming (Stone) Shi
941939f7d7
build: finalize 5.0.bpapi
2023-05-30 08:28:45 +02:00
Zaiming (Stone) Shi
3b8cba6ba0
chore: bump rlease versions
2023-05-30 08:28:45 +02:00
Zaiming (Stone) Shi
747eb6fcff
Merge remote-tracking branches 'origin/release-50' and 'origin/master' into release-51
2023-05-30 07:54:34 +02:00
JimMoen
909d348570
chore: fix spec typo
2023-05-30 11:31:37 +08:00
Thales Macedo Garitezi
1aff46b7c9
test(channel): fix flaky test
2023-05-29 19:04:48 -03:00
Thales Macedo Garitezi
67e182e0c9
Merge pull request #10813 from thalesmg/refactor-kafka-on-stop-v50
...
feat(kafka): ensure allocated resources are removed on failures
2023-05-29 16:49:29 -03:00
Thales Macedo Garitezi
79f6861499
chore: prepare to tag v5.0.26
2023-05-29 09:17:59 -03:00
Zaiming (Stone) Shi
8e6dc29637
chore: bump release version to v5.0.26-alpha.1
2023-05-29 08:57:28 +02:00
Zaiming (Stone) Shi
25319c3151
Merge pull request #10839 from zmstone/0526-merge-release-50-to-master
...
0526 merge release 50 to master
2023-05-29 08:56:20 +02:00
Zaiming (Stone) Shi
c2450d230d
Merge pull request #10605 from zmstone/0503-no-telemetry-app-for-ee
...
0503 refactoring: no telemetry app for ee
2023-05-27 10:57:15 +02:00
Thales Macedo Garitezi
d27f593309
test: fix flaky authn test
2023-05-26 16:44:00 -03:00
Zaiming (Stone) Shi
fe81e9521a
Merge pull request #10600 from zmstone/0504-delete-statsd-all-together
...
0504 delete statsd all together
2023-05-26 16:29:59 +02:00
Zaiming (Stone) Shi
36e268c933
chore: bump app versions
2023-05-26 16:05:37 +02:00
Zaiming (Stone) Shi
cc5b4d3748
Merge remote-tracking branch 'origin/release-50' into 0526-ci-delete-otp-24-from-standalone-app-test
2023-05-26 15:58:16 +02:00
Zaiming (Stone) Shi
6e2cde8224
refactor: delete emqx_statsd all together
2023-05-26 15:17:42 +02:00
Andrew Mayorov
45b128946a
Merge pull request #10825 from fix/EMQX-9991/bugs
...
fix(ft): avoid leaking secrets
2023-05-26 16:08:14 +03:00
Zaiming (Stone) Shi
7eb22e27c4
chore: bump release version to e5.0.4
2023-05-26 14:34:01 +02:00
Zhongwen Deng
9b6da3ff10
chore: bump hocon to 0.39.7
2023-05-26 19:00:58 +08:00
Zhongwen Deng
df4a0afdf5
fix: zones api default value
2023-05-26 18:59:38 +08:00
Zaiming (Stone) Shi
2d986140df
chore: bump version to e5.0.4-rc.2
2023-05-26 12:01:10 +02:00
Andrew Mayorov
48858dee33
fix(s3): wrap S3 secrets during config load
2023-05-26 12:59:21 +03:00
JimMoen
a3b77563ba
fix: make static check happy
2023-05-26 10:34:15 +08:00
Paulo Zulato
ea86f4442b
fix: avoid error 500 when node is re-joining cluster
...
Fixes https://emqx.atlassian.net/browse/EMQX-9899
2023-05-25 13:32:28 -03:00
Zaiming (Stone) Shi
e8a4df96bc
Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee
2023-05-25 16:43:20 +02:00
ieQu1
2b79196a03
Merge pull request #10809 from ieQu1/ekka-0.15.2
...
chore(ekka): Bump version to 0.15.2
2023-05-24 18:13:04 +02:00
zhongwencool
14a6b36899
Merge pull request #10803 from JimMoen/merge-release-50
...
Merge release-50 into master
2023-05-24 23:08:46 +08:00
ieQu1
3d3dacfcf6
chore(ekka): Bump version to 0.15.2
2023-05-24 15:43:49 +02:00
JimMoen
28015597ee
Merge remote-tracking branch 'emqx/release-50' into merge-release-50
2023-05-24 19:34:12 +08:00
Zaiming (Stone) Shi
2fdf4b5dac
Merge pull request #10744 from savonarola/0518-fix-eviction
...
fix(evacuation): handle expire interval correctly
2023-05-24 09:20:53 +02:00
Thales Macedo Garitezi
8e6da40a31
test: fix flaky ocsp test setup (v5.0)
2023-05-23 17:52:02 -03:00
Zaiming (Stone) Shi
b8b1779627
Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee
2023-05-23 21:42:07 +02:00
Zaiming (Stone) Shi
2fa5b511bf
chore: hide stale config
2023-05-23 14:20:49 +02:00
Zaiming (Stone) Shi
3bb1f7ab2b
Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee
2023-05-23 13:03:55 +02:00
某文
ed1268ed30
Merge branch 'release-50' into 0522-merge-release-50-to-master
2023-05-23 07:56:35 +08:00
Zaiming (Stone) Shi
68f4ae70b2
chore: bump ee release version to e5.0.4-alpha.2
2023-05-22 22:41:19 +02:00
Zaiming (Stone) Shi
732a7be187
Merge remote-tracking branch 'origin/release-50'
2023-05-22 17:46:54 +02:00
Zaiming (Stone) Shi
1f44dd4579
Merge pull request #10756 from zmstone/0519-refactor-move-lib-ee-emqx_ee_conf-to-apps-emqx_enterprise
...
0519 refactor move lib ee emqx ee conf to apps emqx enterprise
2023-05-22 16:56:51 +02:00
Andrew Mayorov
3f882ddcc6
Merge pull request #10751 from ci/ct-flap-listener-api
...
fix(listen): wait until port is free when stopping ranch listeners
2023-05-22 17:00:45 +03:00
lafirest
88e4078885
Merge pull request #10747 from lafirest/fix/rule_funs_time_offset
...
fix: port the `emqx_calendar` from v4.4
2023-05-22 20:52:21 +08:00
Zaiming (Stone) Shi
40e8d5d039
refactor: rename lib-ee/emqx_ee_conf to apps/emqx_enterprise
2023-05-22 14:51:27 +02:00
Andrew Mayorov
23542d1262
fix(listen): wait until port is free when stopping ranch listeners
...
Simple `cowboy:stop_listener/1` will not close the listening socket
explicitly, it was the source of test flaps before this fix.
2023-05-22 12:29:40 +03: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
某文
082214d039
feat: add authz file rule validator
2023-05-22 14:25:05 +08:00
firest
56a6b699ac
fix: port the `emqx_calendar` from v4.4
2023-05-22 09:55:31 +08:00
某文
7c2aac64bc
fix: bad cert file path in dashboard https listener
2023-05-21 07:41:46 +08:00
Andrew Mayorov
9aaa0b6fe1
Merge pull request #9927 from emqx/file-transfer
...
feat: implement file transfer over mqtt
2023-05-19 18:35:13 +03:00
某文
6cb9efd7d3
feat: add authz file rule validator
2023-05-19 18:41:59 +08:00
Ilya Averyanov
9c48b016a9
fix(evacuation): handle expire interval correctly
2023-05-18 22:34:54 +03:00
Thales Macedo Garitezi
09ea2e2224
fix(bridge_api): don't crash when formatting empty/unknown bridge metrics
...
Fixes https://emqx.atlassian.net/browse/EMQX-9872
2023-05-18 14:25:13 -03: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
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
447b76464b
Merge branch 'release-50' into merge-r50-into-v50-a
2023-05-17 14:50:18 -03:00
William Yang
727ad59995
chore(test): improve coverage
2023-05-17 16:58:49 +02: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
William Yang
cdf42760fa
chore: little change avoid atom leak
2023-05-17 11:01:03 +02:00
Ilya Averyanov
b71955e368
fix(ft): bump application versions
2023-05-17 00:29:15 +03:00
Ilya Averyanov
1a8cf0e392
Merge branch 'release-50' into file-transfer
...
* release-50:
fix(pulsar): use a binary duration as default `health_check_interval`
docs: add changelog entry
docs: clarify description of bridge username and password
chore: bump to v5.0.25
fix(limiter): adjust type for compatibility
fix(limiter): fix that update node-level limiter config will not working
chore: upgrade dashboard to v1.2.4-1 for ce
chore: upgarde rulesql to 0.1.6 to fix invaid utf8 input
chore: add changelog for 10659
fix: crash when sysmon.os.mem_check_interval = disabled
chore: bump influxdb version && update changes
refactor(influxdb): move influxdb bridge into its own app
chore: add listener default changelog
fix: ocsp cache SUITE failed
fix: ensure atom key for emqx_config:get
fix: only fill cerf_file default in server side
fix: authn init is empty
fix: bad listeners default ssl_options
2023-05-17 00:27:55 +03:00
Andrew Mayorov
3cd95f40e5
test(chan): verify hooks receive peercert until connected
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
6f8f21106b
fix(assert): use unpredictable binding names in macros
...
Also translate macro vars to ALLCAPS for consistency.
2023-05-16 16:46:05 +03:00
Andrew Mayorov
be3a0ce974
fix(maybe): correct `apply/2` typespec
...
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-05-16 16:26:26 +03:00
Andrew Mayorov
6813ea8e7a
test(client): dedicate separate testcase to peercert cleaning
2023-05-16 13:25:33 +03:00
firest
255f616d26
chore: bump emqx app version
2023-05-16 16:36:36 +08:00
William Yang
1c746ed289
perf(config): enforcing atom key path in hotcode path
2023-05-16 09:57:04 +02:00
firest
50e7de9db2
fix(limiter): a bucket with an infinity rate shouldn't be added to limiter server
2023-05-16 13:30:41 +08: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
某文
5ef2a603a1
chore: bump to v5.0.25
2023-05-12 20:27:36 +08:00
firest
95a67f390f
fix(limiter): adjust type for compatibility
2023-05-12 18:41:41 +08:00
zhongwencool
a953b951fe
Merge branch 'master' into sync-release-50-to-master
2023-05-12 18:01:58 +08:00
firest
a38b270b03
fix(limiter): fix that update node-level limiter config will not working
2023-05-12 17:39:49 +08:00
Zhongwen Deng
90549abec7
fix: crash when sysmon.os.mem_check_interval = disabled
2023-05-12 14:42:23 +08:00
firest
dcd4640a57
fix: update the will message timestamp when it is ready to publish
2023-05-12 14:28:26 +08:00
Thales Macedo Garitezi
c4f2dba9c5
Merge pull request #10643 from thalesmg/test-sanity-checks-v50
...
test: perform sanity checks when starting apps
2023-05-11 14:00:22 -03:00
某文
91f97f6c29
fix: ocsp cache SUITE failed
2023-05-11 21:26:23 +08:00
Ilya Averyanov
5b5d7ceac5
Merge branch 'release-50' into file-transfer
...
* release-50:
fix(limiter): fix an error when setting `max_conn_rate` in a listener
chore: bump erlcloud dependencies vsns
chore: rename dynamo template files
refactor(dynamo): move dynamo bridge into its own app
chore: update changes && bump app versions
fix: issues with the RabbitMQ config
refactor(pgsql): move pgsql && matrix && timescale bridges into their own app
fix: the iotdb password field so it has the password format
chore: update changes
refactor(tdengine): move tdengine bridge into its own app
feat: deprecate listeners's authn http api
2023-05-11 16:15:38 +05:00
Zhongwen Deng
3d41449fde
fix: only fill cerf_file default in server side
2023-05-11 17:33:18 +08:00
SergeTupchiy
0617a9b11c
Merge pull request #10653 from SergeTupchiy/convert-gateway-authn-certs
...
fix(emqx_gateway): convert and clear authentication certificates
2023-05-11 11:35:55 +03:00
Zhongwen Deng
d9f9e951ec
fix: bad listeners default ssl_options
2023-05-11 16:25:25 +08:00
zhongwencool
a736b633b0
Merge pull request #10607 from zhongwencool/log-conf-refactor
...
feat: simplify log configuration
2023-05-11 16:12:27 +08:00
Zaiming (Stone) Shi
b3e35dac1c
Merge pull request #10584 from paulozulato/debug-ssl-handshake
...
feat: add log level configuration to ssl communication
2023-05-11 08:59:13 +02:00
firest
b7126257a5
fix(limiter): fix an error when setting `max_conn_rate` in a listener
2023-05-11 13:52:13 +08:00
zhongwencool
7e720ca260
Merge pull request #10641 from thalesmg/bump-gproc-091-v50
...
chore: bump gproc -> 0.9.0.1
2023-05-10 16:16:26 +08:00
Ilya Averyanov
8d9b785bd7
Merge branch 'release-50' into file-transfer
...
* release-50:
chore(rebalance): fix app metadata
chore(rebalance): move apps from lib-ee, add READMEs
docs: refine zh tr
docs: delete APL header from ee file
docs: delete zh changelog
chore(rebalance): review fixes
chore(rebalance): rebase and review fixes
feat(rebalance): port apps from 4.x
2023-05-10 11:55:23 +05:00
Zhongwen Deng
b80227a02a
fix: crash when sysmon.os.mem_check_interval = disabled
2023-05-10 14:49:34 +08:00
Ilya Averyanov
7fa166f034
Merge branch 'release-50' into file-transfer
...
* release-50: (73 commits)
feat: add RabbitMQ bridge
docs: improve rule engine labels and descriptions
chore: bump version && update changes
refactor(rocketmq): move rocketmq bridge into its own app
test: dashboard_listener_test crash
chore: bump chart versions
chore: bump ee version to e5.0.4-alpha.1
test: fix inter-suite flakiness
build: compatibility to make 4.4+
feat: add IotDB bridge
ci: ensure git safe dir in build_packages
ci: ensure git safe dir
test: check_oom's max_mailbox_size
feat: rename max_message_queue_len to max_mailbox_size
fix(buffer_worker): fix inflight count when updating inflight item
chore: prepare for v5.0.25-rc.1 release
docs: add change log entry
fix: non_neg_integer() translated to minimum = 1 in bridge-api-en.json
chore: `MQTT X` -> `MQTTX`
chore: make sure brod_gssapi app is included in relese package
...
2023-05-09 23:30:22 +05:00
Ilya Averyanov
e683d28973
chore(rebalance): rebase and review fixes
2023-05-09 20:51:24 +05:00
Ilya Averyanov
609f7bd8fd
feat(rebalance): port apps from 4.x
2023-05-09 20:51:22 +05:00
Serge Tupchii
b98a7168c4
fix(emqx_gateway): convert and clear authentication certificates
2023-05-09 17:32:44 +03:00
Thales Macedo Garitezi
5643c12930
chore: bump gproc -> 0.9.0.1
...
Includes fix: https://github.com/uwiger/gproc/pull/193
Prior to the fix, when using the `random` pool strategy, one of the
workers receives about double the load of other workers, which
decreases throughput of bridges like webhook.
2023-05-09 11:27:25 -03:00
William Yang
328add3a02
Merge pull request #10563 from qzhuyan/fix/william/no_local_filter_all
...
fix(mqtt): drop all local messages in session deliver
2023-05-09 15:29:12 +02:00
Kjell Winblad
70cf1533db
feat: add RabbitMQ bridge
2023-05-09 14:32:26 +02:00
Zhongwen Deng
428cc45c69
fix: filter disable file handler
2023-05-09 17:50:06 +08:00
lafirest
b94290db58
Merge pull request #10625 from lafirest/refactor/limiter_cfg
...
refactor(limiter): simplify limiter configuration
2023-05-09 11:40:05 +08:00
Zhongwen Deng
ad111a27f9
feat: alias log.file.to to log.file.file
2023-05-09 11:24:51 +08:00
Zhongwen Deng
bf87aebbba
chore: upgrade hocon to 0.39.5
2023-05-09 11:24:51 +08:00
某文
7b000157d0
feat: refactor log configuration
2023-05-09 11:24:51 +08:00
Zaiming (Stone) Shi
4456a32465
chore: bump ee version to e5.0.4-alpha.1
2023-05-08 22:08:51 +02:00
Zaiming (Stone) Shi
a22dd399b6
Merge remote-tracking branch 'origin/master' into 0508-prepare-for-e5.0.4
2023-05-08 21:16:12 +02:00
Stefan Strigler
1ade7ce9a3
Merge pull request #10560 from sstrigler/EMQX-8390-5-0-x-io-tdb-bridge-port-conf-and-api-to-5-0
...
IoTDB Bridge
2023-05-08 20:27:01 +02:00
Paulo Zulato
77176787ca
feat: add log level configuration to ssl communication
...
Fixes https://emqx.atlassian.net/browse/EMQX-9781
2023-05-08 15:11:49 -03:00
Paulo Zulato
83c4b2f2d4
Merge pull request #10568 from paulozulato/feat-shutdown-count
...
feat: add shutdown count
2023-05-08 15:07:51 -03:00
Thales Macedo Garitezi
306a732e5e
test: perform sanity checks when starting apps
...
These are checks to detect inter-suite or inter-testcase flakiness
early. One suite might forget one application running
and stop others, and then the `application:start/2' callback is never
called again for this application.
One example of this was that: i) `emqx_rule_engine` was left running by
one suite; ii) `emqx` app was stopped, taking `emqx_config_handler`
down with it and losing the rule engine handler; iii) another suite
that uses rule engine "started" it (a no-op) and then the config
handler was never installed again.
2023-05-08 14:00:23 -03:00
Zaiming (Stone) Shi
4a2e583e3f
refactor: move telemetry to its own app
2023-05-08 15:16:27 +02:00
William Yang
8545d3d4a7
test: subscribe with no_local, mixed pub from different clients
2023-05-08 14:40:37 +02:00
Zhongwen Deng
04e62f6a2d
test: check_oom's max_mailbox_size
2023-05-08 20:27:52 +08:00
Zhongwen Deng
eaa129d0d7
feat: rename max_message_queue_len to max_mailbox_size
2023-05-08 20:27:52 +08:00
Zaiming (Stone) Shi
0250718910
chore: prepare for v5.0.25-rc.1 release
2023-05-08 14:04:22 +02:00
Zaiming (Stone) Shi
f450dc49ba
Merge remote-tracking branch 'origin/release-50' into 0508-prepare-for-e5.0.4
2023-05-08 14:03:42 +02:00
Zaiming (Stone) Shi
83257617cd
Merge pull request #10630 from zhongwencool/sync-release-50-to-master
...
Sync release 50 to master
2023-05-08 14:02:27 +02:00
Zaiming (Stone) Shi
f2a223c1e9
chore: prepare for e5.0.3 release
2023-05-08 10:59:04 +02:00
Stefan Strigler
d920f415cd
fix(emqx_logger): fix spec for set_log_level
2023-05-08 09:57:26 +02:00
William Yang
b6c7e55348
Merge pull request #10528 from qzhuyan/perf/william/force-config-atom-path
...
perf(config): ensure root keys of 'conf' config is atom
2023-05-08 09:37:18 +02:00
Zhongwen Deng
4f396a36a9
Merge remote-tracking branch 'upstream/master' into release-50
2023-05-08 14:58:03 +08:00
firest
d914d1ee1d
refactor(limiter): simplify limiter configuration
2023-05-08 11:45:49 +08:00
zhongwencool
d7b10fc329
Merge pull request #10489 from zhongwencool/warning-config-unknown-key
...
feat: warning unknown config root key
2023-05-06 14:28:56 +08:00
Zhongwen Deng
f45efbd12d
feat: warning unknown config root key
2023-05-06 10:43:52 +08:00
William Yang
48cf089870
fix(mqtt): drop all local messages in session deliver
2023-05-05 18:38:18 +02:00
William Yang
08d67aac9f
test: fix emqx_mqtt_caps_SUITE
2023-05-05 17:45:11 +02:00
Ilya Averyanov
dd3471bc22
Merge branch 'master' into file-transfer
...
* master: (194 commits)
fix(limiter): update change && fix deprecated version
chore: update changes
perf(limiter): simplify the memory represent of limiter configuration
ci(perf test): update tf variable name and set job timeout
ci: fix artifact name in scheduled packages workflow
fix: build_packages_cron.yaml workflow
ci: move scheduled builds to a separate workflow
build: check mnesia compatibility when generating mria config
docs: fix a typo in api doc description
feat(./dev): use command style and added 'ctl' command
test: fix delayed-pubish test case flakyness
refactor: remove raw_with_default config load option
chore: add changelog for trace timestrap
feat: increase the time precision of trace logs to microseconds
chore: make sure topic_metrics/rewrite's default is []
docs: Update changes/ce/perf-10417.en.md
chore: bump `snabbkaffe` to 1.0.8
ci: run static checks in separate jobs
chore(schema): mark deprecated quic listener fields ?IMPORTANCE_HIDDEN
chore: remove unused mqtt cap 'subscription_identifiers'
...
2023-05-05 16:50:18 +03:00
zhongwencool
fb3c0c1fe9
Merge pull request #10546 from zhongwencool/04-27-ssl_options
...
feat: organize the ssl_options
2023-05-05 20:51:19 +08:00
Zaiming (Stone) Shi
8ce2122516
chore: prepare to cut e5.0.3-rc.1
2023-05-05 12:56:34 +02:00
lafirest
335d948bce
Merge pull request #10591 from lafirest/fix/simplify_limiter_client_cfg
...
perf(limiter): simplify the memory represent of limiter configuration
2023-05-05 16:59:04 +08:00
firest
7a96a9772d
fix(limiter): update change && fix deprecated version
2023-05-05 16:26:06 +08:00
William Yang
e4f501417b
Merge pull request #10525 from qzhuyan/perf/william/avoid-new-map-when-get-mqtt-caps
...
perf(config): avoid build new map in emqx_mgmt_caps:get_caps
2023-05-05 10:22:08 +02:00
firest
4f47e65b7b
perf(limiter): simplify the memory represent of limiter configuration
2023-05-05 16:21:21 +08:00
Zaiming (Stone) Shi
14e055f18b
Merge pull request #10578 from zmstone/0502-refactor-delete-stale-config-check-opt
...
0502 refactor delete stale config check opt
2023-05-04 16:32:49 +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
06960853e0
feat: increase the time precision of trace logs to microseconds
2023-05-04 14:41:02 +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
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
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
754045173e
chore: bump `snabbkaffe` to 1.0.8
2023-05-03 11:16:51 +03: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
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
d5f5f35787
Merge remote-tracking branch 'origin/release-50' into 0502-merge-release-50-back-to-master
2023-05-02 18:08:04 +02:00
Zaiming (Stone) Shi
0fd5fee4ca
Merge pull request #10547 from zmstone/0427-default-listeners-in-schema
...
0427 default configs in schema
2023-05-02 15:03:49 +02:00
Zaiming (Stone) Shi
2dd9191718
refactor: use different terms for config tombstone
...
there are 3 different kind of Erlang terms for tombstone related configs
1. the schema type (must be an atom)
2. the config value (must be a binary)
3. the config change comamnd (request) which is only used
in the code, but never persisted
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
b1dfbf7984
refactor: move shared macros to header file
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
674f837f36
refactor(emqx_listeners): better variable names
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
b65a71b498
test: allow emqx_ws_connection_SUITE to run without erasing configs
2023-05-01 19:37:12 +02:00
Zaiming (Stone) Shi
95cb262067
test: fix authn test cases
2023-05-01 18:42:45 +02:00
Zaiming (Stone) Shi
a03f2dd64b
test: allow pre-load configs before emqx_conf app
2023-05-01 15:35:33 +02:00
Zaiming (Stone) Shi
43c80ba635
chore: always init_load config wiht defaults populated
...
this effectively eliminates the need for raw_with_default
because it's now always set to true everywhere.
will remove it in a followup.
2023-04-30 21:24:46 +02:00
Zhongwen Deng
2ab0e30489
chore: seperate avail and default tls version
2023-04-30 10:48:54 +08:00
Zhongwen Deng
d8c4c6637b
feat: mark ssl_options.password as low level
2023-04-30 10:48:54 +08:00
Zhongwen Deng
cc2d529562
feat: remove tlsv1.1,tlsv1,dtlsv1 from default ssl version
2023-04-30 10:48:54 +08:00
Zaiming (Stone) Shi
2e9dca280c
refactor(listener-schema): use a tombstone for deleted listeners
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
4d705817d8
refactor(log): move default values to schema
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
a1551213c8
test: EMQX_ETC_DIR for test is app's etc dir
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
e0dc5645ab
fix(config): always fill defautls for all roots
...
prior to this commit, if a root existed in config files
it skips populating default values in raw config,
this made impossible to add default values for authz sources.
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
7c5a9e0e20
refactor: move the env interpolation function to emqx_schema
...
also added test cases
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
b0f3a654ee
refactor: delete default listeners from default config
...
The new config overriding rule is very much confusing for
people who wants to persist listener config changes made from
dashboard
This commit moves the default values from default config file
to schema source code.
In order to support build-time cert path at runtime, there
is also a naive environment variable interplation feature added.
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
c58ffce75f
fix(hocon): pin 0.38.2 with the map type value converter fixed
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
6e36139a17
chore: bump to e5.0.3-alpha.5
2023-04-27 22:56:34 +02:00
Thales Macedo Garitezi
270fa5d19d
Merge pull request #10550 from thalesmg/fix-ocsp-disabled-r50
...
fix(ocsp): disable periodic refresh when listener or stapling are disabled
2023-04-27 17:22:44 -03:00
Thales Macedo Garitezi
2bb40787f7
Merge pull request #10552 from thalesmg/fix-flaky-banned-test-v50
...
test(banned): attempt to fix flaky test
2023-04-27 15:47:37 -03:00
Thales Macedo Garitezi
0bd4beae6e
Merge pull request #10549 from thalesmg/tests-is-ci-var-v50
...
ci: set `IS_CI=yes` when running tests
2023-04-27 14:12:31 -03:00
Thales Macedo Garitezi
d845c4807d
fix(ocsp): disable periodic refresh when listener or stapling are disabled
...
Fixes https://emqx.atlassian.net/browse/EMQX-9773
2023-04-27 14:02:55 -03:00
Thales Macedo Garitezi
d0c4c70f74
test(banned): attempt to fix flaky test
...
Example failure:
https://github.com/emqx/emqx/actions/runs/4821105856/jobs/8587006829#step:8:4495
```
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
emqx_common_test_helpers:wait_for_down failed on line 434
Reason: {{t_session_taken,178,timeout},[{emqx_common_test_helpers,...},{...}|...]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_banned_SUITE: *** FAILED test case 4 of 5 ***
%%% emqx_banned_SUITE ==> t_session_taken: FAILED
%%% emqx_banned_SUITE ==> {{t_session_taken,178,timeout},
[{emqx_common_test_helpers,wait_for_down,6,
[{file,"/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
{line,434}]},
{emqx_banned_SUITE,t_session_taken,1,
[{file,"/__w/emqx/emqx/source/apps/emqx/test/emqx_banned_SUITE.erl"},
{line,176}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1223}]}]}
```
2023-04-27 13:19:26 -03:00
Thales Macedo Garitezi
c984449bad
Merge pull request #10530 from thalesmg/fix-wait-ssl-crl-test-v50
...
test(crl): ensure ssl_manager is ready to avoid flakiness
2023-04-27 11:59:34 -03:00
Thales Macedo Garitezi
521b549049
test(peer): define cookie when using `ct_slave` module
2023-04-27 11:58:40 -03:00
Thales Macedo Garitezi
99448151e9
test(crl): ensure ssl_manager is ready to avoid flakiness
...
Example failure: https://github.com/emqx/emqx/actions/runs/4806430125/jobs/8555021522?pr=10524#step:8:49138
2023-04-27 09:12:40 -03:00
Thales Macedo Garitezi
7e24b35bb3
chore: bump release version to `e5.0.3-alpha.4`
2023-04-26 17:09:39 -03:00
Ivan Dyachkov
35c48ef009
chore: v5.0.24
2023-04-26 18:02:44 +02:00
William Yang
15fe445c66
Merge pull request #10527 from qzhuyan/test/william/test-use-os-selected-port
...
fix(test): avoid port collision
2023-04-26 13:39:36 +02:00
William Yang
abf150518c
fix(test): avoid port collision
...
Use OS selected free port to avoid port collision among the test runs.
2023-04-26 12:16:16 +02:00
William Yang
5ed3c3a92c
perf(config): eliminate make_ref() calls in config get calls
2023-04-26 10:58:08 +02:00
SergeTupchiy
d398276852
Merge pull request #10518 from SergeTupchiy/upgrade-ekka-to-0.15.1-mria-0.5.2
...
chore: bump ekka to 0.15.1
2023-04-26 11:03:23 +03:00
zhongwencool
62e1dbdb4e
Merge pull request #10521 from zhongwencool/sync-release-50-to-master
...
Sync release 50 to master
2023-04-26 14:27:51 +08:00
zhongwencool
713e050a79
Merge pull request #10512 from zhongwencool/hocon-0.39.3
...
feat: improved the storage format of Unicode characters in data files
2023-04-26 13:59:51 +08:00
zhongwencool
9d893b49eb
Merge branch 'master' into sync-release-50-to-master
2023-04-26 10:54:46 +08:00
Thales Macedo Garitezi
79cf5cad19
Merge pull request #10378 from thalesmg/pulsar-producer-e50
...
feat: implement Pulsar Producer bridge (e5.0)
2023-04-25 18:01:43 -03:00
Serge Tupchii
19b5ebff81
chore: bump ekka to 0.15.1
...
ekka 0.15.1 uses mria 0.5.2, which includes the following changes:
- fix(mria_membership): call `mria_rlog:role/1` safely
- feat: add extra field to ?rlog_sync table (for future use)
2023-04-25 23:21:07 +03:00
Thales Macedo Garitezi
a703707803
chore: tag e5.0.3-alpha.3
2023-04-25 10:51:34 -03:00
Thales Macedo Garitezi
3138e2b3a1
chore: un-hide ocsp stapling config
...
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-25 09:33:24 -03:00
Zhongwen Deng
308056f0fc
feat: improved the storage format of Unicode characters in data files
2023-04-25 18:08:34 +08:00
Zhongwen Deng
d6208d8847
test: add test for depreated config file
2023-04-25 14:47:05 +08:00
Zhongwen Deng
f84fc6f8b9
fix: can't update authentication when cluster-override.conf
2023-04-25 11:59:06 +08:00
Zhongwen Deng
3f689d0fdf
feat: don't do rpc call to check deprecated file
2023-04-25 10:10:56 +08:00
lafirest
29d3afd692
Merge pull request #10487 from lafirest/fix/limiter_instance
...
fix(limiter): optimize the instance of limiter
2023-04-25 09:43:04 +08:00
Andrew Mayorov
5efd590ca4
feat(ft): properly propagate config updates
...
Ensure that:
* Storage config might be removed.
* Local FS GC process is set up when Local FS storage is configured.
* Local FS GC process gets its timer reset on config updates.
* Storage / exporter gets chosen based on `type` only.
* Exporter config updates propagated as before.
Also employ `emqx_ft_schema:translate/1` instead of duplicating
defaults where applicable.
2023-04-24 21:51:54 +03:00
Serge Tupchii
99e892b5c4
chore: bump ekka to 0.15.0
...
ekka 0.15.0 uses mria 0.5.0, which adds several fixes, enhancements and features:
- protect `mria:join/1,2` with a global lock
- implement new function `mria:sync_transaction/4,3,2`, which waits for
a transaction replication to be ready on the local node
(if the local node is a replicant)
- optimize `mria:running_nodes/0`
- optimize `mria:ro_transaction/2` when called on a replicant node.
Fixes: EMQX-9588 (#10380 ), EMQX-9102, EMQX-9152, EMQX-9213
2023-04-24 20:52:20 +03:00
Thales Macedo Garitezi
377b143325
refactor: split `parse_server` into smaller functions, improve return type to use map
2023-04-24 14:17:29 -03:00
lafirest
2845469c48
Merge pull request #10490 from lafirest/fix/rmv_def_conn_limit
...
fix(limiter): remove the default limit of connect rate
2023-04-24 22:04:29 +08:00
Thales Macedo Garitezi
ad4be08bb2
feat: implement Pulsar Producer bridge (e5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-8398
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
f6da118ebd
test: fix flaky test
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
dc48032309
feat(schema): add support for schemes in server parser/validator
2023-04-24 09:28:36 -03:00
Zaiming (Stone) Shi
366aa53c80
Merge pull request #10462 from zmstone/0430-EMQX-8434-shared-dispatch-ack-deprecated
...
chore: Hide config shared_dispatch_ack_enabled
2023-04-24 09:42:09 +02:00
Ivan Dyachkov
988e4ec1aa
Merge pull request #10476 from id/e5.0.3-alpha.2
...
chore: e5.0.3-alpha.2
2023-04-24 09:08:29 +02:00
firest
7b51a49f84
fix(limiter): remove the default limit of connect rate
2023-04-24 14:09:23 +08:00
firest
c2e35a42b0
fix(limiter): optimize the instance of limiter
...
We can reduce a limiter container with all types are `infinity` to just a `infinity` atom
2023-04-24 10:43:55 +08:00
某文
8bfee90322
chore: make static_check happy
2023-04-23 20:06:51 +08:00
Ivan Dyachkov
6beb9e00b6
chore: e5.0.3-alpha.2
2023-04-22 20:09:40 +02:00
Ilya Averyanov
0211bcf030
Merge branch 'master' into file-transfer
...
* master: (279 commits)
chore: shorten ct/run.sh script
chore: rename cassandra_impl to cassandra_connector
chore: fix mix.exs checking
refactor(cassandra): move cassandra bridge into its own app
chore: apply review suggestions
chore: update changes/ce/fix-10449.en.md
test: add a test for authn {}
chore: add changlog for authn_http validation
fix: always check authn_http's header and ssl_option
chore: apply suggestions from code review
fix(emqx_bridge): validate Webhook bad URL and return 'BAD_REQUEST' if it's invalid
fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
ci: simplify find-apps.sh for ee apps
perf(emqx_resource): don't reactivate alarms on reoccurring errors
ci: check if Elixir files are formatted in pre-commit hook
fix(dynamo): fix field name errors
chore: remove *_collector for prometheus api's example
chore: make plugins config to low level
chore: re-split dynamo i18n file
...
2023-04-21 17:37:17 +03:00
Zaiming (Stone) Shi
701a1f65f9
chore: Hide config shared_dispatch_ack_enabled
2023-04-21 13:59:55 +02:00
SergeTupchiy
b38ae7f78f
Merge pull request #10407 from SergeTupchiy/EMQX-9529-resource-manager-crash-on-alarm-timeout
...
fix(emqx_resource): call emqx_alarm safely and don't reactivate alarm on reoccurring errors
2023-04-20 17:53:56 +03:00
Serge Tupchii
423a30fbb3
fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
...
Don't let 'emqx_resource_manager' crash because of emqx_alarm timeouts.
Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Serge Tupchii
b960d2ecb3
perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
...
Alarms are stored in a local content shard and all 'activate' operations
are serialized as they are called by one process ('emqx_alarm' gen_server), so
using dirty operations gives performance gain without sacrificing consistency.
Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Zaiming (Stone) Shi
415830a0a2
Merge remote-tracking branch 'origin/release-50' into 0420-sync-release-50-to-masteer
2023-04-20 11:03:39 +02:00
lafirest
8ccfbe9e16
Merge pull request #10448 from lafirest/fix/limiter_compatibility
...
fix(limiter): fix compatibility problem of configuration
2023-04-19 23:19:19 +08:00
Thales Macedo Garitezi
cb3ef65775
Merge pull request #10439 from thalesmg/unhide-ocsp-config-v50
...
chore: un-hide ocsp stapling config
2023-04-19 09:21:10 -03:00
firest
4f0c891aa6
chore: bump version && update changes
2023-04-19 15:45:31 +08:00
firest
5455500647
fix(limiter): fix compatibility problem of configuration
2023-04-19 15:12:55 +08:00
Thales Macedo Garitezi
6a1ef5e68a
Merge pull request #10422 from thalesmg/fix-plugin-sync-single-node-v50
...
fix(plugins): attempt to extract plugin from current node on startup
2023-04-18 14:39:02 -03:00
Thales Macedo Garitezi
199cbc60d9
chore: un-hide ocsp stapling config
...
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-18 14:38:03 -03:00
Zaiming (Stone) Shi
f361870ca7
refactor: hide sysmon.top config
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
d51cc750de
refactor: hide psk user_lookup_fun
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
a30e08d06a
refactor: set authn config at 'low' prio instead of 'hidden'
2023-04-18 19:17:03 +02:00
Ivan Dyachkov
c858fba9d4
chore: v5.0.23
2023-04-18 17:34:28 +02:00
Ivan Dyachkov
dc78ecb41c
chore: merge upstream/master
2023-04-18 17:33:32 +02:00
Thales Macedo Garitezi
89cd6cfede
fix(plugins): attempt to extract plugin from current node on startup
...
Fixes https://emqx.atlassian.net/browse/EMQX-9605
Fixes https://github.com/emqx/emqx-elixir-plugin/issues/25
If an user happens to configure a plugin in a lone-node cluster via
environment variables, it would fail to start up as there are no other
nodes to copy the plugin from. Here, we attempt to check if the
package is present in the current node but not yet extracted.
2023-04-18 11:10:23 -03:00
Zhongwen Deng
22a1d05d7b
feat: hide ssl_options.user_lookup_fun
2023-04-18 20:13:44 +08:00
Zaiming (Stone) Shi
d0a7e7c406
Merge pull request #10421 from zmstone/0417-refine-authn-schema-namespace
...
0417 refine authn schema namespace
2023-04-18 14:04:20 +02:00
Zaiming (Stone) Shi
6dd7befaab
refactor: unify authn authz type names
2023-04-18 09:48:28 +02:00
ieQu1
282bfee8ff
feat(emqx): Add an API that returns the list of running nodes
2023-04-18 09:22:58 +02:00