Commit Graph

12022 Commits

Author SHA1 Message Date
Andrew Mayorov
3e956e8711
fix(sessds): use milder log level for regular error conditions
Especially when such events are emitted in (potentially) tight loops,
i.e. pulling messages from iterators pointing to remote shards.
2024-05-08 17:40:08 +02:00
zmstone
9edbad5459 fix(listener_api): do not allow update listener with unknown zone name 2024-05-08 16:37:55 +02:00
Thales Macedo Garitezi
d3bc32dc35 fix(message validation): don't call emqx_conf:update during boot
`load/0` and `unload/0` shouldn't call cluster operations.
2024-05-08 10:18:29 -03:00
Kjell Winblad
916168c755 fix: make rule engine unescape convert \a to the terminal alarm char
The rule engine unescape function should convert the escape sequence \a
to the alarm bell symbol (ASCII 7). This bug was created as it was
assumed that Erlang convert $\a to 7 but Erlang does not handle the \a
escape sequence and instead convert it to 97 (ASCII code for a).

Fixes:
https://emqx.atlassian.net/browse/EMQX-12313
2024-05-08 15:18:13 +02:00
Thales Macedo Garitezi
5172606032 refactor(message validation): rename message_name to message_type
On Product's behest, to make naming consistent with protobuf nomenclature.

