Commit Graph

1064 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 8fbdcab118
Merge pull request #11987 from zmstone/1120-do-not-crash-on-einval-after-check-cache
fix(emqx_connection): handle socket activation error return
2023-11-21 20:31:56 +01:00
Zaiming (Stone) Shi 3909e0cc08 docs: add changelog for PR 11975 2023-11-20 18:06:27 +01:00
Zaiming (Stone) Shi 7f078295c1 docs: add changelog for PR 11987 2023-11-20 17:44:39 +01:00
Ilya Averyanov 58437cd35a fix(mongodb): fix deadlock while stopping mongodb resource 2023-11-17 12:34:36 +03:00
zhongwencool c4eb9f86e7 chore: add refactor prometheus refactor changelog 2023-11-17 08:23:51 +08:00
Ilya Averyanov 4c54efd8b1 fix(auth): fix deadlock while stopping mongodb resource 2023-11-16 19:29:08 +03:00
Andrew Mayorov d019be5806
Merge pull request #11935 from keynslug/feat/EMQX-10713/routing-v2-default
feat(router): switch to v2 routing store by default
2023-11-16 15:56:26 +07:00
Ivan Dyachkov 7c0e345d3a Merge remote-tracking branch 'upstream/release-54' 2023-11-14 19:38:21 +01:00
Andrew Mayorov 11c7024d9d
chore: add changelog entry 2023-11-14 16:05:53 +07:00
Andrew Mayorov dc3e818e84
chore: add changelog entry
Co-Authored-By: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-11-13 19:29:30 +07:00
Thales Macedo Garitezi 371a49304d Merge branch 'release-53' into sync-r53-to-m-20231109 2023-11-09 17:19:23 -03:00
Ivan Dyachkov 0bf5deaed9 chore: merge master into release-54 2023-11-09 08:32:26 +01:00
Zaiming (Stone) Shi f95058a3e7
Merge pull request #11897 from zmstone/1107-fix-cluster-conf-sync-wait-loop
1107 fix cluster conf sync wait loop
2023-11-08 23:37:09 +01:00
Zaiming (Stone) Shi f9e9748cec fix(cluster-rpc): boot from local config if table loaded
When EMQX boots up, it tries to get latest config from peer (core type)
nodes, if none of the nodes are replying, the node will decide
to boot with local config (and replay the committed changes) if
the commit table is loaded from disk locally (an indication of the
data being latest), otherwise it will sleep for 1-2 seconds and
retry.

This lead to a race condition, e.g. in a two nodes cluster:

1. node1 boots up
2. node2 boots up and copy mnesia table from node1
3. node1 restart before node2 can sync cluster.hocon from it
4. node1 boots up and copy mnesia table from node2

Now that both node1 and node2 has the mnesia `load_node` pointing
to each other (i.e. not a local disk load).

Prior to this fix, the nodes would wait for each other in a dead loop.

This commit fixes the issue by allowing node to boot
with local config if it does not have a lagging.
2023-11-08 15:06:47 +01:00
Ilya Averyanov d061d64c70 fix(plugins): fix backward compatibility 2023-11-08 12:36:09 +03:00
Ivan Dyachkov 0c91bec98d chore: merge 'upstream/release-53' 2023-11-08 09:24:38 +01:00
Ilya Averyanov 75704513d8 fix(plugins): fix backward compatibility 2023-11-07 19:06:37 +03:00
Zaiming (Stone) Shi c38725facd fix(shell): do not repeat print shell warnings 2023-11-01 14:44:18 +01:00
Ivan Dyachkov b1ab213081 chore: merge 'upstream/release-53' into 1031-sync-r53 2023-10-31 11:06:25 +01:00
Ivan Dyachkov 58042af1fc chore: add separate section for breaking changes in changelog
also remove support for Chinese language in changelog
2023-10-30 20:48:32 +01:00
Kjell Winblad 290c433e8c
Merge pull request #11565 from kjellwinblad/kjell/upgrade/jq/v0.3.11
fix: upgrade jq library
2023-10-30 16:47:58 +01:00
Ilya Averyanov 3f6c09b195
Merge pull request #11780 from savonarola/1017-fix-pbkdf2-validation
fix(authn): fix pbkdf2 option validation
2023-10-30 16:37:37 +02:00
JimMoen 9732e31395
chore: highlight breaking changes 2023-10-27 09:23:44 +08:00
JimMoen b5411da770
refactor: subscribe process to fix shared-sub 2023-10-27 09:23:43 +08:00
Serge Tupchii 9b0a7b9c63 chore: upgrade opentelemtry to v1.3.1-emqx
v1.3.1-emqx fixes metrics timestamp issue #11802.
2023-10-26 10:17:29 +03:00
JimMoen a4ab744d4e
Merge pull request #11805 from HJianBo/typo-fixes
chore: typo fixes
2023-10-25 09:16:23 +08:00
William Yang 6346e0d28a fix(gen_rpc): ssl client port align with server port 2023-10-24 22:33:52 +02:00
JimMoen 99fab8dc5d
chore: missing change log for duplicated apikey fixing 2023-10-24 09:44:39 +08:00
JianBo He ec7b669b79 chore: typo fixes 2023-10-24 08:51:52 +08:00
Stefan Strigler 4e0e755b28 fix: return 404 if built_in_database not configured as auth source 2023-10-23 16:26:41 +02:00
Ilya Averyanov edde661da3 fix(authn): fix pbkdf2 option validation 2023-10-23 10:26:11 +03:00
William Yang a9b42af8b3
Merge pull request #11796 from qzhuyan/fix/william/gen_rpc-driver
fix(gen_rpc): ensure client/server use same driver
2023-10-23 08:24:17 +02:00
William Yang cf20927bac docs: add changelog 2023-10-20 13:28:29 +02:00
Ilya Averyanov 0b4600c293 feat(auth): improve redis command parsing and validation 2023-10-19 23:01:35 +03:00
Thales Macedo Garitezi eda82caf65
Merge pull request #11791 from thalesmg/fix-coap-heartbeat-m-20231018
fix(coap): increase received packet counter for keepalive
2023-10-19 13:12:41 -03:00
Ilya Averyanov 8d82c30b00
Merge pull request #11771 from savonarola/1015-validate-bcrypt-schema-in-api
feat(authn): allow authn providers to define a separate schama for API
2023-10-19 15:34:34 +03:00
zhongwencool 9f197a6915
Merge pull request #11785 from zhongwencool/rbac-change-pwd 2023-10-19 09:02:15 +08:00
Thales Macedo Garitezi 5b9866f630 fix(coap): increase received packet counter for keepalive
Fixes https://emqx.atlassian.net/browse/EMQX-11193
Fixes https://github.com/emqx/emqx/issues/11779
2023-10-18 16:35:33 -03:00
Zaiming (Stone) Shi ad09ca9d6d refactor(nodetool): only add libs when necessary 2023-10-18 14:08:35 +02:00
zhongwencool 81e10c6748 chore: add changelog for 11785 2023-10-18 18:46:13 +08:00
Ilya Averyanov 6354f3b04f feat(authn): allow authn providers to define a separate schama for API 2023-10-17 13:19:11 +03:00
Zaiming (Stone) Shi dfa5909392
Merge pull request #11752 from zmstone/1011-change-default-rpc-module-for-mria
refactor: change mria default rpc module from 'gen_rpc' to 'rpc'
2023-10-17 10:21:14 +02:00
Zaiming (Stone) Shi 162b901be6
Merge pull request #11763 from zmstone/1114-sync-release-53
Merge release-53 back to master
2023-10-16 21:42:02 +02:00
JianBo He 16cc816bd3
Merge pull request #11757 from zhongwencool/trace-api-return-500
fix: 500 error response when downloading non-existent trace files
2023-10-16 13:40:18 +08:00
Zaiming (Stone) Shi 6eb3bb7cff Merge remote-tracking branch 'origin/release-53' into 1114-sync-release-53 2023-10-14 10:16:38 +02:00
Zaiming (Stone) Shi 7c022c2c6a refactor: change mria default rpc module from 'gen_rpc' to 'rpc'
Erlang distribution seems to outperform gen_rpc (unless gen_rpc clients
are scaled up, but this is not easy to achive for shard transport as it
may reorder events).
2023-10-14 10:13:31 +02:00
Ilya Averyanov bde8800f2e fix(mnesia authz): destroy authz records on mnesia authz destroy 2023-10-13 18:29:45 +03:00
firest 3e658b3da9 chore: update changes 2023-10-12 17:15:47 +08:00
zhongwencool 9b2a5e6c3d chore: add changelog for 11757 2023-10-12 15:25:36 +08:00
William Yang a69c53455f fix: bump to quicer 0.0.202
bring in urgent fixs from msquic 2.2.3
2023-10-11 13:12:32 +02:00
Zaiming (Stone) Shi d651764ff4 docs: add changelog for pull request 11734 2023-10-10 10:05:14 +02:00
Zaiming (Stone) Shi ed5b456d62 Merge remote-tracking branch 'origin/release-53' into 0928-sync-release-53 2023-09-29 18:24:44 +02:00
Zaiming (Stone) Shi f69702b82e docs: delete typo-named changelog file 2023-09-29 14:03:30 +02:00
Zaiming (Stone) Shi 1a13b2ac56 Merge remote-tracking branch 'origin/release-53' into 0928-sync-release-53 2023-09-28 13:53:03 +02:00
ieQu1 b77e5e880a
Merge pull request #11697 from ieQu1/dev/gen-rpc-3.1.1
chore(gen_rpc): Bump version to 3.1.1
2023-09-28 10:03:36 +02:00
ieQu1 0aa3ccdd65 feat(gen_rpc): Add schema for the TLS versions and cipher suites 2023-09-28 00:36:59 +02:00
ieQu1 3c37f19105 chore(gen_rpc): Bump version to 3.1.1 2023-09-27 21:09:00 +02:00
firest ffd9a35d69 chore: Add missing changelog 2023-09-26 23:33:47 +08:00
Thales Macedo Garitezi aae59f1efd
Merge pull request #11682 from thalesmg/fix-file-logger-type-r53-20230925
fix(file_logger): change file logger type depending on rotation size
2023-09-26 10:22:36 -03:00
Thales Macedo Garitezi fdcd73e20c fix(file_logger): change file logger type depending on rotation size
Fixes https://emqx.atlassian.net/browse/EMQX-11036

