Commit Graph

3661 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 00b21cf9c5
Merge pull request #12634 from zmstone/0304-breaking-no-escape-for-triple-quote-string-characters
chore: upgrade to hocon 0.42.0
2024-03-05 08:32:50 +01:00
Thales Macedo Garitezi 61328eb91a chore: prepare e5.6.0-alpha.2 2024-03-04 15:37:58 -03:00
zmstone 3e3194fd21 chore: upgrade to hocon 0.42.0 2024-03-04 19:12:42 +01:00
zmstone 6c9eb16a95 refactor(logger): reorder log fields
tag > clientid > msg > peername > username > topic > [other fields]
2024-03-04 18:10:19 +01:00
firest 6d9b2a95c3 Merge remote-tracking branch 'origin/release-55' 2024-03-04 20:47:20 +08:00
Thales Macedo Garitezi 0dd9990f24 Merge remote-tracking branch 'origin/release-55' into sync-r55-r56-20240304 2024-03-04 09:44:30 -03:00
ieQu1 2e792da934
Merge pull request #12562 from ieQu1/dev/new-ds-schema
Refactor schema for the durable storage
2024-03-04 10:33:27 +01:00
Ivan Dyachkov 9f61239704 Merge remote-tracking branch 'upstream/release-56' into 0304-sync-release-56 2024-03-04 08:00:39 +01:00
Ivan Dyachkov a20478fff0 chore: update scripts and workflows for 5.6.x 2024-03-01 09:01:34 +01:00
Zaiming (Stone) Shi 66fbcdcefa test: fix a compile warning 2024-02-29 16:13:52 +01:00
William Yang b82973b36b
Merge pull request #11868 from qzhuyan/fix/william/takeover-pub-willmsg
fix: willmsg not published in takeover
2024-02-29 13:14:18 +01:00
zhongwencool 21e0ecfcce
Merge pull request #12583 from zhongwencool/wait-for-listener-stop
chore: wait_for cowboy listener release sock when stop_listener
2024-02-29 15:03:22 +08:00
zhongwencool 49b508544e
chore: port not released msg
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2024-02-29 10:49:29 +08:00
Zaiming (Stone) Shi 704eceb7c7
Merge pull request #12599 from zmstone/0227-refactor-log-config-template
docs: add log docs
2024-02-28 17:58:14 +01:00
zhongwencool 660a1ce99d chore: use gen_tcp:recv timeout to wait socket closed 2024-02-28 16:18:32 +08:00
zhongwencool 4307aecefd chore: wait_for cowboy listener release sock when stop_listener 2024-02-28 14:24:15 +08:00
Zaiming (Stone) Shi ef99037335 docs: add log docs 2024-02-27 19:24:56 +01:00
Andrew Mayorov 56eefe34d5
feat(cth-cluster): use workdir as cwd on each node 2024-02-27 16:41:53 +01:00
Andrew Mayorov 3a008c8b4c
refactor: bump ekka to 0.19.0 w/o mnesia boot phase 2024-02-27 16:41:50 +01:00
JimMoen c6b1102b2b
fix(mgmt_client): `nl` not allowed for shared-sub 2024-02-27 17:51:39 +08:00
Zaiming (Stone) Shi 1567c5beb0
Merge pull request #12580 from zmstone/0224-delete-stale-macro
chore: delete stale macro
2024-02-27 09:58:06 +01:00
JimMoen a76415c4f6
fix(mgmt): sub/unsub a share subscription to the client via http api
- `/clients/:clientid/subscribe`
- `/clients/:clientid/subscribe/bulk`
- `/clients/:clientid/unsubscribe`
- `/clients/:clientid/unsubscribe/bulk`
2024-02-27 16:00:45 +08:00
William Yang 6c7b7741d5 feat(quic): mqtt 5.0 graceful shutdown in takeover 2024-02-26 23:05:49 +01:00
William Yang c8f9ffdc1f chore: update some comments 2024-02-26 22:24:16 +01:00
William Yang 88fc67b369 chore(willmsg): remove unreachable code 2024-02-26 22:24:16 +01:00
William Yang d5247cb567 refactor: update notes for willmsg 2024-02-26 22:24:16 +01:00
William Yang 975c7429e5 chore: clean in tests 2024-02-26 22:24:13 +01:00
Zaiming (Stone) Shi bb6a95bae8
Merge pull request #12590 from zmstone/0226-remove-mfa-from-logs
refactor: delete mfa from log metadata
2024-02-26 21:37:57 +01:00
Thales Macedo Garitezi 9ca5684b34
Merge pull request #12591 from thalesmg/dev-cls-m-20240226
test: make `clear_screen` safer
2024-02-26 13:40:16 -03:00
Serge Tupchii 5d4c85cd84 chore: list throttled log events in the change-log 2024-02-26 15:09:38 +02:00
Serge Tupchii 5b48b06d4a fix: trace throttled log events 2024-02-26 15:09:38 +02:00
Thales Macedo Garitezi c6195fcf50 test: make `clear_screen` safer
Useful when iterating on the tests in a loop, to get rid of all the garbaged printed
before the test itself beings.