https://protobuf.dev/programming-guides/proto3/#adding-types
2024-05-08 09:13:40 -03:00
zmstone
3a2ff34433 chore: add zone in listener config example 2024-05-08 11:43:10 +02:00
JimMoen
25be9c2890
fix(plugin): use binary NameVsn to re-build plugin avsc serde 2024-05-08 15:43:54 +08:00
JimMoen
68c601ad72
fix(plugin): add a backup for the plugin config file 2024-05-08 15:43:53 +08:00
JianBo He
4403b4f5ce
Merge pull request #12976 from HJianBo/fix-duplicated-disconnect
Fix duplicated disconnect event
2024-05-08 14:43:19 +08:00
Kjell Winblad
72f68afbca
Merge pull request #12981 from kjellwinblad/kjell/fixup_trace_all_http_and_error
Make formatting of action result trace entries better
2024-05-08 06:10:03 +02:00
Thales Macedo Garitezi
0c7b221c42 fix(clients mgmt api): set durable flag for DS sessions and subscriptions 2024-05-07 14:55:50 -03:00
Kjell Winblad
d5324e295f test: do cleanup in emqx_common_test_helpers:on_exit function
Thanks @thalesmg for the suggestion.
2024-05-07 18:18:18 +02:00
Thales Macedo Garitezi
02c58b67f0
Merge pull request #12986 from thalesmg/fix-mv-name-length-r57-20240507
fix(message validation): limit the length of validation name
2024-05-07 11:39:17 -03:00
Thales Macedo Garitezi
2989793f4c
Merge pull request #12980 from thalesmg/fix-ds-get-offline-client-stuff-r57-20240506
fix(mgmt clients api): hold channel info after client disconnects for display in API
2024-05-07 11:18:00 -03:00
Thales Macedo Garitezi
d4d2b4c460
Merge pull request #12985 from thalesmg/fix-mv-cluster-metrics-r57-20240507
fix(message validation): apply config CRUD operations on whole cluster
2024-05-07 11:10:58 -03:00
Kjell Winblad
09ee7ec0e2 fix(rule tracing): make sure that recoverable errors are traced 2024-05-07 15:49:38 +02:00
Thales Macedo Garitezi
96bb6e7d88 fix(message validation): limit the length of validation name
Fixes https://emqx.atlassian.net/browse/EMQX-12299
2024-05-07 10:04:56 -03:00
Thales Macedo Garitezi
06f16d4ee0 fix(message validation): apply config CRUD operations on whole cluster
Fixes https://emqx.atlassian.net/browse/EMQX-12298
2024-05-07 09:45:50 -03:00
Thales Macedo Garitezi
6d6eb42fa3 fix(mgmt clients api): hold channel info after client disconnects for display in api
Fixes https://emqx.atlassian.net/browse/EMQX-12266
2024-05-07 09:22:33 -03:00
Serge Tupchii
b869488d35 fix(emqx_license): don't crash if an imported backup file has no license config 2024-05-07 13:48:04 +03:00
zhongwencool
a0bf06caba chore: add test case for non-utf8 topic 2024-05-07 17:02:45 +08:00
firest
f641d0b2b7 feat(events): add new hook && event client.check_authn_complete 2024-05-07 16:24:31 +08:00
Kjell Winblad
feecc36607 fix(rule tracing): clean up error tuple in the action_failed trace 2024-05-07 09:13:55 +02:00
JianBo He
1642b06bf9 test: add tests 2024-05-07 10:30:53 +08:00
Thales Macedo Garitezi
28355a4cfc fix(monitor api): count persistent routes and subscriptions
Fixes https://emqx.atlassian.net/browse/EMQX-12267
2024-05-06 16:51:31 -03:00
Zaiming (Stone) Shi
93e31d088a
Merge pull request #12978 from JimMoen/fix-typo
chore: fix typo
2024-05-06 21:28:51 +02:00
Kjell Winblad
ca88f5731b fix(rule tracing): format result traces in a more structured way 2024-05-06 17:33:59 +02:00
Thales Macedo Garitezi
cd4aaf663b docs: briefly describe delivery callbacks 2024-05-06 10:00:10 -03:00
Thales Macedo Garitezi
e6b1dfb095 refactor: improve error 2024-05-06 09:53:49 -03:00
Thales Macedo Garitezi
793cc4df2c fix: add fully qualified calls to enable hot beam reloads 2024-05-06 09:52:31 -03:00
Thales Macedo Garitezi
edcb750d9f fix: remove unused dependency 2024-05-06 09:51:32 -03:00
Thales Macedo Garitezi
36542a4b1d docs: bump copyright years 2024-05-06 09:50:12 -03:00
Ilia Averianov
e19222fc0d
Merge pull request #12971 from savonarola/0502-fix-url-parse
fix(auth,http): improve URI handling
2024-05-06 13:41:10 +03:00
JimMoen
1df2d837ee
chore: fix typo 2024-05-06 17:37:32 +08:00
ieQu1
3642bcd1b6
docs(ds): Fix comment for the builtin DS metrics 2024-05-06 11:21:32 +02:00
ieQu1
b2a633aca1
fix(ds): Use leader's clock for computing LTS safe cutoff time 2024-05-06 11:21:32 +02:00
ieQu1
1ff2e02fd9
feat(ds): Pass current time to the storage layer via argument 2024-05-06 11:21:32 +02:00
ieQu1
8ac9700aab
feat(ds): Add an API for DB-global variables 2024-05-06 11:21:32 +02:00
ieQu1
86d45522e3
fix(dsrepl): Don't reverse elements of batches 2024-05-06 11:21:32 +02:00
ieQu1
bcfa7b2209
fix(ds): Destroy LTS tries when the generation is dropped 2024-05-06 11:21:32 +02:00
ieQu1
9999ccd36c
feat(ds): Ignore safe cutoff time for streams without varying levels 2024-05-06 11:21:32 +02:00
Ilya Averyanov
31026d51f7 chore(auth,http): cache REs for parsing URIs 2024-05-06 11:46:18 +03:00
JianBo He
b320b20c7b fix(mqtt): disconnected event should not be sent twice 2024-05-06 16:17:02 +08:00
JianBo He
cabe2ae100 chore: fix dialyzer warning 2024-05-06 14:58:27 +08:00
JianBo He
d2b6e41cd1 chore(stomp): parse \n as heartbeat frame 2024-05-06 14:39:41 +08:00
Ilya Averyanov
3b655f56cb fix(auth,http): improve URI handling 2024-05-04 09:47:13 +03:00
Zaiming (Stone) Shi
e7f0c83406
Merge pull request #12970 from zmstone/0503-refactor-dashboard-listener
refactor: simplify https listener config for dashboard
2024-05-04 08:38:29 +02:00
Zaiming (Stone) Shi
c5d8659f35
Merge pull request #12972 from zmstone/0503-unhide-default-dashboard-username-password
chore: unhide dashboard default_password config
2024-05-04 08:36:32 +02:00
Thales Macedo Garitezi
32493e395c refactor: avoid passing record down to template rendering function 2024-05-03 17:43:30 -03:00
Thales Macedo Garitezi
157e2c2535 refactor: make api more generic 2024-05-03 17:25:02 -03:00
Thales Macedo Garitezi
a6508e2fca refactor: use better names
Co-authored-by: Andrew Mayorov <encube.ul@gmail.com>
2024-05-03 17:04:09 -03:00
Thales Macedo Garitezi
d61f4078e2 refactor: extract blob aggregator logic to separate application
This will allow other bridges to share the same aggregation logic as S3 aggregated action.
2024-05-03 14:35:58 -03:00
zmstone
4d3156b5ed chore: unhide dashboard default_username and default_password config 2024-05-03 18:35:49 +02:00
Thales Macedo Garitezi
3818b75188
Merge pull request #12959 from thalesmg/kprodu-connector-hc-m-20240429
feat(kafka producer): add health check topic option
2024-05-03 12:48:48 -03:00
zmstone
3c5c76fcfc refactor: simplify https listener config for dashboard 2024-05-03 16:45:40 +02:00
Kjell Winblad
004dc80fb2
Merge pull request #12958 from kjellwinblad/kjell/fixup_trace
fix: rule trace formatting, republish and console stop after rendering
2024-05-03 16:24:17 +02:00
Zaiming (Stone) Shi
52357742aa
Merge pull request #12962 from zmstone/0502-fix-ssl-client-opts-to-allow-wildcard-cert-by-default
fix(ssl-clients): allow wildcard certificates by default
2024-05-03 15:19:37 +02:00
Kjell Winblad
5bfe31b691 fix: issues found during PR review (thanks @thalesmg and @zmstone)
* Simpler handling of true and false in best effort JSON formatter
* inet:ntoa/1 to format IP addresses
* Made a record for lazy formatted trace values and formatter to improve
  maintainability