From `logger_disk_log_h:open_disk_log`:

```erlang
open_disk_log(Name,File,Type,MaxNoBytes,MaxNoFiles) ->
    case filelib:ensure_dir(File) of
        ok ->
            Size =
                if Type==halt -> MaxNoBytes;
                   Type==wrap -> {MaxNoBytes,MaxNoFiles} %% <-------
                end,
            Opts = [{name,   Name},
                    {file,   File},
                    {size,   Size},
                    {type,   Type},
                    {linkto, self()},
                    {repair, false},
                    {format, external},
                    {notify, true},
                    {quiet,  true},
                    {mode,   read_write}],
            case disk_log:open(Opts) of
```

Affects all file loggers (audit included):

```
% emqx_config_logger:update_log_handler/1 -> ok
iex(emqx@127.0.0.1)14> Config override: log.file.emqx_audit is updated, but failed to add handler: {handler_not_added,
                                                                             {badarg,
                                                                              [{size,
                                                                                {infinity,
                                                                                 10}},
                                                                               {type,
                                                                                wrap},
                                                                               {linkto,
                                                                                <0.1952.0>},
                                                                               {repair,
                                                                                false},
                                                                               {format,
                                                                                external},
                                                                               {notify,
                                                                                true},
                                                                               {quiet,
                                                                                true},
                                                                               {mode,
                                                                                read_write}]}}
```
2023-09-26 09:04:44 -03:00
Zaiming (Stone) Shi a9df99746a docs: add changelog for PR 11661 2023-09-25 16:55:22 +02:00
Andrew Mayorov ddf6cdc0a2
chore: add changelog 2023-09-25 14:57:42 +03:00
Thales Macedo Garitezi d6935b6a67 feat: add port scan diagnostics to mria waiting for tables checks
Fixes https://emqx.atlassian.net/browse/EMQX-10944

Also updates ekka -> 0.15.15, mria -> 0.6.4

How to test
===========

1. Start 2 or more EMQX nodes and merge them in a cluster.
2. Stop them in order.
3. Start only the first node that was stopped in the previous step.
4. Wait until the log is printed.

Or, more easily:

1. Start 2 or more EMQX nodes and merge them in a cluster.
2. Stop all but one.
3. Run `mria_mnesia:diagnosis([]).` on that node.

Example output
==============

```
   Check check_open_ports should get ok but got #{msg =>
                                                     "some ports are unreachable",
                                                 results =>
                                                     #{'emqx@172.100.239.4' =>
                                                           #{open_ports =>
                                                                 #{4370 => false,
                                                                   5370 =>
                                                                       false},
                                                             ports_to_check =>
                                                                 [4370,5370],
                                                             resolved_ips =>
                                                                 [{172,100,239,
                                                                   4}],
                                                             status =>
                                                                 bad_ports},
                                                       'emqx@172.100.239.5' =>
                                                           #{open_ports =>
                                                                 #{4370 => false,
                                                                   5370 =>
                                                                       false},
                                                             ports_to_check =>
                                                                 [4370,5370],
                                                             resolved_ips =>
                                                                 [{172,100,239,
                                                                   5}],
                                                             status =>
                                                                 bad_ports}}}
```

After one node is back:

```
   Check check_open_ports should get ok but got #{msg =>
                                                     "some ports are unreachable",
                                                 results =>
                                                     #{'emqx@172.100.239.4' =>
                                                           #{ports_to_check =>
                                                                 [4370,5370],
                                                             resolved_ips =>
                                                                 [{172,100,239,
                                                                   4}],
                                                             status => ok},
                                                       'emqx@172.100.239.5' =>
                                                           #{open_ports =>
                                                                 #{4370 => false,
                                                                   5370 =>
                                                                       false},
                                                             ports_to_check =>
                                                                 [4370,5370],
                                                             resolved_ips =>
                                                                 [{172,100,239,
                                                                   5}],
                                                             status =>
                                                                 bad_ports}}}
```
2023-09-21 14:29:01 -03:00
Ivan Dyachkov 0a61d08a0f
Merge pull request #11651 from id/0921-sync-r52-to-master
sync r52 to master
2023-09-21 12:31:24 +02:00
William Yang 3a5227198e
Merge pull request #11642 from qzhuyan/dev/william/quicer-0.0.200
quicer 0.0.200
2023-09-21 12:20:14 +02:00
Ivan Dyachkov 105bebc250 chore: merge release-52 into master 2023-09-21 10:22:47 +02:00
zhongwencool 9521e11d39
Merge pull request #11584 from zhongwencool/telemetry-error-on-windows
fix: telemetry report error on windows
2023-09-21 09:08:55 +08:00
William Yang da626f6d29 feat(quic): bump to quicer 0.0.200 and emqtt 1.9.0 2023-09-20 16:43:15 +02:00
Zaiming (Stone) Shi 65818740f3
Merge pull request #11622 from zmstone/0917-upgrade-gen_rpc-to-3.1.0
chore(gen_rpc): upgrade from 2.8.1 to 3.1.0
2023-09-19 10:22:53 +02:00
Zaiming (Stone) Shi abbee4bc47 fix(esockd): upgrade esockd from 5.9.6 to 5.9.7 2023-09-17 19:44:04 +02:00
Zaiming (Stone) Shi 1960dbd970 docs: add changelogs for pr 11622 2023-09-17 19:13:22 +02:00
Zaiming (Stone) Shi a9682c2989
Merge pull request #11605 from zmstone/0913-lower-severity-level-for-CMD-override-warnings
0913 lower severity level for cmd override warnings
2023-09-16 11:32:07 +02:00
Zaiming (Stone) Shi 062854eff7 docs: add changelog 2023-09-15 16:07:23 +02:00
Zaiming (Stone) Shi 2bf583087b docs: add changelog for pr 11605 2023-09-13 20:55:42 +02:00
SergeTupchiy cf334d5542
Merge pull request #11567 from SergeTupchiy/EMQX-10835-increase-graceful-stop-timeout
fix(nodetool): increase graceful stop timeout
2023-09-13 13:22:39 +03:00
Serge Tupchii a336300ab5 chore: add changelog 2023-09-13 10:54:50 +03:00
Serge Tupchii 9b3f88aeeb feat(nodetool): print shutdown status messages while EMQX is stopping 2023-09-12 19:55:16 +03:00
Serge Tupchii 9de9631d6b fix(nodetool): increase graceful stop timeout, handle and report `{badrpc, timeout}` error 2023-09-12 19:55:16 +03:00
Thales Macedo Garitezi 223d47a6ac Merge branch 'master' into sync-m-r52-20230911 2023-09-11 16:04:28 -03:00
zhongwencool 887a74a6cb fix: telemetry report error on windows 2023-09-11 16:48:30 +08:00
Zaiming (Stone) Shi abda3b130a chore: delete releaed change logs 2023-09-08 16:39:17 +02:00
Thales Macedo Garitezi e089fda260
Merge pull request #11568 from thalesmg/republish-props-m-20230905
feat(republish): allow templating mqtt properties
2023-09-07 16:43:00 -03:00
Thales Macedo Garitezi 78c5a779d7 feat(republish): allow templating mqtt properties
Fixes https://emqx.atlassian.net/browse/EMQX-10912
2023-09-06 09:54:02 -03:00
Zaiming (Stone) Shi e794143ae1 Merge remote-tracking branch 'origin/release-52' into 0906-sync-release-52-to-master 2023-09-06 09:08:22 +02:00
Kjell Winblad d887ba5e8d docs: add change log entry for jq upgrade 2023-09-05 13:36:26 +02:00
ieQu1 01a128878f chore(mria): Bump mria to 0.6.1 2023-09-05 11:08:32 +02:00
Kjell Winblad 52546ac50f
Merge pull request #11522 from kjellwinblad/kjell/fix/EMQX-10778
fix: bad error message when rule engine schema name is too long
2023-09-04 11:05:55 +02:00
Ilya Averyanov 240afecd69
Merge pull request #11487 from savonarola/0821-optimize-bcrypt
feat: reduce bcrypt rounds to a usable value
2023-09-04 10:12:40 +03:00
Ilya Averyanov 90156befb5 feat: improve bcrypt usability
* limit salt rounds to usable values
* update bcrypt library to enable concurrent bcrypt hash calculation
2023-09-01 17:36:11 +03:00
Thales Macedo Garitezi 4dfbc859f9 fix(plugins): update plugin order on whole cluster
Fixes https://emqx.atlassian.net/browse/EMQX-10879
2023-08-30 16:39:52 -03:00
Thales Macedo Garitezi 1cab687153
Merge pull request #11540 from thalesmg/fix-cert-path-utf8-r52-20230829
fix(bridge): validate bridge name before attempting to convert certificates
2023-08-30 09:45:55 -03:00
lafirest 8b3a9072f9
Merge pull request #11532 from lafirest/fix/frame_parse
fix(frame): improve some error reasons when parsing invalid packet
2023-08-30 19:10:45 +08:00
firest 804443ba40 chore: fix typos 2023-08-30 11:22:09 +08:00
Thales Macedo Garitezi 0f297ffef4 fix(bridge): validate bridge name before attempting to convert certificates
Fixes https://emqx.atlassian.net/browse/EMQX-10865
2023-08-29 16:32:01 -03:00
firest 6722722522 fix(frame): improve some error reasons when parsing invalid packet 2023-08-29 10:53:20 +08:00
zhongwencool 2967b709ae chore: add changelog for PR(11531) 2023-08-29 08:20:48 +08:00
Paulo Zulato cc3ba18734 fix: increment dropped message counter when bridge is unhealthy
Fixes https://emqx.atlassian.net/browse/EMQX-10767
2023-08-28 19:47:11 -03:00
Serge Tupchii 0072749143 fix(emqx_trace): don't download empty trace log file
Closes: EMQX-10274
2023-08-28 19:25:55 +03:00
zhongwencool fe37842b11 chore: update 11523 changelog 2023-08-28 11:27:32 +08:00
Kjell Winblad 00b2712f29 docs: changelog entry for improved too long schema name fix 2023-08-25 11:09:44 +02:00
zhongwencool fc1738188e fix: packets_connack_sent is not incremented if the ack_flag field in the CONNACK packet is non-zero 2023-08-25 15:18:34 +08:00
Kjell Winblad aad9b1c27d
Merge pull request #11493 from kjellwinblad/kjell/fix/11488
fix: HTTP API /api/v5/publish schema
2023-08-24 17:46:29 +02:00
zhongwencool 2322b27542
Merge pull request #11497 from zhongwencool/prometheus-metrics
Prometheus metrics
2023-08-24 12:06:32 +08:00
zhongwencool 8d2be27ade chore: add changlog for 11466 2023-08-24 06:46:50 +08:00
Serge Tupchii bac0f7107c chore: bump OTP to 25.3.2-2 and EMQX builder to 5.1-4 2023-08-23 19:35:36 +03:00
zhongwencool d287b736ec chore: add changelog for 11497 2023-08-23 17:02:30 +08:00
zhongwencool ae10415fc3 feat: disabled the Erlang VM Prometheus exporter by default to improve performance and security 2023-08-23 09:03:22 +08:00
Kjell Winblad 19acd82436
docs: fix change log entry according to @thalesmg's suggestion
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-08-22 16:41:11 +02:00
Kjell Winblad 88f7c2b4d8 docs: changelog entry for HTTP publish bad request schema 2023-08-22 15:48:27 +02:00
firest e20b804e6b chore: update changes && test cases 2023-08-22 17:41:08 +08:00
Paulo Zulato 4e4c93a758
Merge pull request #11469 from paulozulato/feat-redis-auth-username
Add support for AUTH with username on Redis
2023-08-21 16:44:21 -03:00
Paulo Zulato 2c458b62f5 feat(redis): add support for `username` on AUTH command
Fixes https://emqx.atlassian.net/browse/EMQX-9911
2023-08-18 14:50:06 -03:00
Thales Macedo Garitezi 66dec69d09 fix(rule_engine): capture function_clause errors
Fixes https://emqx.atlassian.net/browse/EMQX-10798
2023-08-18 13:51:19 -03:00
Andrew Mayorov 75ed6aa8e7
Merge pull request #11396 from keynslug/ft/EMQX-10712/ruleeng-topic-index-vol-2
perf(ruleeng): employ `emqx_topic_index` to speed up topic matching
2023-08-17 20:43:09 +04:00
lafirest 5e448f5a02
Merge pull request #11446 from lafirest/refactor/calendar
refactor(calendar): refactor datetime-related code and remove redundant
2023-08-17 07:40:44 +08:00
zhongwencool e6f0dead9e
Merge pull request #11445 from zhongwencool/remove-os-mon-from-windows
fix: remove os_mon application in Windows release
2023-08-16 23:30:24 +08:00
zhongwencool e406cd7868
Merge pull request #11456 from zhongwencool/allow-empty-cacertfile-pem
fix: allow empty cacertfile pem
2023-08-16 21:10:52 +08:00
Thales Macedo Garitezi 82f27eaf78
Merge pull request #11429 from thalesmg/mongodb-legacy-opt-20230810
feat(mongodb): add configurable option to override legacy protocol usage
2023-08-16 09:54:53 -03:00
zhongwencool b817e03c08 fix: start os_mon application temporary 2023-08-16 20:49:27 +08:00
zhongwencool 960944f90c chore: add 11456 changelog 2023-08-16 20:19:55 +08:00
zhongwencool e2681f46f6 chore: add changelog for 11454 2023-08-16 15:45:36 +08:00
firest 0965387e46 chore: update changes 2023-08-16 11:13:16 +08:00
Thales Macedo Garitezi d93e1bbf08 feat(mongodb): add configurable option to override legacy protocol usage
Fixes https://emqx.atlassian.net/browse/EMQX-10750