Only actually does anything if the environment variable `CLEAR_SCREEN` is set to `true`
and only clears the screen the screen the first time it's encountered, so it's harmless
otherwise.
2024-02-26 09:31:06 -03:00
Zaiming (Stone) Shi 00c2aeb1ab refactor: delete mfa from log metadata 2024-02-26 12:15:00 +01:00
Zaiming (Stone) Shi 94a01d23c1 chore: delete stale macro
EMQX_API_VERSION is no longer in use since 5.2.0
2024-02-24 09:06:25 +01:00
Zaiming (Stone) Shi a3e81c5039 chore: prepare for release 5.5.1-rc.2 2024-02-24 08:59:51 +01:00
ieQu1 fe4c7cd2dc
fix(ds): Apply review remarks, and hide certain fields 2024-02-23 18:07:56 +01:00
ieQu1 e126393cbf
fix(ds): Fix schema checker warnings for DS schema 2024-02-23 15:39:52 +01:00
ieQu1 c18fc6a4bb
fix(sessds): Remove deprecated configuration parameters 2024-02-23 15:08:13 +01:00
ieQu1 91ddbbcc3f
fix(sessds): Replace min- and max- batch size with batch_size 2024-02-23 15:08:13 +01:00
ieQu1 94b0ab983d
docs(ds): Add descriptions for the builtin's egress config 2024-02-23 15:08:13 +01:00
ieQu1 17ab3c6362
chore(ds_schema): Use atoms for record and field names 2024-02-23 15:08:13 +01:00
ieQu1 24337ecec7
feat(sessds): Move config schema to a separate root 2024-02-23 15:08:13 +01:00
ieQu1 8907e5afb3
chore(sessds): Remove deprecated schema 2024-02-23 15:08:11 +01:00
Zaiming (Stone) Shi 5af01c041b
Merge pull request #12559 from zmstone/0221-refactor-use-atom-fileds
refactor: use atoms for root config fields
2024-02-23 14:38:19 +01:00
Thales Macedo Garitezi 15f919e60f
Merge pull request #12564 from thalesmg/bw-support-batch-list-resp-m-20240221
feat(resource): allow `on_batch_query{,_async}` to return a list of individual results
2024-02-23 09:37:42 -03:00
Zaiming (Stone) Shi 46877e979b chore: update copyright-year 2024-02-23 08:21:06 +01:00
William Yang 2ff33f98ef chore(willmsg): add come comments 2024-02-22 17:12:19 +01:00
William Yang e5a3574d89 fix: maybe send willmsg 2024-02-22 17:12:16 +01:00
Zaiming (Stone) Shi 88b1d9ba88 refactor: use atoms for root config fields and types 2024-02-22 16:51:40 +01:00
William Yang 6311b582ec test(willmsg): session taken over before willmsg delay /session expire 2024-02-22 16:39:27 +01:00
William Yang 5397402396 test(willmsg): test will delay and session expires
will delay > session expire
will delay < session expire