* Added callback to format return value from connector
  * Extended test case to check that the format return value callback
    works
* Added handling of "lazy" trace entry data to the text formatter. Do we
  need to handle this data in the normal log formatters as well?
2024-05-03 15:04:57 +02:00
Kjell Winblad
e32745bca6 test(apply rule trace): add test case for republish and console print 2024-05-03 15:02:37 +02:00
Kjell Winblad
b9cd75eef0 test(emqx_mgmt_api_trace_SUITE): fix bad test cases 2024-05-03 15:02:37 +02:00
Kjell Winblad
76ccef7ce3 fix(trace api): trace should be ready after create
Fixes:
https://emqx.atlassian.net/browse/EMQX-12276
2024-05-03 15:02:37 +02:00
Kjell Winblad
9576efb716 fix(rule apply test): do not crash when the rule is not found 2024-05-03 15:02:37 +02:00
Kjell Winblad
3ba5cb7858 fix(apply rule): make sure we return something JSON compatible
Fixes:
https://emqx.atlassian.net/browse/EMQX-12275
2024-05-03 15:02:37 +02:00
Kjell Winblad
ea7633c484 fix: rule trace formatting, republish and console stop after rendering
* Better rule trace formatting for many trace entries
* The republish and console actions have got working stop after
  rendering functionality
2024-05-03 15:02:36 +02:00
zmstone
37d66e90fb fix(ssl-clients): allow wildcard certificates by default 2024-05-03 12:52:42 +02:00
Ilia Averianov
3ed385201c
Merge pull request #12947 from savonarola/0426-auth-timeout
feat(authn): add connection expire based on authn data
2024-05-03 11:32:18 +03:00
Thales Macedo Garitezi
6f3da6b131 feat(kafka producer): add health check topic option
Fixes https://emqx.atlassian.net/browse/EMQX-12241

This allows more accurate health checking for Kafka Producers.  Without a topic, it's not
possible to actually probe the connection to partition leaders, so the connector might not
be reported as `disconnected` without testing a concrete topic.
2024-05-02 17:07:44 -03:00
Thales Macedo Garitezi
c71f73924b
Merge pull request #12961 from thalesmg/kconsu-custom-group-id-m-20240430
feat(kafka consumer): allow custom group id
2024-05-02 14:37:42 -03:00
Ivan Dyachkov
cc577e636d Merge remote-tracking branch 'upstream/release-57' into 0502-sync-release-57 2024-05-02 17:06:18 +02:00
Ivan Dyachkov
3064a1cbae
Merge pull request #12957 from id/0430-adjust-build-scripts
adjust build scripts
2024-05-02 17:05:06 +02:00
Thales Macedo Garitezi
eb113fa578 fix: add non-empty validator 2024-05-02 11:19:00 -03:00
William Yang
8f780ae8bc
Merge pull request #12955 from qzhuyan/port/william/5/partial-chain
port: TLS partial chain
2024-05-02 15:34:25 +02:00
Thales Macedo Garitezi
607bf0fe44
Merge pull request #12952 from thalesmg/fix-dont-list-mv-rule-event-r57-20240429
fix(rule events): don't list validation failure event in CE API
2024-05-02 09:20:53 -03:00
Thales Macedo Garitezi
3942b371d7 feat(kafka consumer): allow custom group id
Fixes https://emqx.atlassian.net/browse/EMQX-12273
Fixes EMQX-12273