Fixes https://github.com/emqx/emqx/discussions/11428

See https://github.com/emqx/mongodb-erlang/pull/39
2023-08-14 13:19:50 -03:00
lafirest 1bda8020f5
Merge pull request #11436 from lafirest/feat/banned_clear
feat(banned): add a new API used to clear all banned data
2023-08-14 20:48:43 +08:00
Andrew Mayorov d302aaae4c
chore: add changelog entry 2023-08-14 15:36:58 +04:00
zhongwencool e10f9e5e9b feat: change mqtt.max_packet_size type from string to bytesize 2023-08-14 10:10:46 +08:00
firest 749c2d075f chore: update changes && bump app version 2023-08-11 17:57:27 +08:00
firest 81d200023d chore: update changes 2023-08-11 17:37:45 +08:00
Ivan Dyachkov 6ead09b28d chore: merge 'upstream/master' 2023-08-10 12:56:00 +02:00
zhongwencool d1dc37af4c
Merge pull request #11279 from zhongwencool/trace-log
fix: don't be kill when send large payload when log is debug
2023-08-10 11:58:31 +08:00
lafirest b2394cf92d
Merge pull request #11399 from lafirest/fix/ph_utf8
fix(placeholder): porting fix to support utf8 key in placeholder
2023-08-10 09:41:39 +08:00
zhongwencool 5a4dd3a5e5 fix: truncate large payload 2023-08-10 09:35:12 +08:00
Thales Macedo Garitezi cce0d144f9 Merge branch 'master' into release-v515-patch1-20230809 2023-08-09 13:08:43 -03:00
lafirest bef8eddad3
Merge pull request #11405 from lafirest/fix/kal_kialo
fix(calendar): make date parse error reason more sense
2023-08-09 14:42:08 +08:00
firest 3e9155fdb1 chore: bump emqx_utils version && changes 2023-08-09 10:54:56 +08:00
Thales Macedo Garitezi fdfdb105f0 docs: Generate changelog for v5.1.5 2023-08-08 10:33:34 -03:00
firest 65a6e36df1 chore: update changes 2023-08-08 14:33:49 +08:00
Ivan Dyachkov aea51b4328 docs: add changelog entry for #10697 2023-08-07 17:36:56 +02:00
zhongwencool 665695a977
Merge pull request #11388 from SergeTupchiy/EMQX-10703-fix-replicant-crash-when-core-terminates-abnormally
fix: increase emqx_router_sup restart intensity
2023-08-06 14:40:32 +08:00
SergeTupchiy 2044326734
Merge pull request #11390 from SergeTupchiy/EMQX-10661-improve-perf-high-latency-cluster-network
EMQX-10661 improve performance on high latency cluster network
2023-08-04 16:41:08 +03:00
Serge Tupchii f276ea9e91 fix: increase emqx_router_sup restart intensity
The goal is to tolerate occasional crashes that can happen under relatively normal conditions
and don't seem critical to shutdown the whole app (emqx).
For example, mria write/delete call delegated from a replicant to a core node may fail,
if the core node is being stopped / restarted / not ready.

Fixes: EMQX-10703, #11310
2023-08-04 10:49:59 +03:00
Serge Tupchii 466fe7e009 perf: add broker_pool_size, generic_pool_size and channel_cleanup_batch_size config options
Tuning these options can improve performance if cluster interconnect network latency is high.

Fixes: EMQX-10661
2023-08-03 19:44:00 +03:00
Andrew Mayorov 1dd402ec69
chore: add changelog entry 2023-08-03 19:58:49 +04:00
Thales Macedo Garitezi 7687770821 fix(tls): remove `cacerts` config for now
Fixes https://github.com/emqx/emqx/issues/11370

Related: https://github.com/emqx/emqx/pull/11371
2023-07-31 10:44:05 -03:00
Thales Macedo Garitezi 2ee1aa6d60
Merge pull request #11347 from thalesmg/fix-ocsp-path-encoding-20230725
fix(ocsp): URL encode request path
2023-07-28 09:01:39 -03:00
Ivan Dyachkov cbfca8c043 chore: merge master into release-51 2023-07-27 15:19:57 +02:00
JianBo He 951a96457b
Revert "feat(index): add topic index facility " 2023-07-27 13:42:43 +08:00
firest 4704268727 chore: update changes 2023-07-26 16:10:28 +08:00
Thales Macedo Garitezi d0deaca00d fix(ocsp): URL encode request path
Fixes https://emqx.atlassian.net/browse/EMQX-10624
2023-07-25 17:39:38 -03:00
Serge Tupchii 77184c00ff chore(ekka): Bump version to 0.15.9 2023-07-25 19:29:18 +03:00
Paulo Zulato 8ec14bb07e fix(topic_rewrite): handle error when target contains wildcards
Fixes https://emqx.atlassian.net/browse/EMQX-10565
2023-07-25 09:43:14 -03:00
JimMoen 4e4b1ac115
refactor: module move to app emqx_rule_engine
- Rename to emqx_rule_index.erl
- Remove test funcs from src -> test dir
2023-07-24 09:33:28 +08:00
Thales Macedo Garitezi 2531c3e7d1
Merge pull request #11306 from thalesmg/rule-actions-reply-dropped-r51-20230719
fix(rule_metrics): notify rule metrics of late replies and expired requests
2023-07-21 16:51:14 -03:00
ieQu1 485e495b98 chore(ekka): Bump version to 0.15.8 (mria 0.5.10) 2023-07-21 18:31:02 +02:00
Ivan Dyachkov 243b8f5b67 chore: merge 'upstream/master' into v5.1.2 2023-07-21 13:25:46 +02:00
SergeTupchiy 04bd7c7eed
Merge pull request #11322 from SergeTupchiy/EMQX-10590-data-import-fix-missing-config-rel51
EMQX-10590 data import fix missing config relealse 51
2023-07-21 12:36:21 +03:00
ieQu1 c73bbd1d8f chore(changelog): Add changelog for 11309 2023-07-21 10:53:18 +02:00
Serge Tupchii b37920d2e5 feat: add `topic_metrics` and `slow_subs` configuration to data import/export
Fixes: EMQX-10590
2023-07-21 10:41:22 +03:00
SergeTupchiy 8480a26b66
Merge pull request #11065 from SergeTupchiy/EMQX-9992-fix-async-cleanup-error-logs
fix: avoid logging unnecessary errors in async cleanup functions
2023-07-20 12:20:57 +03:00
Thales Macedo Garitezi eb41b77de4 fix(rule_metrics): notify rule metrics of late replies and expired requests
Fixes https://emqx.atlassian.net/browse/EMQX-10600
2023-07-19 11:39:28 -03:00
ieQu1 57e39f42c5
Merge pull request #11294 from ieQu1/mria-fixes
Mria fixes
2023-07-19 15:10:42 +02:00
Ivan Dyachkov b7f0f7b32d chore: merge master into release-51 2023-07-19 09:28:05 +02:00
ieQu1 3a5112829c fix(mgmt_cli): Don't print cluster status on the replicant 2023-07-18 21:45:00 +02:00
SergeTupchiy 0aa5f28438
Merge pull request #11296 from SergeTupchiy/EMQX-10590-data-import-fix-missing-config
data import fix missing config
2023-07-18 22:41:12 +03:00
Serge Tupchii 2954ff7300 feat: add `topic_metrics` and `slow_subs` configuration to data import/export
Fixes: EMQX-10590
2023-07-18 20:53:10 +03:00
Ivan Dyachkov 73c4bcbc36 chore: add changelog 2023-07-18 17:12:20 +02:00
Ivan Dyachkov ca51732d8e
Merge pull request #11292 from emqx/update-rocksdb 2023-07-18 16:14:50 +02:00
Andrew Mayorov a2cfb95780
chore: add changelog entry 2023-07-18 14:11:39 +02:00
Thales Macedo Garitezi 4a889c0994 chore: bump ekka -> 0.15.6
https://github.com/emqx/erlang-rocksdb/releases/tag/1.8.0-emqx-1
2023-07-18 09:00:29 -03:00
Thales Macedo Garitezi 1fdcfba629 fix(shared_sub): restore support for `$queue/` shared subscription
Partially addresses: https://emqx.atlassian.net/browse/EMQX-4589