timer triggered events are handled in seq, exclude the case of
(will delay == session expire)
2024-02-22 16:39:27 +01:00
William Yang dd62280e04 fix: handle delayed willmsg, part 1 2024-02-22 16:39:27 +01:00
William Yang b76c701b1c test(takeover): add back the delay when takeover 2024-02-22 16:39:27 +01:00
William Yang 6243cf0b0c fix(kick): defer willmsg publish when conn terminates
because kick means shutdown connection AND delete session
2024-02-22 16:39:27 +01:00
William Yang 9da4896f57 fix(mqtt): ensure publish willmsg when session expires 2024-02-22 16:39:24 +01:00
William Yang 07eec31a8a fix: willmsg not published in takeover 2024-02-22 16:35:59 +01:00
zhongwencool ccf607ee2c fix: bpapi announce's bad node name 2024-02-22 14:55:11 +08:00
Thales Macedo Garitezi 985a3e3062 test: remove unused var warning 2024-02-21 18:14:46 -03:00
SergeTupchiy 8e47503f7d
Merge pull request #12560 from SergeTupchiy/EMQX-11530-log-throttling-followup-fixes
fix: disable log throttling if primary log level is debug
2024-02-21 22:02:32 +02:00
Thales Macedo Garitezi f31e9e6a15
Merge pull request #12555 from thalesmg/ds-move-count-to-mgmt-m-20240221
refactor(mgmt): move persistent session counting function to mgmt module
2024-02-21 16:36:29 -03:00
Serge Tupchii ceb208f1eb fix: disable log throttling if primary log level is debug 2024-02-21 21:19:15 +02:00
Zaiming (Stone) Shi 415d27a4c9
Merge pull request #12544 from zmstone/0220-delete-non-prod-code
0220 delete non prod code in emqx_resource.erl
2024-02-21 14:08:08 +01:00
Thales Macedo Garitezi 25cdc2a04b chore: bump version to 5.5.1-rc.1 2024-02-21 09:57:05 -03:00
Thales Macedo Garitezi 03138f8345 refactor(mgmt): move persistent session counting function to mgmt module
Follow up to https://github.com/emqx/emqx/pull/12500#discussion_r1496634087
2024-02-21 09:12:56 -03:00
Thales Macedo Garitezi 529211b9ac
Merge pull request #12500 from thalesmg/ds-list-client-api-m-20240209
feat(ds): list disconnected persistent sessions in clients API
2024-02-21 09:02:27 -03:00
Zaiming (Stone) Shi de93d1c0a3 chore: add bpapi.versions 2024-02-21 10:53:22 +01:00
SergeTupchiy f7a7b7c8e0
Merge pull request #12545 from SergeTupchiy/fix-typo-tls_gc
chore(emqx_tls_certfile_gc): fix typo
2024-02-21 10:11:13 +02:00
Thales Macedo Garitezi 65cfece0a3 chore: delete 5.5.bpapi2
> This particular warning won't be seen in the real life. Also, we need to start storing
bpapi files for each minor release, since the plan to use hot upgrade has been abandoned.

> ...The original procedure for BPAPI life cycle was designed under the assumption that
we'll support hot upgrade between minor releases, so we'll only ever need to keep one
BPAPI file per major release, and rewrite it whenever a new minor version is
released. We'll need to revisit it.

https://emqxio.slack.com/archives/C04H4RHKKEY/p1706862980546309
2024-02-20 17:35:28 -03:00
Thales Macedo Garitezi 74dbbf6d9d Merge branch 'release-55' into sync-r55-m-20240220 2024-02-20 16:33:34 -03:00
Serge Tupchii dd9f96211b chore(emqx_tls_certfile_gc): fix typo 2024-02-20 21:19:36 +02:00
Thales Macedo Garitezi 3a4c7f60e2 feat(ds): list disconnected persistent sessions in clients API
Fixes https://emqx.atlassian.net/browse/EMQX-11540

Note that not all information provided by disconnected in-memory sessions is available to
disconnected persistent sessions, nor does all of them make sense.
2024-02-20 14:52:55 -03:00
Serge Tupchii 9bd0d1ba1b feat: enable log throttling for potentially flooding log events 2024-02-20 14:20:21 +02:00
Serge Tupchii 98ba300f7c feat: implement log throttling 2024-02-20 13:23:17 +02:00
Thales Macedo Garitezi bee7fa630b chore: bump app vsns 2024-02-19 09:05:13 -03:00
Thales Macedo Garitezi dbb6725a47 fix(config): apply config upgrade to deprecated configs
Fixes https://emqx.atlassian.net/browse/EMQX-11845