When consuming messages in Kafka in Alibaba Cloud, the group needs to be configured in
advance, and then the consumer can use the group to consume messages. Automatic group
creation is generally not allowed online.
2024-05-02 08:59:40 -03:00
Ivan Dyachkov
035b8480b0 chore(emqx_conf): extract data dirs to sync to a macro 2024-05-02 10:25:53 +02:00
William Yang
1a4a4bb3a5 chore: fix nit 2024-05-02 10:13:57 +02:00
Thales Macedo Garitezi
14ef0b1e51 feat(kafka consumer): allow custom group id
Fixes https://emqx.atlassian.net/browse/EMQX-12273
Fixes EMQX-12273

When consuming messages in Kafka in Alibaba Cloud, the group needs to be configured in
advance, and then the consumer can use the group to consume messages. Automatic group
creation is generally not allowed online.
2024-05-01 13:53:29 -03:00
Thales Macedo Garitezi
42cb17360e Merge branch 'release-57' into sync-r57-m-20240430 2024-04-30 14:42:22 -03:00
Thales Macedo Garitezi
7a44746492 fix(rule events): don't list validation failures in CE
Fixes https://emqx.atlassian.net/browse/EMQX-12284
2024-04-30 14:41:09 -03:00
Thales Macedo Garitezi
874f1f2428
Merge pull request #12950 from thalesmg/fix-mv-duplicated-topics-r57-20240429
fix(message validation): validate duplicated topics
2024-04-30 13:34:58 -03:00
Thales Macedo Garitezi
dd6566f3c5
Merge pull request #12948 from thalesmg/fix-http-bridge-header-update-obfuscate-r57-20240429
fix(http connector): deobfuscate sensitive headers
2024-04-30 13:34:15 -03:00
Ilya Averyanov
e4154dd472 feat(authn): use correct time resolution for setting channel expire in JWT authn 2024-04-30 19:01:16 +03:00
William Yang
fb30207ef3 chore: fix test 2024-04-30 16:41:46 +02:00
William Yang
337c230e79 feat(partial_chain): gateway support 2024-04-30 16:41:26 +02:00
Ilya Averyanov
80d724c504 feat(authn): add connection expire based on authn data 2024-04-30 17:04:55 +03:00
Andrew Mayorov
279169105b
Merge pull request #12934 from keynslug/feat/EMQX-12204/aggreg-s3-bridge
feat(s3-bridge): implement aggregated upload action
2024-04-30 13:50:19 +02:00
zmstone
1974ec15ec fix(client_attrs): fix client_attrs extraction loop 2024-04-30 12:12:35 +02:00
Zaiming (Stone) Shi
a88862ebe0
Merge pull request #12951 from zmstone/0429-fix-description-schema
fix(schema): description should be in binary() type
2024-04-30 12:03:55 +02:00
Andrew Mayorov
6d3add3646
fix(s3-aggreg): do not handle {error, closed} on buffer write
Because it's not really something `file:write/2` is supposed to return.
2024-04-30 10:48:16 +02:00
Andrew Mayorov
4bea938ef2
fix(s3-csv): clarify naming of CSV container concepts
Co-Authored-By: Ilya Averyanov <av@rubybox.dev>
2024-04-30 10:48:16 +02:00
Andrew Mayorov
83366cbed0
fix(s3-aggreg): ensure action works in Rule SQL contexts 2024-04-30 10:48:16 +02:00
Andrew Mayorov
a1a313d992
fix(s3-aggeg): apply CSV column order setting consistently
Otherwise, columns that are part of column order could appear and
disappear from consecutive uploads, depending on if they are part
of the very first buffered event or not.
2024-04-30 10:48:16 +02:00
Andrew Mayorov
f6e5eea4f7
feat(s3-aggreg): handle delivery shutdowns gracefully 2024-04-30 10:48:15 +02:00
Andrew Mayorov
339036045d
feat(s3-aggreg): support custom and default S3 object HTTP headers
I.e. configured container decides default `Content-Type` header.
2024-04-30 10:48:15 +02:00
Andrew Mayorov
5b15b2d641
docs(s3-bridge): document aggregated upload action schema 2024-04-30 10:48:15 +02:00
Andrew Mayorov
ccbcc0c4e3
feat(s3-bridge): implement aggregated upload action 2024-04-30 10:48:15 +02:00
Andrew Mayorov
b91ff97170
feat(s3): separate streaming upload logic into dedicated module
And use it in `emqx_s3_uploader`, while also turning it into a simple
gen_server.
2024-04-30 10:48:12 +02:00
Kjell Winblad
7b638a5829 style: fix spelling mistake (thanks @savonarola) 2024-04-30 09:28:12 +02:00
William Yang
70ffd77f99 chore(TLS-chain-test): update for OTP 26 2024-04-30 09:05:51 +02:00
zmstone
c8d6976b14 feat: add conditions to variform expressions
- refactored `coalesce` function to allow lazy evaluation
- added `iif(Cond, IfExpr, EleseExpr)` to allow simple conditions
2024-04-30 07:28:27 +02:00
William Yang
650cf4b27e test(partial_chain): update tcs for OTP-25 2024-04-30 06:25:03 +02:00
William Yang
43ad665dcf fix(test): tls_verify_partial_chain 2024-04-30 06:25:03 +02:00
William Yang
a29a43e5fc fix(listener): remove partial_chain in wss opts 2024-04-30 06:25:03 +02:00
William Yang
4e9c1ec0c9 chore: happy elvis 2024-04-30 06:25:03 +02:00
William Yang
8eb463c58d feat(tls): update schema for TLS keyusage 2024-04-30 06:25:03 +02:00
William Yang
90430fa66d fix(tls): undefined keyusage 2024-04-30 06:25:03 +02:00
William Yang
eb1ab9adfe test(tls): verify peer keyusage 2024-04-30 06:25:03 +02:00
William Yang
8bc3a86f63 feat(config): partial_chain 2024-04-30 06:25:03 +02:00
William Yang
fa4357ce89 test: port listener tls partial_chain 2024-04-30 06:25:03 +02:00
William Yang
0b95a08d32 feat(tls): port partial_chain, part 1 2024-04-30 06:25:03 +02:00
zmstone
9917293fd0 fix(schema): description should be in binary() type 2024-04-29 21:44:55 +02:00
Thales Macedo Garitezi
ffedce014f fix(message validation): validate duplicated topics
Fixes https://emqx.atlassian.net/browse/EMQX-12254
2024-04-29 15:44:03 -03:00
Thales Macedo Garitezi
a847389159 fix(http connector): deobfuscate sensitive headers
Fixes https://emqx.atlassian.net/browse/EMQX-12213
2024-04-29 15:20:46 -03:00
Thales Macedo Garitezi
5cf92dcb73 refactor: use spawn_link instead of spawn_monitor
This should cover the case when the resource manager is brutally killed.
2024-04-29 15:20:32 -03:00
Thales Macedo Garitezi
475077c798 fix(resource): account for ongoing channel health checks, update data and reply immediately when receiving an update 2024-04-29 15:20:32 -03:00
Thales Macedo Garitezi
79526d539a fix(resource manager): clean up any running health checks when terminating
Fixes https://github.com/emqx/emqx/pull/12812#discussion_r1555564254
2024-04-29 15:20:32 -03:00
zmstone
7a05a4754f docs: expose zone config in schema doc 2024-04-29 13:57:18 +02:00
Zaiming (Stone) Shi
a41652ec31
Merge pull request #12940 from zmstone/0427-catch-hocon-syntax-error
feat(mgmt): add ignore_readonly to  configs API
2024-04-29 13:22:12 +02:00
zmstone
1db932df21 chore(mgmt): PUT /configs?ignore_readonly=true, lower log to info level 2024-04-29 10:20:47 +02:00
zhongwencool
ef9a63ae17 fix: non-utf8 clientid connect event case crash if strict_mod=false 2024-04-29 14:43:29 +08:00
zmstone
07cbdc6e90 feat(mgmt): add ignore_readonly qeury-string to PUT /configs API 2024-04-28 14:45:53 +02:00
zmstone
10625eacac chore: upgrade to hocon-0.42.2
hocon pretty-print quotes more string values
if a string has '.' or '-', or if it starts with a digit 0-9,
then it's quoted.