There's still a problem with the handling of shared groups that is
_not particular to the `$queue/` syntax_ and preexistent that the same
client cannot subscribe to _different groups_ that have the same
_topic filter_.
2023-07-17 16:41:24 -03:00
zhongwencool f853f3d3bd
Merge pull request #11271 from zhongwencool/fix-precent-check
fix: keep percentage type's range is 0%~100%
2023-07-14 22:07:41 +08:00
Serge Tupchii 950d5edc41 fix: avoid logging unnecessary errors in async cleanup functions
Cleanup functions that access ETS tables may fail with `badarg` error during EMQX shutdown.
They are called asynchronously by `emqx_pool` workers and accessed ETS tables
may be already destroyed as their owners are shut down.
This fix catches ETS `badarg` errors before they can be caught and logged by `emqx_pool`.

Fixes: EMQX-9992
2023-07-14 14:22:43 +03:00
firest 0be39bf546 chore: update changes 2023-07-14 17:29:38 +08:00
zhongwencool 169a20a435 chore: add 11271 changelog 2023-07-14 17:00:40 +08:00
Thales Macedo Garitezi 06010f7ca9 Merge remote-tracking branch 'origin/release-51' into sync-r51-20230712 2023-07-12 16:47:45 -03:00
Ivan Dyachkov 8ebe099653
Merge pull request #11253 from id/kjell/refactor/http_bridge/EMQX-9568
refactor: HTTP bridge into the emqx_bridge_http application
2023-07-12 15:58:02 +02:00
Ivan Dyachkov ab81d844b3 docs: update PR reference in change log 2023-07-12 14:47:34 +02:00
Kjell Winblad 41e9e55ecb docs: add changelog entry for HTTP bridge refactoring 2023-07-12 14:47:09 +02:00
zhongwencool 5b0695ca19
Merge pull request #11249 from zhongwencool/license-setting-api
feat: add license setting get/put api
2023-07-12 18:34:23 +08:00
zhongwencool 43866b8e55 test(license): test setting HTTP API 2023-07-12 14:21:51 +08:00
SergeTupchiy fce3060634
Merge pull request #11251 from SergeTupchiy/EMQX-10392-cluster-topology-api
Add cluster topology HTTP API endpoint
2023-07-11 17:45:00 +03:00
Serge Tupchii 19de10be7c feat(emqx_management): add /cluster/topology HTTP API endpoint
The endpoint shows Mria RLOG cluster topology info:
connections between core and replicant nodes.

Closes: EMQX-10392
2023-07-11 16:25:36 +03:00
lafirest 903d81b532
Merge pull request #11250 from lafirest/fix/ws_order
fix(ws): fix MQTT packets may be reversed in the WS
2023-07-11 20:09:55 +08:00
firest 74f2b3e137 chore: update changes 2023-07-11 18:50:12 +08:00
JianBo He 964e3cc7e4 chore: update changes 2023-07-11 10:41:10 +08:00
Ivan Dyachkov 90455c2548
Merge pull request #11124 from id/0622-amazonlinux-2023-packages
ci: release Amazon Linux 2023 packages
2023-07-10 20:42:22 +02:00
Stefan Strigler 93a9772743
Merge pull request #11211 from sstrigler/EMQX-9963-refactor-all-http-ap-is-to-respond-404-on-the-deletion-of-the-resource-is-non-exist
consistently return 404 if resource not found
2023-07-10 16:25:31 +02:00
Ivan Dyachkov 4e9c39aed2 chore: add changelog 2023-07-10 16:21:57 +02:00
zhongwencool f9e54ed8b1
Merge pull request #11237 from zhongwencool/prometheus-api-schema
fix: bad prometheus schema for headers
2023-07-10 18:13:42 +08:00
zhongwencool dc32822f6f chore: add changelog for 11237 2023-07-10 16:51:31 +08:00
zhongwencool c0ee47dc08 chore: add changelog for 11226 pr 2023-07-10 10:34:36 +08:00
Stefan Strigler da052e0a5e chore: add changelog 2023-07-08 14:43:43 +02:00
Thales Macedo Garitezi 6337f52cf9 fix(plugins): start/stop plugins when loading config from CLI
Fixes https://emqx.atlassian.net/browse/EMQX-10288
2023-07-07 13:37:51 -03:00
zhongwencool 7039dca51c chore: add 11192 changelog 2023-07-07 16:39:26 +08:00
zhongwencool 352d818e3b chore: update hocon to 0.39.13 2023-07-07 16:39:26 +08:00
JianBo He 2f33fd9bac
Merge pull request #11208 from HJianBo/update-lwm2m-stats
fix(lwm2m): update the stats correctly and timely
2023-07-07 15:32:50 +08:00
JianBo He daa6cf14fe
Merge pull request #11206 from HJianBo/coap-bugs
Fix(coap): Make the username and password params to optional
2023-07-07 15:32:00 +08:00
zhongwencool 9f57ba510e chore: add 11214 changelog 2023-07-07 12:25:34 +08:00
JianBo He b28909deb6 chore: update changes 2023-07-07 12:24:31 +08:00
JianBo He bc1efdc4a7 chore: update changes 2023-07-07 12:23:57 +08:00
JianBo He b11fa5f3bf
Merge pull request #11195 from HJianBo/stomp-topic-id-unique
Fix(stomp): avoid to create duplicated subscription by HTTP or Client
2023-07-07 11:18:30 +08:00
Stefan Strigler 9bcabe0a9e
Merge pull request #11184 from sstrigler/EMQX-10270-e-5-1-0-missing-value-range-validation-for-the-max-packet-size-of-mqtt-settings
fix: limit mqtt max_packet_size to 256MB
2023-07-06 10:20:24 +02:00
JianBo He 9fed5233bd chore: update changes 2023-07-05 15:26:25 +08:00
lafirest bf5167a8bf
Merge pull request #11172 from lafirest/fix/dup_payload
fix(ruleengine): fix duplicate `payload` problems
2023-07-05 14:20:26 +08:00
Stefan Strigler 263890be47 fix: limit mqtt max_packet_size to 256MB 2023-07-04 16:03:11 +02:00
Ilya Averyanov 0bd0a16693
Merge pull request #11039 from savonarola/0613-fix-redis-db-schema
fix(redis): validate database number
2023-07-04 15:32:02 +03:00
zhongwencool f2c5f4932c
Merge pull request #11148 from lafirest/fix/mcall_error_report
fix(emqx_conf): don't sync the MFA to a leaved node
2023-07-04 19:56:52 +08:00
zhongwencool d509c47344 feat: add conf load api 2023-07-04 14:17:11 +08:00
Ilya Averyanov 9701c3f7a1 fix(redis): validate database number 2023-07-03 22:44:54 +03:00
Thales Macedo Garitezi 2cc0ba1217
Merge pull request #11174 from thalesmg/make-rule-server-a-binary
fix(mqtt_bridge): ensure `server` key is a binary
2023-07-03 10:38:39 -03:00
firest 094b8e43b7 chore: update changes 2023-07-03 18:22:57 +08:00
Stefan Strigler 07cf250093
Merge pull request #11126 from sstrigler/EMQX-8842-fix-rule-metrics
fix(emqx_rule_engine): set inc_action_metrics as async_reply_fun
2023-06-30 20:07:23 +02:00
Thales Macedo Garitezi 425eba8b13 fix(mqtt_bridge): ensure `server` key is a binary
Fixes https://emqx.atlassian.net/browse/EMQX-10461