Fixes https://github.com/emqx/emqx/issues/12452
2024-02-19 09:02:43 -03:00
Zaiming (Stone) Shi 8b0e15e402 refactor: rename 'hint' to 'cause' for MQTT fram parse failure reason
'reason' is maybe the wrapping field's name, so it was not used.
'hint' however, per our logging convention, is usually a free text
description for human to read.
change to 'cause' here because the field is always an atom and
it's use as shutdown counter in esockd_connection_sup
2024-02-19 09:38:35 +01:00
Zaiming (Stone) Shi 668d3be390 test: for better test coverage 2024-02-18 19:23:35 +01:00
Zaiming (Stone) Shi 22dabcb3ea feat(mqtt): add more logging context for frame_too_large error 2024-02-18 18:33:12 +01:00
Zaiming (Stone) Shi 52cfeee2b1
Merge pull request #12526 from zmstone/0216-fix-flaky-tests
test(listeners): try to stop all listeners after each test
2024-02-16 15:33:04 +01:00
Zaiming (Stone) Shi 9ffda0187f
Merge pull request #12525 from zmstone/0216-docs-add-ref-to-bridge_mode
docs: add a reference to the origin of is_bridge and bridge_mode
2024-02-16 15:32:52 +01:00
Zaiming (Stone) Shi 2b46cbab7a
Merge pull request #12517 from zmstone/0213-hocon-multiline-string-with-indentation
0213 hocon multiline string with indentation
2024-02-16 15:12:46 +01:00
Zaiming (Stone) Shi f78c30c9ff test: reduce false warning messages in test logs 2024-02-16 14:38:51 +01:00
Zaiming (Stone) Shi 3fa262f9ca test(listeners): try to stop all listeners after each test
- Reduce the `eaddrinuse` flakiness
- Use ?FUNCTION_NAME as listener name to avoid name clashing between
  tests
- Call emqx:remove_config for adhoc listeners created for testing
  tombestone is designed for default listeners
2024-02-16 14:37:06 +01:00
Zaiming (Stone) Shi 17a0513962 docs: add a reference to the origin of is_bridge and bridge_mode 2024-02-16 12:24:57 +01:00
Andrew Mayorov a945892c52
Merge pull request #12508 from keynslug/fix/explicit-tab-mgmt
feat: manage mria tables explicitly during apps startup
2024-02-16 11:11:59 +01:00
Zaiming (Stone) Shi b24321a8fc feat: upgrade to hocon-0.41.0
hocon 0.41.0 added support for multiline string indentation.
now there is no need to escape (unless there is backslash)
quotes and line feeds etc.
2024-02-16 10:32:13 +01:00
ieQu1 ab2a469aff
Merge pull request #12489 from ieQu1/dev/ds-retainer
Durable sessions support retained messages
2024-02-15 21:59:32 +01:00
ieQu1 5f85105801 feat(sessds): Specialize the interval queue for positive numbers 2024-02-15 16:55:05 +01:00
ieQu1 3adbe65a58 refactor(sessds): Unify logic for QoS 1 and 2 2024-02-15 11:34:13 +01:00
ieQu1 c781240459 feat(sessds): Add support for the retainer
Note: this is currently not ideal. Retained messages won't be
redelivered.
2024-02-15 11:34:13 +01:00
ieQu1 94254ec05b feat(sessds): Correct handling of gaps in the seqno series 2024-02-15 10:49:02 +01:00
Serge Tupchii 0d0e26d6af fix: set `info` level for potentially flooding log events 2024-02-15 11:02:03 +02:00
Andrew Mayorov d0e507eba4
test(trie): fix testsuite setup 2024-02-13 20:36:22 +01:00
Andrew Mayorov 841fdea124
test(conf): update and simplify some testcases 2024-02-13 20:36:22 +01:00
Andrew Mayorov 24dfa41722
feat(cth-suite): use cheaper heuristic for schema modules 2024-02-13 20:36:22 +01:00
Andrew Mayorov 8f2a4f7b19
fix(cth-suite): use cheaper check for loaded applications 2024-02-13 20:36:22 +01:00
Andrew Mayorov b6d77c164e
feat(emqx-mgmt): manage mria tables explicitly during startup 2024-02-13 20:36:22 +01:00
Andrew Mayorov 21a5751575
feat(emqx): manage mria tables explicitly during startup 2024-02-12 19:17:09 +01:00
Ilya Averyanov 90fd2b26d3 feat(banned): allow ban by clientid/username regexps, peerhost cidrs 2024-02-10 17:59:22 +03:00
Zaiming (Stone) Shi a74c828e19 test: add test case to cover Receive-Maximum in CONNACK 2024-02-09 10:42:48 +01:00