see details here: https://github.com/emqx/hocon/pull/293
2024-04-28 14:05:30 +02:00
firest
d6c203b4fd fix(dynamo): fixed the keys checking for Dynamo 2024-04-28 16:59:01 +08:00
zmstone
5f4215b333 fix(mgmt): avoid 500 error when hocon syntax error 2024-04-27 21:12:42 +02:00
JimMoen
43ac4f5dfe
fix: make bpapi check happy 2024-04-26 21:17:01 +08:00
JimMoen
5ff4e76904
refactor: rename plugins config api functions 2024-04-26 20:51:20 +08:00
Kjell Winblad
db48a977bb test(mongodb authn, authz): add test cases for use_legacy_protocol
This commit adds test cases that check that the authn and authz modules
for MongoDB support the use_legacy_protocol configuration option.

Fixes:
https://emqx.atlassian.net/browse/EMQX-12245
2024-04-26 12:41:50 +02:00
JimMoen
00cab33fde
fix: plugin's internal config api 2024-04-26 18:10:55 +08:00
Ilya Averyanov
aaf57ecfbc chore(authz): improve and clarify types 2024-04-26 12:09:18 +03:00
JimMoen
11389bc086
fix: i18n file renamed 2024-04-26 11:12:24 +08:00
JimMoen
28e8131984
refactor: avoid make when do serde 2024-04-26 10:37:15 +08:00
JimMoen
e5bd747b32
refactor: read avsc file when make serde 2024-04-26 10:25:19 +08:00
JimMoen
670ddae57c
chore: fix typo 2024-04-26 10:25:18 +08:00
JimMoen
c884dfb451
test: make eunit happy 2024-04-26 10:25:17 +08:00
JimMoen
1869f6fd0a
fix: enusre plugin installed when do config operation 2024-04-26 10:25:16 +08:00
JimMoen
b0aa3bb70f
fix(plugin): get plugin config api 2024-04-26 10:25:15 +08:00
JimMoen
f343cd2021
fix: get plugin config in json 2024-04-26 10:25:14 +08:00
JimMoen
d2ecccc2ff
fix: call json encoder/decoder for plugin config 2024-04-26 10:25:12 +08:00
JimMoen
c180b6a417
fix(api): plugin api docs 2024-04-26 10:25:11 +08:00
JimMoen
1f00ce789f
fix(plugin): gen_server call timeout infinity 2024-04-26 10:25:10 +08:00
JimMoen
c0429ca333
fix(plugin): refine schema serde log 2024-04-26 10:25:09 +08:00
JimMoen
27d1f91cac
refactor: refine function name 2024-04-26 10:25:08 +08:00
JimMoen
2686a66b14
fix: make eunit happy 2024-04-26 10:25:07 +08:00
JimMoen
d2e0c09f2e
fix: make static check happy 2024-04-26 10:25:06 +08:00
JimMoen
d06f410fd5
fix(plugins): read avsc file 2024-04-26 10:25:05 +08:00
JimMoen
8db5e51592
feat: plugin config with avro schema and apis 2024-04-26 10:25:04 +08:00
JimMoen
71cdcc860a
fix(plugin): plugin's mgmt api schema codes 2024-04-26 10:25:03 +08:00
Zaiming (Stone) Shi
6af651cf2f
Merge pull request #12931 from zmstone/0425-fix-acl.conf-topic-template-render-fialure-handling
0425 fix acl.conf topic template render fialure handling
2024-04-25 20:30:02 +02:00
Ilia Averianov
a0e0a27f87
Merge pull request #12418 from savonarola/0129-fix-auth-claim-schema
feat(jwt_auth): improve verify_claims handling and docs
2024-04-25 19:05:13 +03:00
chengshq
75dab4dff0 fix: STOMP heartbeat 2024-04-25 23:33:15 +08:00
zmstone
01923147a2 fix(variform and authz): do not initialize empty client_attrs field
when client_attrs_init expression renders to empty string,
do not initialize the attribute.