So that it can be JSON encoded correctly.

```
2023-06-30T02:00:41.160110+00:00 [debug] msg: publish_to, mfa: emqx_trace:publish/1, line: 73, topic: b/$, payload: {"topic":"t/1","server":[49,48,46,52,50,46,51,46,49,56,48,58,49,56,56,51],"retain":false,"qos":1,"pub_props":{},"payload":"{\"msg\": \"hello\"}","message_received_at":1688090441159,"id":"0005FF4F2F181488103417000C2E0000","dup":false}, tag: PUBLISH
```
2023-06-30 13:46:24 -03:00
Thales Macedo Garitezi 6fe6aa7997
Merge pull request #11162 from thalesmg/treat-404-as-failure-master
fix(webhook): treat 404 and other error replies as errors in async requests
2023-06-30 13:13:18 -03:00
Thales Macedo Garitezi 0201481c70
Merge pull request #11164 from thalesmg/fix-placeholder-sql-nested
fix(placeholder): add back support for nested keys inside binary encoded json
2023-06-30 13:12:51 -03:00
Thales Macedo Garitezi 631f4ceac9 fix(placeholder): add back support for nested keys inside binary encoded json
Fixes https://emqx.atlassian.net/browse/EMQX-10459
2023-06-30 10:05:49 -03:00
lafirest 1ea92d4009
Merge pull request #11166 from lafirest/feat/porti_uuid_el_v4
feat(ruleengine): port random && uuid_v4 functions from v4
2023-06-30 18:36:45 +08:00
zhongwencool c8d1bd3bd5
Merge pull request #11138 from zhongwencool/cluster-conf-k8s-default
fix: update cluster.conf's k8s default api_server value
2023-06-30 17:01:52 +08:00
firest ae3ebfead7 chore: update changes 2023-06-30 14:38:36 +08:00
zhongwencool bb1ae808b4
Merge pull request #11165 from zhongwencool/hide-global-limiter-from-swagger-api
chore: hide /configs/limiter from swagger api doc
2023-06-30 11:54:01 +08:00
zhongwencool 546b082acd chore: update 11165 changelog 2023-06-30 11:03:29 +08:00
zhongwencool 8b679cf358
Merge pull request #11137 from zhongwencool/dashboard-https-ssl-options
feat: refactor dashboard https ssl_options
2023-06-30 09:57:07 +08:00
zhongwencool 9719735c9c chore: udpate 11138 changelog 2023-06-30 09:55:36 +08:00
Thales Macedo Garitezi 59b109eb5c fix(webhook): treat 404 and other error replies as errors in async requests
Fixes https://emqx.atlassian.net/browse/EMQX-10405

The problem here was that, for async requests, ehttpc responses of the form `{ok, 4__, _,
_}` and similar were being treated as successes.
2023-06-29 15:45:23 -03:00
Stefan Strigler 3d91098e9b chore: add changelog 2023-06-29 16:09:45 +02:00
lafirest 9708a02680
Merge pull request #11134 from lafirest/fix/auth_header_sensitive
fix: mask the value of the authorization header whatever its case
2023-06-29 21:43:16 +08:00
firest 85a870a498 chore: update changes 2023-06-29 03:33:35 +00:00
zhongwencool 82ea9e5a04 test: dashbaord api ct failed 2023-06-29 10:49:39 +08:00
firest 77bcb73919 chore: update changes 2023-06-29 01:45:47 +00:00
Kjell Winblad f9ea924cd0
Merge pull request #11151 from kjellwinblad/kjell/refactor/mysql_bridge/EMQX-9533
refactor: MySQL bridge and connector to separate applications
2023-06-28 15:15:55 +02:00
Serge Tupchii 8e877caf47 fix(emqx_psk): wait for Mria table on app start
This ensures emqx_psk table is synced to a replicant even if it doesn't have init psk file.
2023-06-27 20:22:40 +03:00
Kjell Winblad 515a7d0c80 docs: add changelog entries for MySQL refactoring 2023-06-27 17:23:04 +02:00
Kjell Winblad d3a0b3e183
Merge pull request #11139 from kjellwinblad/kjell/refactor/redis/EMQX-9534
refactor: redis bridge to its own application
2023-06-27 14:55:55 +02:00
Serge Tupchii 116675e86f chore: bump ekka to 0.15.4 2023-06-27 13:24:49 +03:00
Kjell Winblad 0a95749f86 docs: add changelog entries for Redis refactoring 2023-06-27 10:24:44 +02:00
Kjell Winblad f9107e9dc9 docs: add changelog 2023-06-26 14:32:59 +02: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
firest c5c9131e12 chore: update changes 2023-06-24 13:12:07 +00:00
firest 1e140f77a7 chore: update changes 2023-06-24 09:30:39 +00:00
firest 60a1f5a38d chore: update app version && changes 2023-06-23 17:01:22 +00: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
Andrew Mayorov 62b832be45
Merge pull request #11118 from fix/EMQX-9964/bump-hocon
chore: bump hocon to 0.39.10
2023-06-21 23:13:35 +02:00
Andrew Mayorov 01db56c761
chore: add changelog 2023-06-21 21:37:07 +02:00
Thales Macedo Garitezi decfd6df2b feat(buffer_worker): log expired message count
Fixes https://emqx.atlassian.net/browse/EMQX-10165