also fixed an ACL error: a template render failure for a topic
would stop the ACL checks for the following topics if more
than one topic is configured.
2024-04-25 17:32:07 +02:00
zmstone
d30b52f0f9 docs: refine acl.conf comments 2024-04-25 17:32:07 +02:00
Kjell Winblad
15594b4db6 fix(HTTP connector): retry on 503 Service Unavailable response
Previously, if an HTTP request received a 503 (Service Unavailable)
status, it was marked as a failure without retrying. This has now been
fixed so that the request is retried a configurable number of times.

Fixes:
https://emqx.atlassian.net/browse/EMQX-12217
https://github.com/emqx/emqx/issues/12869 (partly)
2024-04-25 17:05:18 +02:00
Ilya Averyanov
407b0cd0ca feat(jwt_auth): improve verify_claims handling and docs 2024-04-25 17:49:29 +03:00
Ilia Averianov
c42583550d
Merge pull request #12514 from savonarola/0214-fix-ft-responses
fix(ft): report ft assemble status from a dedicated process
2024-04-25 15:10:26 +03:00
Kjell Winblad
ff09f14191 fix(http connector): remove sensitive info from headers lazily
In production code we don't need to redact the headers for a trace that
will never appear anywhere so we can improve performance by doing
removal of sensitive information lazily.
2024-04-25 13:27:14 +02:00
Kjell Winblad
ef9884cf47 refactor(rule trace): templates rendered trace to increase code reuse
* The code for passing the trace context to a sub process has been
  improved to increase code reuse. This code is used when the action
  templates are rendered in a sub process.