```
iex(emqx@127.0.0.1)38> 2023-06-21T11:09:35.569404-03:00 [info] msg: buffer_worker_dropped_expired_messages, mfa: emqx_resource_buffer_worker:log_expired_messge_count/1, line: 982, expired_count: 900, resource_id: <<"bridge:webhook:webhook">>, worker_index: 3
```
2023-06-21 14:38:51 -03: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
Ilya Averyanov 7382c6e6e1
Merge pull request #11103 from savonarola/0620-update-erlcloud
chore(deps): update erlcloud and remove unnecessary overrides
2023-06-21 15:07:45 +03:00
Thales Macedo Garitezi 1d791d7a8c fix(resource): validate maximum worker pool size
Fixes https://emqx.atlassian.net/browse/EMQX-10297
2023-06-20 14:26:42 -03:00
Ilya Averyanov 54d96488a0 chore(deps): update erlcloud and remove unnecessary overrides 2023-06-20 16:46:23 +03:00
ieQu1 fe77a04581 chore: Add changelog 2023-06-20 10:30:43 +02:00
Thales Macedo Garitezi 13746c2cdf fix(resource): check status when (re)starting a resource
Fixes https://emqx.atlassian.net/browse/EMQX-10290
2023-06-19 18:01:02 -03: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
Kjell Winblad 59ed8798c3
Merge pull request #11026 from kjellwinblad/kjell/fix/rule_engine/div_mod_strange/EMQX-10216
fix: rule engine different behavior for div and mod
2023-06-17 07:20:37 +02:00
zhongwencool 4d24fd13a6
chore: update changes/ce/fix-11074.en.md
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-06-17 07:06:42 +08:00
Thales Macedo Garitezi 8801ae9e5a
Merge pull request #11004 from paulozulato/fix-rewrite-wildcard
fix(rewrite): avoid wildcards on destination topic on publish
2023-06-16 09:57:46 -03:00
JimMoen 178711f742
fix: shared-sub with nl sub-option should cause protocol error 2023-06-16 18:19:23 +08:00
zhongwencool 5f7e938b20
Merge pull request #11070 from JimMoen/use-mria-autoclean
fix: use mria.cluster_autoclean
2023-06-16 14:56:52 +08:00
JimMoen c4e7129cb6
fix: use mria.cluster_autoclean and mria.cluster_autoheal 2023-06-16 14:04:24 +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 e6c2da8d19 feat: rename log.file.to to log.file.path 2023-06-15 18:24:21 +08:00
zhongwencool 9d9f0db516 chore: update 11056 changelog 2023-06-15 17:19:11 +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
Paulo Zulato 8c7c0877fd fix(rewrite): avoid wildcards on destination topic on publish
Fixes https://emqx.atlassian.net/browse/EMQX-9247
2023-06-14 20:02:03 -03:00
Serge Tupchii 4425942030 fix(emqx_schema): move tls version gap validation to emqx_schema 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
Stefan Strigler 748e54d507 chore: add changelog 2023-06-14 10:13:29 +02:00
zhongwencool fa1519ad11 chore: update 11045's changelog 2023-06-14 15:24:18 +08:00
JianBo He 86d3b702d7
Merge pull request #11042 from zhongwencool/max-connections-string
fix: api_listener crash when setting max_connnections as string
2023-06-14 12:46:40 +08:00
zhongwencool feb08b1181 chore: update 11042 changelog 2023-06-14 11:40:20 +08:00
JianBo He 26ad06b9ca chore: update changes 2023-06-14 10:49:17 +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
JianBo He 7afd9d2b06 chore: update changes 2023-06-13 16:38:23 +08: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
Kjell Winblad 256adeb580 docs: add changelog entry 2023-06-12 17:33:54 +02:00
firest 661893cae5 chore: update changes 2023-06-12 18:01:08 +08:00
firest eff98ceed8 chore: update changes 2023-06-12 16:42:46 +08:00
JianBo He 70ea1a6ae7 chore: update changes 2023-06-11 18:12:34 +08:00
zhongwencool 61bbe19eba
Merge pull request #10961 from HJianBo/support-infinity-max-conns-in-gateway
Adds support for unlimited max connections for gateway listeners
2023-06-11 09:09:34 +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
JianBo He aea3ae4024
Merge pull request #11005 from HJianBo/fix-tracing-logs-typos
fix(authn): fix the hardcode method in trace logs
2023-06-10 18:08:28 +08:00
Zaiming (Stone) Shi 3901ed3255
Merge pull request #10996 from sstrigler/EMQX-9435-request-the-non-existent-api-v-4-nodes-endpoint-in-emqx-e-5-0-1-returns-http-code-200
Return 404 for everything we don't know
2023-06-10 11:20:25 +02:00
JianBo He 56cd97e48b chore: update changes 2023-06-10 13:12:32 +08:00
Stefan Strigler 57d72ed23e fix(emqx_utils): redact proxy-authorization headers 2023-06-09 17:13:53 +02:00
Stefan Strigler 8c1334c421 fix(emqx_dashboard): return 404 for everything we don't know 2023-06-09 17:13:18 +02: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
JianBo He dbb8742e0e test: cover max_connection in infinity value 2023-06-09 15:48:23 +08:00
JianBo He c450a1784a
Merge pull request #10950 from HJianBo/mqttsn-qos3
fix(mqttsn): checking enable_qos3 option
2023-06-09 15:46:55 +08: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
lafirest 601db2b1d3
Merge pull request #10988 from lafirest/fix/konservi_sentema
fix(resource): improve log security when resource creation fails
2023-06-09 13:46:12 +08:00
firest 7e3c0c0168 chore: update changes 2023-06-09 12:05:24 +08:00
zhongwencool daa5450218
Merge pull request #10985 from zmstone/0608-rename-cluster-call-cmd
0608 rename cluster call cmd
2023-06-09 10:56:18 +08:00
JianBo He c733ddb166
Merge pull request #10977 from HJianBo/fix-stomp-bugs
Fix stomp gateway subscription_cnt is not updated timely and max_headers option is not working
2023-06-09 09:47:26 +08:00
Zaiming (Stone) Shi 83c36a3c9f refactor(emqx_conf_cli): do not print hidden roots in 'conf show' cmd 2023-06-09 09:31:32 +08: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 0e0d7c10a5 chore: add changelog 2023-06-08 15:17:02 +02:00
JianBo He c48b128de7 chore: update changes 2023-06-08 17:08:56 +08:00
JianBo He 88aab507ff chore: update changes/ce/perf-10941.en.md
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-06-08 14:29:54 +08:00
JianBo He cdd8645215 chore: update changes 2023-06-08 14:29:54 +08:00
JianBo He 4483a6857e chore: update changes 2023-06-08 11:24:07 +08:00
JianBo He 0b95bc1c1b
Merge pull request #10907 from HJianBo/refactor-on-stop-simple
feat: refactored some bridges to avoid leaking resources part.2
2023-06-08 09:37:31 +08: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 abdbf3409d feat: add changelog for #10926 2023-06-07 20:29:22 +02: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
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
Zaiming (Stone) Shi ce4e49cd9e
Merge pull request #10943 from zmstone/0605-hide-mcast-cluster-discovery
chore: start deprecating mcast cluster discovery
2023-06-07 08:32:33 +02:00
JianBo He 81387800b5
Merge branch 'master' into mqttsn-qos3 2023-06-07 09:49:29 +08:00
JianBo He 21b451a4c2
Merge pull request #10951 from HJianBo/mqttsn-mountpoint-pub
fix(mqttsn): make mountpoint works for publish
2023-06-07 09:39:46 +08: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
JianBo He f26b372e51 chore: update changes 2023-06-06 18:47:41 +08:00
JianBo He 32125bed6d chore: update changes 2023-06-06 18:26:28 +08: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
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
Zaiming (Stone) Shi 1dd2109b1f docs: add changelog for 10943 2023-06-05 15:03:21 +02:00
JianBo He dbc0cdce67 chore: dont allocate resource for simple connectiors 2023-06-05 10:59:00 +08:00
JianBo He e717ddafd7 chore: update changes 2023-06-05 10:19:46 +08:00
JianBo He e07c86b6a8
Merge pull request #10909 from HJianBo/remove-deprecated-gateways
feat: remove the deprecated '/gateway/*' HTTP APIs
2023-06-05 09:59:50 +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 0b87ea4cdc
Merge pull request #10929 from zmstone/0602-ci-pin-otp-25.3.2-1-elixir-1.14.5
ci: upgrade to otp 25.3.2-1 and elixir 1.14.5
2023-06-02 21:46:08 +02:00
Zaiming (Stone) Shi aa46c0a484
Merge pull request #10928 from zmstone/0602-sync-release-51-to-master
0602 sync release 51 to master
2023-06-02 21:45:21 +02:00
Thales Macedo Garitezi 33aa879ad4
Merge pull request #10910 from thalesmg/unify-restart-interval-v50
feat(resource): deprecate `auto_restart_interval` in favor of `health_check_interval`
2023-06-02 16:20:36 -03:00
Zaiming (Stone) Shi 3cfa13b343 docs: add changelog for #10929 2023-06-02 18:01:09 +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
Thales Macedo Garitezi 940353cc52 docs: add changelog 2023-06-02 09:13:47 -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
JianBo He 17f8868495 chore: update changes 2023-06-02 13:30:03 +08:00
Kjell Winblad c2c87d276f docs: add changelog entry for too long bridge name improvement 2023-06-01 15:38:54 +02:00
William Yang eea0336045 docs: add changelog 2023-06-01 14:54:44 +02:00
JianBo He bcc5e30f22
Merge pull request #10895 from lafirest/fix/refactor_on_stop
feat: refactored some bridges to avoid leaking resources during crashes at creation
2023-06-01 15:17:37 +08:00
Zaiming (Stone) Shi be2d25515a docs: add changelog for #10902 2023-05-31 20:44:00 +02: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
JianBo He 8ce0132569
Merge pull request #10871 from HJianBo/fix-coap-bugs
fix(coap): to better handle coap requests in connection mode
2023-05-31 22:36:15 +08:00
JianBo He c67135dd4b
Merge pull request #10598 from HJianBo/refactor_exproto_stream
refactor(exproto): support unary handler
2023-05-31 22:36:01 +08:00
firest ce32526c96 chore: bump version && update changes 2023-05-31 17:31:56 +08:00
JianBo He d0a9dca10b chore: update changes 2023-05-31 13:44:51 +08:00
firest a258ef32e5 chore: update retainer app version && changes 2023-05-31 09:44:25 +08:00
Thales Macedo Garitezi a7f4f81c38
Merge pull request #10887 from thalesmg/fix-async-worker-down-buffer-worker-20230530-v50
fix: block buffer workers so they may retry requests
2023-05-30 17:39:18 -03:00
Andrew Mayorov a2688325e5
Merge pull request #10754 from fix/EMQX-10056/mqtt
feat(mqttconn): employ ecpool instead of single worker
2023-05-30 23:28:10 +03:00
Andrew Mayorov 42a4c0200d
chore: add changelog entry 2023-05-30 22:21:52 +03:00
Thales Macedo Garitezi 6be8ff378e fix(buffer_worker): make buffer worker enter `blocked` state when async worker dies
Fixes https://emqx.atlassian.net/browse/EMQX-10074