* A macro has also been added for the error term that is thrown when the
  action shall be stopped after the templates has been rendered. This is
  also done to reduce code duplication and to reduce the risk of
  introducing bugs due to typos.
* Fix incorrect type spec

Thanks to @zmstone for suggesting these improvements in comments to a PR
(https://github.com/emqx/emqx/pull/12916).
2024-04-25 13:15:36 +02:00
Kjell Winblad
0dbaef4316 feat: add stop after render and after render trace to tdengine action 2024-04-25 11:51:46 +02:00
Kjell Winblad
d6ceeb3b30 feat: add stop after render and after render trace to rabbitmq action 2024-04-25 11:51:46 +02:00
Kjell Winblad
11d9d30fc0 feat: add stop after render and after render trace to syskeeper action 2024-04-25 11:51:46 +02:00
Kjell Winblad
a0b2357abb feat: add stop after render and after render trace to sqlserver action 2024-04-25 11:51:46 +02:00
Kjell Winblad
03e3ac19a9 feat: add stop after render and after render trace to s3 action 2024-04-25 11:51:46 +02:00
Kjell Winblad
22c7224267 feat: add stop after render and after render trace to rocketmq action 2024-04-25 11:51:46 +02:00
Kjell Winblad
2abc1b1141 feat: add stop after render and after render trace to redis action 2024-04-25 11:51:46 +02:00
Kjell Winblad
74fac80e7e feat: add stop after render and after render trace to pulsar action 2024-04-25 11:51:46 +02:00
Kjell Winblad
9c37c99b62 feat: add stop after render and after render trace to oracle action 2024-04-25 11:51:46 +02:00
Kjell Winblad
d27f05fa60 feat: add stop after render and after render trace to influxdb action 2024-04-25 11:51:46 +02:00
Kjell Winblad
279ad186f7 feat: add stop after render and after render trace to kinesis action 2024-04-25 11:51:46 +02:00
Kjell Winblad
beedc72be4 feat: add stop after render and after render trace to mongodb action 2024-04-25 11:51:46 +02:00
Kjell Winblad
e2b35ea242 feat: add stop after render and after render trace to opents action 2024-04-25 11:51:46 +02:00
Kjell Winblad
9d6655bc30 feat: add stop after render and after render trace to hstreamdb action 2024-04-25 11:51:46 +02:00
Kjell Winblad
7c7590fbc8 feat: add stop after render and after render trace to greptimedb action 2024-04-25 11:51:46 +02:00
Kjell Winblad
7922d5d422 feat: add stop after render and after render trace to gcp action 2024-04-25 11:51:46 +02:00
Kjell Winblad
a2dd8f5aee feat: add stop after render and after render trace to cassandra action 2024-04-25 11:51:46 +02:00
Kjell Winblad
810aa68b02 feat: add stop after render and after render trace to dynamo action 2024-04-25 11:51:46 +02:00
Kjell Winblad
120b35ac75 feat: add stop after render and after render trace to mysql action 2024-04-25 11:51:46 +02:00
Kjell Winblad
b2811f96b2 refactor(rule trace): simplify function for setting trace meta data
This commit simplifies a function to set trace meta data in line with a
suggestion from  @zmstone:

https://github.com/emqx/emqx/pull/12912#discussion_r1576053856
2024-04-25 11:51:46 +02:00
Kjell Winblad
7ad354f412 feat: add stop after render and after render trace to clickhouse action 2024-04-25 11:51:46 +02:00
Kjell Winblad
32c27f1711 feat: add stop after render and after render trace to kafka action 2024-04-25 11:51:46 +02:00
Kjell Winblad
b02ed4e6ec feat: add stop after render and after render trace to pgsql action 2024-04-25 11:51:46 +02:00
Kjell Winblad
1f676ce035 feat: add stop after render and after render trace to mqtt action 2024-04-25 11:51:46 +02:00
Kjell Winblad
5ca90ccced fix: improve structure of log trace entries for HTTP action
Fixes:
https://emqx.atlassian.net/browse/EMQX-12025
2024-04-25 11:51:46 +02:00
zmstone
a67773e973 Merge remote-tracking branch 'origin/master' into release-57 2024-04-25 10:56:52 +02:00
zhongwencool
2cbf4dc789
Merge pull request #12923 from zhongwencool/authn-mnesia
chore: provided more specific error for wrong import method
2024-04-25 10:28:09 +08:00
zhongwencool
2a2da3766e
chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2024-04-25 09:16:53 +08:00
zmstone
f2fa35efdf Merge remote-tracking branch 'origin/master' into 0424-merge-latest-master-to-release-57 2024-04-24 22:02:56 +02:00
Ilya Averyanov
05f544495e fix(ft): report ft assemble status from a dedicated process
Previously, the status was monitored by the channel itself.
If channel disconnected before the assemble was completed,
the status message was lost (not sent to the resonse topic)
2024-04-24 18:16:28 +03:00
Serge Tupchii
02a0faa1d6 refactor: avoid evaluating Data more than once in SLOG_THROTTE macro 2024-04-24 16:26:34 +03:00
zmstone
b66d7a688e Merge remote-tracking branch 'origin/release-57' into release-57 2024-04-24 13:09:06 +02:00
zhongwencool
4f12d45436 chore: provided more specific error for wrong import method 2024-04-24 15:37:35 +08:00
zhongwencool
712008bc1d
Merge pull request #12909 from zhongwencool/esockd-bump-version
fix: bump escokd to 5.11.2 to handle udp_error/closed message
2024-04-24 09:15:39 +08:00
ieQu1
5804b70c1f
Merge pull request #12918 from ieQu1/dev/ds-readme1
docs(ds): Update README with CLI and REST API endpoints
2024-04-23 17:02:01 +02:00
ieQu1
e4c3283c9c docs(ds): Update README with CLI and REST API endpoints 2024-04-23 16:28:35 +02:00
Kjell Winblad
e1eed30b5d
Merge pull request #12912 from kjellwinblad/kjell/rule_trigger_time/EMQX-12025
feat(rule tracing): add rule trigger time meta data field
2024-04-23 15:00:05 +02:00
lafirest
0d1c13661f
Merge pull request #12895 from lafirest/fix/dyndb
fix(dynamo): Added missing keys for DynamoDB
2024-04-22 23:03:00 +08:00
lafirest
a81ca359fc
Merge pull request #12899 from lafirest/fix/rocmq
feat(rocketmq): add support for namespace and key dispatch strategy
2024-04-22 21:20:44 +08:00
Kjell Winblad
e9d498dde2 feat(rule tracing): add rule trigger time meta data field
Fixes:
https://emqx.atlassian.net/browse/EMQX-12025
2024-04-22 13:51:48 +02:00
zhongwencool
6049b4966f fix: bump escokd to 5.11.2 to handle udp_error/closed message 2024-04-22 16:41:09 +08:00
ieQu1
f9eda1883f
Merge pull request #12903 from ieQu1/dev/ds-egress-flush-condition
fix(ds): Fix egress flush condition
2024-04-22 10:17:22 +02:00
JianBo He
c5c4bb987f
Merge pull request #12902 from HJianBo/stomp
Pass the Content-type of MQTT message to the Stomp message
2024-04-22 16:02:03 +08:00