Otherwise, requests from those async workers, now retriable, might not
be retried until the buffer worker blocks for other reasons, which
might take a long time.
2023-05-30 15:34:22 -03:00
Thales Macedo Garitezi 57aacb471c fix(rule_engine_api): don't crash when formatting empty metrics
Fixes https://emqx.atlassian.net/browse/EMQX-10073
Fixes https://github.com/emqx/emqx/issues/10714#issuecomment-1567987664

Similar issue to https://github.com/emqx/emqx/pull/10743, but on the
rule engine API.
2023-05-30 11:54:27 -03:00
JianBo He 9fc5af9253 chore: update changes 2023-05-30 21:48:58 +08:00
JianBo He e5534610e0 chore: update changes 2023-05-30 20:03:45 +08:00
Kjell Winblad 5cfe04956d
Merge pull request #10858 from kjellwinblad/kjell/rule_engine_funcs/add_timezone_to_second/EMQX-10058
feat: add timezone_to_second/1 function to rule engine
2023-05-30 12:29:40 +02:00
Kjell Winblad b87e0a2cdd docs: add changelog entry 2023-05-29 14:45:37 +02:00
JimMoen 6551eb21f2
Merge pull request #10851 from JimMoen/fix-bad-api-logging
fix: redact api request to hide auth token
2023-05-29 17:40:44 +08:00
JimMoen e287cf9a09
Merge pull request #10820 from JimMoen/fix-license-checker-update
fix: reboot `emqx_license` app for join cluster
2023-05-29 17:40:29 +08:00
zhongwencool 2b6d3bb748
Merge pull request #10833 from zhongwencool/telemtry-report
fix: only report enable authn/authz in telemetry
2023-05-29 15:14:36 +08: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
Zhongwen Deng 8c814bc861 fix: only report enable authn/authz in telemetry 2023-05-29 14:17:46 +08:00
JimMoen cb05406a00
fix: reboot `emqx_license` app for join cluster 2023-05-29 13:47:46 +08:00
JimMoen dcfe985ee9
fix: redact api request to hide auth token 2023-05-29 11:02:02 +08: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 72da3af08f docs: add changelog 2023-05-26 15:17:42 +02:00
JimMoen 0788f2f197
fix: `emqx_ctl traces ...` command args
* use second time as trace `start_at` and `end_at`
* default trace time duration 30min to same as api created
* prevent format line broken
2023-05-26 09:48:56 +08:00
Zaiming (Stone) Shi 407cab220b
Merge pull request #10760 from paulozulato/fix-failure-joining
fix: avoid error 500 when node is re-joining cluster
2023-05-26 03:08:17 +02: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
JianBo He de7f1c8aec test: add tests for auto_restart_interval 2023-05-25 17:15:19 +08: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
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
JimMoen e38645aa28
fix: lookup topic without force percent decode
* the minirest handler would do it
2023-05-24 17:28:32 +08:00
Zaiming (Stone) Shi 5fe58c5051 docs: add changelog for 10785 2023-05-23 14:13:18 +02:00
Zaiming (Stone) Shi 732a7be187 Merge remote-tracking branch 'origin/release-50' 2023-05-22 17:46:54 +02:00
zhongwencool a35c510c03
Merge pull request #10769 from zhongwencool/fix-bad-changelog
chore: bad change log file
2023-05-22 22:16:39 +08: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
lafirest 42f9c9aa9a
Merge pull request #10746 from lafirest/fix/events_api
fix: supports test the `$events/delivery_dropped` event by API
2023-05-22 20:50:03 +08:00
Zhongwen Deng d7bd2227db chore: bad change log file 2023-05-22 17:35:46 +08: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
firest da7d351cc6 chore: update changes 2023-05-22 15:25:29 +08:00
某文 27fca0ef3c fix: check authz's file rule before save to file 2023-05-22 14:22:20 +08: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
firest d3e38bd7f9 chore: update changes 2023-05-22 10:06:29 +08:00
某文 cd753622e3 chore: add change for fix bad default SSL certificate 2023-05-21 07:42:59 +08:00
Zaiming (Stone) Shi cb76e5a241 docs: add changelog for 10755 2023-05-19 20:41:26 +02:00
lafirest 264404e180
Merge pull request #10511 from lafirest/fix/resource_safe_log
fix(resource): make some logging of the resource manager more secure
2023-05-19 20:42:21 +08:00
Thales Macedo Garitezi 8cfcc8fbaf
Merge pull request #10743 from thalesmg/fix-bridge-metric-aggregation-r50
fix(bridge_api): don't crash when formatting empty/unknown bridge metrics
2023-05-19 09:07:22 -03:00
Kjell Winblad 28dda39e39
Merge pull request #10724 from kjellwinblad/kjell/docs/missing_http_api_endpoint_descriptions/EMQX-9767
docs: make sure there is a summary for all API endpoints
2023-05-19 12:05:41 +02:00
firest baeb96a6e4 chore: update changes 2023-05-19 15:36:18 +08: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
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
某文 52e2caa671 fix: check authz's file rule before save to file 2023-05-18 22:33:12 +08:00
Paulo Zulato 5d289ade56 fix: validate range for some bridge options
Fixes https://emqx.atlassian.net/browse/EMQX-9864

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

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

Therefore, both fields are now validated against the range [1ms, 1h],
which doesn't cause above issues.
2023-05-18 10:10:58 -03:00
JianBo He f42cab9c56 chore: update changes 2023-05-18 16:24: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
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
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 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
Kjell Winblad ab8b8ccaad docs: make sure there is a summary for all API endpoints
Many HTTP API endpoints did not have a summary when looking at the API
docs at "http://emqx_host_name:18083/api-docs". This has been fixed by
making sure there is a summary corresponding to all endpoints.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9767
2023-05-17 09:58:56 +02:00
某文 2b99a9b988 feat: hide resource_opts's request_timeout 2023-05-17 13:41:11 +08:00