JimMoen
1a6f0c9234
chore: bump gw_jt808 app vsn
2024-05-10 17:13:23 +08:00
JimMoen
b07242515f
fix(gw): jt808 REG_ACK failed due to faulty clientinfo
2024-05-10 17:12:28 +08:00
Ivan Dyachkov
900536712d
Merge pull request #12997 from thalesmg/sync-r57-m-20240508
...
sync `release-57` to `master`
2024-05-10 10:41:30 +02:00
Kjell Winblad
8c0b55a89e
Merge pull request #12992 from kjellwinblad/kjell/fix_rule_unescape_function/EMQX-12313
...
fix: make rule engine unescape convert \a to the terminal alarm char
2024-05-10 09:48:33 +02:00
lafirest
da7b11020a
Merge pull request #13001 from lafirest/fix/sysk_reconn
...
fix(sysk): fix that the syskeeper forwarding never reconnecting
2024-05-10 11:24:28 +08:00
firest
1f3b640a3d
chore: update change
2024-05-10 07:29:14 +08:00
Thales Macedo Garitezi
7b80a9aa44
fix(aggregator): namespace aggregator ids with action type
...
Otherwise, actions of different types but same names will clash when starting the
aggregator supervision tree.
2024-05-09 16:02:11 -03:00
Andrew Mayorov
57dda70d2f
Merge pull request #12994 from keynslug/fix/sessds/log-levels
...
fix(sessds): use milder log level for regular error conditions
2024-05-09 18:34:54 +02:00
lafirest
23a1b18459
Merge pull request #12983 from emqx/feat/authn_hook
...
feat(events): add new hook && event `client.check_authn_complete`
2024-05-09 22:36:52 +08:00
Thales Macedo Garitezi
401f0fa84b
Merge branch 'release-57' into sync-r57-m-20240508
2024-05-09 09:13:30 -03:00
firest
2bc014db69
fix(events): call `client.check_authn_complete` even if authentication fails
2024-05-09 18:15:32 +08:00
firest
e3a59c4037
fix(sysk): fix that the syskeeper forwarding never reconnecting
2024-05-09 16:27:58 +08:00
Ilia Averianov
a1aedee446
Merge pull request #12996 from savonarola/0508-fix-cursor-usage
...
fix(retainer): fix qlc cursor cleanup
2024-05-09 08:04:10 +03:00
firest
d2ca4e9f11
chore: update change
2024-05-09 11:04:56 +08:00
ieQu1
07aa708894
test(ds): Refactor replication suite
2024-05-09 03:56:56 +02:00
zhongwencool
107d00adee
Merge pull request #12944 from zhongwencool/mqtt-utf8-strict-mode
...
fix: non-utf8 clientid connect event case crash if strict_mod=false
2024-05-09 09:16:10 +08:00
ieQu1
63e51fca66
test(ds): Use streams to fill the storage
2024-05-09 02:46:57 +02:00
ieQu1
a0a3977043
feat(ds): Assign latest timestamp deterministically
2024-05-08 23:17:57 +02:00
ieQu1
2236af84ba
feat(ds): two-stage storage commit on the storage level
2024-05-08 23:17:57 +02:00
ieQu1
f250f00f3f
chore: Bump snabbkaffe version to 1.0.10
2024-05-08 23:17:57 +02:00
ieQu1
1ddbbca90e
feat(ds): Allow incremental update of the LTS trie
2024-05-08 23:17:57 +02:00
ieQu1
68ca891f41
test(ds): Use streams to create traffic
2024-05-08 23:17:57 +02:00
Zaiming (Stone) Shi
018d79b498
Merge pull request #12993 from zmstone/0508-fix-update-listener-zone-from-dashboard
...
0508 fix update listener zone from dashboard
2024-05-08 22:03:10 +02:00
Thales Macedo Garitezi
55f27281b3
Merge pull request #12991 from thalesmg/refactor-mv-message-type-r57-20240508
...
refactor(message validation): rename `message_name` to `message_type`
2024-05-08 16:58:28 -03:00
Thales Macedo Garitezi
d3905b6336
Merge pull request #12990 from thalesmg/fix-mv-conf-update-r57-20240508
...
fix(message validation): don't call `emqx_conf:update` during boot
2024-05-08 16:58:15 -03:00
Ilya Averyanov
57287f0722
fix(retainer): fix qlc cursor cleanup
2024-05-08 21:38:37 +03:00
Thales Macedo Garitezi
8d0574abf0
Merge pull request #12979 from thalesmg/fix-ps-monitor-topic-count-r57-20240506
...
fix(monitor api): count persistent routes and subscriptions
2024-05-08 15:09:16 -03:00
Andrew Mayorov
d84c180ccb
feat(dsrepl): avoid contacting unreachable ra servers
...
Assuming estabilished Erlang distribution channel is a reliable way to
tell whether a remote node is reachable.
2024-05-08 18:12:13 +02:00
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
Ivan Dyachkov
b723e87e54
Merge remote-tracking branch 'upstream/release-56' into 0422-sync-release-56
2024-04-22 08:12:05 +02:00
firest
d5cdc07eab
feat(rocketmq): add support for namespace and key dispatch strategy
2024-04-22 13:14:11 +08:00
firest
46f339dfab
chore: updte change log
2024-04-22 13:12:01 +08:00
firest
a1e85e3c59
fix(dynamo): Added missing keys for DynamoDB
2024-04-22 13:09:34 +08:00
Kjell Winblad
6e99f01ecd
Merge pull request #12863 from kjellwinblad/kjell/new_trace_log_formatter/EMQX-12025
...
feat(emqx_trace): add JSON trace log entry formatter
2024-04-22 06:25:18 +02:00
JianBo He
d85df14b85
Merge pull request #12892 from HJianBo/fix-gateway-related-issues
...
fix(ocpp): avoid an error log in handling downstream messages
2024-04-22 11:25:26 +08:00
JianBo He
69bdcd2f24
Merge pull request #12898 from emqx/iotdb-1.3.0
...
feat: support iotdb 1.3.0
2024-04-22 10:56:06 +08:00
ieQu1
4c76a2574d
fix(ds): Fix egress flush condition
2024-04-21 21:51:31 +02:00
Zaiming (Stone) Shi
307cd79be2
Merge pull request #12897 from zmstone/0418-support-dynamic-license
...
feat(license): add business-critical customer type
2024-04-20 09:03:58 +02:00
JianBo He
5520e54147
chore: add tests
2024-04-20 08:59:36 +08:00
JianBo He
aaf7953968
chore: apply suggestions from code review
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2024-04-20 08:36:59 +08:00
JianBo He
95f3e49edb
fix(stomp): pass the Content-Type from the MQTT message
2024-04-20 08:33:55 +08:00
Andrew Mayorov
43f8346c00
fix(dssnap): ensure idempotent write of empty chunks
2024-04-19 18:52:33 +02:00
ieQu1
bac5100635
Merge pull request #12874 from ieQu1/dev/EMQX-12030-subscriptions-api
...
API for durable subscriptions
2024-04-19 17:11:53 +02:00
Kjell Winblad
2890bc2619
fix(tracing): remove internal extra field from the trace config
...
This commit removes the internal extra field from the trace config
structure exposed to the user via the HTTP API.
2024-04-19 17:05:34 +02:00
Kjell Winblad
9e46c18443
fix(emqx_trace_SUITE:t_base_create_delete): broken test case
2024-04-19 15:41:50 +02:00
zmstone
ec83fbe3dc
feat(license): add business critical customer type
2024-04-19 14:19:39 +02:00
ieQu1
ede7246882
fix(sessds): Avoid double-enriching transient messages
2024-04-19 13:39:04 +02:00
Ilia Averianov
b7a4536f47
Merge pull request #12871 from savonarola/0412-fix-rebalance-app-dependencies
...
fix(rebalance): fix start order of rebalance applications
2024-04-19 13:27:41 +03:00
Zaiming (Stone) Shi
a8b1224225
Merge pull request #12893 from zmstone/0416-add-is-template-flag-to-dashboard-schema
...
0416 add `is_template` flag to dashboard schema
2024-04-19 10:41:43 +02:00
Kjell Winblad
c163956d08
fix(trace formatter): remove record field to enable rolling upgrade
2024-04-19 09:52:20 +02:00
zhongwencool
b163a87386
feat: support batch_size on iotdb
2024-04-19 14:52:56 +08:00
zhongwencool
c0521fd250
feat: support iotdb 1.3.0
2024-04-19 08:54:18 +08:00
ieQu1
f1e6565ddd
refactor(sessds): Move all subscription logic to the subs module
2024-04-19 01:20:29 +02:00
ieQu1
d12966db5b
test: Avoid dumping raw snabbkaffe traces to the console
2024-04-19 01:20:29 +02:00
ieQu1
180130d684
feat(sessds): List persistent subscriptions in the REST API
2024-04-19 01:20:29 +02:00
Kjell Winblad
09b414f368
test: add necessary application to test suites
2024-04-18 17:39:52 +02:00
Kjell Winblad
285bfa9367
fix: improve rendering of action_template_rendered trace
2024-04-18 17:00:47 +02:00
Kjell Winblad
7be18730e8
test(emqx_rule_engine_api_rule_apply_SUITE): remove unnecessary code
2024-04-18 15:16:18 +02:00
Kjell Winblad
f5b0439724
fix(emqx_rule_engine_api_rule_apply_SUITE): flaky test case
2024-04-18 14:28:28 +02:00
Kjell Winblad
8f1486f6d3
fix: clean up trace messages to make it easier to interpret
...
This commit removes some redundant trace messages and renames some to
make it easier to interpret what is happening for the user.
2024-04-18 14:28:01 +02:00
zmstone
5b38d592f0
feat(http): add `is_template` as HTTP headers field property
...
is_template was designed to be type property.
however for HTTP headers, it's a map() type,
instead of creating a new type for it, it's easier to just
add it as a field property.
2024-04-18 13:16:29 +02:00
zmstone
ede4eeae9f
fix(http_bridge): path is template field
2024-04-18 13:04:56 +02:00
zmstone
ca56e7e8d7
fix(kafka): headers are template fields
2024-04-18 13:04:36 +02:00
Kjell Winblad
3232ab5ea3
fix(rule tracing): unset trace meta data in try-after-end
...
We wrap the reset of the process trace meta data in the after clause of
a try-after-end expression to be sure we never get any lingering
incorrect meta data.
2024-04-18 11:28:50 +02:00
Kjell Winblad
aa388adba9
fix(json trace format): format client_ids and rule_ids as lists
2024-04-18 11:27:39 +02:00
Kjell Winblad
10957e7d79
fix: change name of the default trace log format from plain to text
2024-04-18 10:42:51 +02:00
Kjell Winblad
ef9f8a8fdf
fix: unreachable clause found by dialyzer
2024-04-18 10:28:37 +02:00
Kjell Winblad
6c0ee8bb01
test(emqx_trace_SUITE): fix failure due to new field
2024-04-18 10:28:37 +02:00
Kjell Winblad
968dc2ccda
fix(json trace format): use best_effort_json instead of new encoder
2024-04-18 10:28:37 +02:00
Kjell Winblad
aa39835242
feat(emqx_cli): add parameter for trace format (plain or json)
2024-04-18 10:28:29 +02:00
Kjell Winblad
6fd7a06c5d
fix: problems reported by dialyzer
2024-04-18 10:20:18 +02:00
Kjell Winblad
a6558740e8
feat(emqx_trace): add JSON trace log entry formatter
...
This commit makes it possible to select the JSON trace log entry
formatter when crating a trace pattern. This will make it easier for the
dashboard and automatic tests to parse the log entries.
Fixes: EMQX-12025 (partly)
2024-04-18 10:20:11 +02:00
zmstone
ab763fe665
test: fix test case flakyness
2024-04-18 09:32:05 +02:00
Kjell Winblad
2a2fadfbff
Merge pull request #12827 from kjellwinblad/kjell/emqx_rule_tracing/EMQX-11966
...
Add rule ID tracing support
2024-04-18 09:06:31 +02:00
JianBo He
d7ebecddb4
fix(ocpp): return correct current_connections number of listenrs http api
2024-04-18 14:54:12 +08:00
Ivan Dyachkov
e93bd314bc
chore: 5.6.1
2024-04-18 08:03:56 +02:00
JianBo He
75632bb2cd
chore(gw): update listener examples
2024-04-18 13:58:31 +08:00
Kjell Winblad
b16b9d8fcc
refactor: made code more readable thanks to suggestion from @zmstone
2024-04-18 06:51:30 +02:00
zmstone
55941000c0
test: make test case more stable, less flaky
2024-04-17 20:42:03 +02:00
zmstone
6ab2b004ed
fix(resource_manager): update cache after channel add
2024-04-17 20:34:33 +02:00
zmstone
c96ae8dd23
fix: return 503 if bridge bpapi call timeout
2024-04-17 20:34:33 +02:00
zmstone
5a4bfff9e5
refactor: add template_str type
2024-04-17 20:34:33 +02:00
zmstone
5c014f4c29
test: fix test cases
2024-04-17 20:34:33 +02:00
Kjell Winblad
95891db29a
test: clean up created resources in the end of test case
2024-04-17 18:43:19 +02:00
Kjell Winblad
6cf29ba688
fix: clean up traces to make them easier to parse and understand
2024-04-17 18:20:17 +02:00
Kjell Winblad
cf56050759
feat: avoid mixing request with and without the stop_after_render flag
...
Previously a batch of requests that was sent to a connector could
contain both requests with the stop_after_rendering flag and requests
without this flag. When this happened a warning message was generated and
the stop_after_render flags for the batch would be ignored. This commit
fixes so that a mixed batch is never created so there is no longer any
need for a warning message or ignoring flags.
2024-04-17 16:21:21 +02:00
zmstone
d49e98bc4b
test: fix dashboard schema validation
2024-04-17 14:09:48 +02:00
zmstone
f9f14f9758
refactor(emqx_conf): raise exception at higher level for more context
2024-04-17 13:10:55 +02:00
zmstone
51c8173174
feat(bridge): add is_template flag to bridge config fields
2024-04-17 13:10:55 +02:00
JianBo He
2468243dfd
chore: update changes
2024-04-17 18:52:48 +08:00
ieQu1
124c5047d0
feat(sessds): Add API for getting session data from the cold storage
2024-04-17 12:31:54 +02:00
ieQu1
38a2e8add9
fix(sessds): Return the number of subscriptions for offline sessions
2024-04-17 12:31:54 +02:00
ieQu1
e439a2e0f2
fix(sessds): Save protocol name and version in the session metadata
2024-04-17 12:31:54 +02:00
JianBo He
18196ec19c
fix(ocpp): avoid an error log in handling dnsteeam messages
2024-04-17 17:48:19 +08:00
JianBo He
c61c3157c6
Merge pull request #12888 from HJianBo/data-backup-for-license
...
fix(license): license file is not taking effect after importing backup files
2024-04-17 16:31:16 +08:00
JimMoen
1dfd9115cd
Merge pull request #12880 from JimMoen/EMQX-12147/influx-write-syntax-tag-type
...
fix(influx): literal number values in tag set
2024-04-17 10:23:57 +08:00
ieQu1
197a4c30be
fix(sessds): Strip unneccessary data from the durable session state
2024-04-17 01:21:52 +02:00
ieQu1
93bb840365
docs(ds): Update README
2024-04-17 01:21:52 +02:00
ieQu1
87ffaf89e5
refactor(sessds_state): Use macros for map keys
2024-04-17 01:21:52 +02:00
ieQu1
113a990482
feat(sessds): Support max subscriptions
2024-04-17 01:21:51 +02:00
ieQu1
6c897c26ae
fix(sessds): Commit session on unsubscribe
2024-04-17 01:21:51 +02:00
ieQu1
6c83bbe10b
feat(mgmt): Filter subscriptions by durability
2024-04-17 01:21:51 +02:00
ieQu1
b30ddc206e
fix(sessds): Immutable subscriptions
...
This commit fixes two issues:
- Behavior of overlapping subscriptions has been aligned with the
in-memory session.
- Fixed handling of replays when subscription changes (either by
client or EMQX configuration)
2024-04-17 01:21:51 +02:00
ieQu1
3e0c649e8e
feat(sessds): Store awaiting rel
2024-04-17 01:21:51 +02:00
zmstone
df458b98d7
refactor(dashboard_schema): no need to translate labels
...
the trans_label implementation was ugly, it compares an anonymous
function to check if the label should be translated.
since we have stopped generating i18n message ids for dashboard
schema, this entire function is now stale, so this function
is deleted.
2024-04-16 17:54:34 +02:00
zmstone
2bd72aab44
chore: bump dashboard schema version to 0.2.0
2024-04-16 16:58:45 +02:00
Zaiming (Stone) Shi
4d38a8fd44
Merge pull request #12872 from zmstone/0412-support-variform-for-client_attrs
...
0412 use variform for client_attrs
2024-04-16 13:29:56 +02:00
JianBo He
6b8111c066
fix(license): license file is not taking effect after importing backup files
2024-04-16 19:07:17 +08:00
ieQu1
c645cfa5d6
fix(sessds): Graceful handling of shared subscription error
2024-04-16 12:37:01 +02:00
Ivan Dyachkov
f3bb28c6af
chore: 5.6.1-rc.2
2024-04-16 09:47:32 +02:00
Andrew Mayorov
5d7b2e2ce6
fix(dsrepl): attempt leadership transfer on terminate
...
In addition to on removal. The reasoning is basically the same: try to
avoid situations when log entries are replicated (or will be considered
replicated when the new leader is elected) but the leader terminates
before replying to the client.
To be clear: this is a stupid solution. Something much more robust is
needed.
2024-04-15 22:05:24 +02:00
Ivan Dyachkov
a0ffe5e7ae
chore: 5.6.1-rc.1
2024-04-15 22:05:05 +02:00
Kjell Winblad
f481871792
fix(rocketmq action): we need one producer group per channel and topic
...
We need one producer group per channel and topic because we can have
several topics per channel due to templating.
2024-04-15 20:52:08 +02:00
Kjell Winblad
1fe92bddd0
fix(rocketmq action): make sure that topic template is respected
2024-04-15 20:37:23 +02:00
Kjell Winblad
7f9a311988
fix(rocketmq action): all actions used only one topic
...
This commit makes sure that a set of rocketmq workers are started for
each topic. Before this commit all actions for a rocketmq connector used
the same workers which all were bound to a single topic so all messages
got delivered to that topic regardless of the action configuration.
We should have automatic tests to check that the messages actually go to
different topics but this needs to go into another PR since we have to
deliver the fix fast and the rocketmq library does not support reading
from topics.
Fixes:
https://emqx.atlassian.net/browse/EEC-1006
2024-04-15 20:08:56 +02:00
zmstone
f80d078de3
feat(variform): Add more functions
2024-04-15 16:56:52 +02:00
Andrew Mayorov
89f42f1171
fix(dsrepl): make placeholder shard process permanent under supervisor
2024-04-15 16:43:52 +02:00
Andrew Mayorov
c4d1360b96
fix(dsrepl): trigger election for new ra servers unconditionallly
...
Otherwise we might end up in a situation when there's no member online
yet at the time of the election trigger, and the election will never
happen.
2024-04-15 16:42:29 +02:00
JimMoen
084e920c6e
test(influx): literal values or variable in tag set
2024-04-15 17:47:53 +08:00
JimMoen
8ed397d4fa
fix(influx): literal number values in tag set
2024-04-15 17:47:52 +08:00
Ivan Dyachkov
3ef160eed2
Merge remote-tracking branch 'upstream/release-56' into 0415-sync-release-56
2024-04-15 08:09:03 +02:00
zmstone
b76b6fbe63
feat(variform): initialize client_attrs with variform
...
Moved regular expression extraction as a variform function.
2024-04-14 10:13:24 +02:00
zmstone
da5b01aa46
refactor(client_attr): allow more than one initial extraction
2024-04-13 01:00:25 +02:00
zmstone
2577224bc7
fix(swagger): do not generate dummy descriptions
2024-04-13 01:00:25 +02:00
Zaiming (Stone) Shi
06b07460e8
Merge pull request #12866 from zmstone/0411-refactor-resove-TODOs
...
refactor: resolve some old TODOs
2024-04-13 00:10:47 +02:00
Kjell Winblad
b4198185bc
fix(http connector): redact sensitive information from headers
2024-04-12 15:27:03 +02:00
Kjell Winblad
6777f04780
fix: iolist_to_binrary -> unicode:characters_to_binary
...
It is not always safe to use iolist_to_binrary on the output of an
io_lib:format call with the ~ts placeholder.
2024-04-12 15:21:25 +02:00
Ilya Averyanov
500d4fedda
fix(rebalance): fix start order of rebalance applications
2024-04-12 15:58:57 +03:00
Kjell Winblad
ed5409fb6a
docs(trace): add emqx_ctl documentation for the new ruleid trace
2024-04-12 11:54:14 +02:00
Kjell Winblad
f444c6fc32
fix: pass stop_action_after_render=true in trace meta data
...
Even if there is no trace we still need to pass
stop_action_after_render=true in the trace meta data so that the action
will be stopped.
2024-04-12 11:38:01 +02:00
Kjell Winblad
aa950f97fa
test: fix tests with missing application
2024-04-12 11:23:19 +02:00
Kjell Winblad
9998940aa2
fix(trace): several improvements thanks to comments from @zmstone
2024-04-11 16:48:43 +02:00
Ivan Dyachkov
b27fc0da26
test(emqx_machine): ensure node is down before testing open ports
2024-04-11 15:24:41 +02:00
zmstone
dfd13b4ab5
test: fix dashboard schema json test cases
2024-04-11 15:12:01 +02:00
zmstone
afc87ddc9e
refactor: do not generate i18n msgid in dashboard schema json
...
dashboard has its own mind
now i18n is only used to generate docs:
1. runtime swagger spec at /api-docs
2. build-time config schema
both result in the resolved i18n text, but not msgid
2024-04-11 14:09:22 +02:00
Ivan Dyachkov
3b7cade671
chore: 5.6.1-beta.1
2024-04-11 13:49:40 +02:00
zmstone
eac25194e5
refactor: resolve some old TODOs
...
move dashboard schema generation code to the right module
2024-04-11 13:41:34 +02:00
Zaiming (Stone) Shi
e7a4210943
Merge pull request #12858 from zmstone/0410-fix-variform-number-handling
...
fix(variform): allow numbers to be numbers
2024-04-11 11:24:55 +02:00
zmstone
834bddadad
test: delete flaky test for now
2024-04-11 09:39:17 +02:00
zmstone
e6330dddec
fix(variform): allow numbers to be numbers
2024-04-10 11:57:45 +02:00
Zaiming (Stone) Shi
2fea651d1d
Merge pull request #12851 from zmstone/0327-feat-add-emqx_variform
...
emqx_variform for string substitution and transform
2024-04-10 10:18:40 +02:00
JianBo He
91ffc95f29
Merge pull request #12855 from JimMoen/fix-share-queue-format
...
fix(mgmt): $queue shared topics format in mgmt topics api
2024-04-10 10:52:48 +08:00
JianBo He
5f8986209e
Merge pull request #12842 from lafirest/fix/iotdb
...
fix(iotdb): correctly handle undefined value of bool type
2024-04-10 09:49:16 +08:00
Serge Tupchii
fae9005f87
test(emqx_mgmt_cli): test that replicants do not join a left core node
2024-04-09 19:06:13 +03:00
Serge Tupchii
55179ccfed
chore: update ekka to 0.19.3
...
Included updates:
- https://github.com/emqx/mria/pull/178
2024-04-09 19:04:38 +03:00
Kjell Winblad
31142df5cf
fix: default value of stop_action_after_template_rendering to true
...
This commit changes the default value for the
stop_action_after_template_rendering option of the apply rule HTTP API
endpoint so that it is true instead of false.
2024-04-09 16:20:37 +02:00
Kjell Winblad
7bcd553786
test: move test case with rule_engine dep from emqx to emqx_rule_engine
2024-04-09 14:08:46 +02:00
Kjell Winblad
3898950017
test: fix test by adding dependency
2024-04-09 11:38:35 +02:00
Kjell Winblad
958748cf7f
test: fix inter test suite problem
2024-04-09 11:10:39 +02:00
JimMoen
03a9c46ca7
fix(sys_topic): format shared topics
2024-04-09 17:06:36 +08:00
JimMoen
47e0f3bb1f
fix(mgmt): $queue shared topics format in mgmt topics api
2024-04-09 17:06:32 +08:00
ieQu1
8bbfa9ca8b
Merge pull request #12839 from keynslug/feat/EMQX-12110/rebalancing-impl
...
feat(dsrepl): implement membership changes and rebalancing
2024-04-09 10:46:31 +02:00
zmstone
53b78086ed
chore: fix xref checks
2024-04-09 09:34:05 +02:00
zhongwencool
8381132919
chore: bump emqx_conf to 0.1.36
2024-04-09 14:44:11 +08:00
zhongwencool
a1495689c0
fix: clean self node's cluster commit when leave cluster
2024-04-09 14:13:25 +08:00
JimMoen
6cb00cc8c7
Merge pull request #12844 from JimMoen/EMQX-12012/cpu-use-idle-two-decimal-places
...
fix: cpu usage and idle use two decimal places
2024-04-09 10:11:15 +08:00
Andrew Mayorov
d12e907209
fix(dsrepl): correctly handle ra membership change command results
...
Before this change, results similar to `{error, {no_more_servers_to_try,
[{error, nodedown}, {error, not_member}]}}` were considered retryable
failures, which is incorrect.
2024-04-08 22:44:34 +02:00
Andrew Mayorov
3223797ae5
fix(dsrepl): attempt leadership transfer before server removal
...
This should make it much less likely to hit weird edge cases that lead
to duplicate Raft log entries because of client retries upon receiving
`shutdown` from the leader being removed.
2024-04-08 22:43:58 +02:00
Andrew Mayorov
1e95bd4da6
test(dsrepl): test unresponsive nodes removal / node restarts
2024-04-08 21:27:56 +02:00
zmstone
41677eb785
refactor: make elvis happy
2024-04-08 21:25:58 +02:00
zmstone
bf12efac6d
fix(variform): add basic tests
2024-04-08 21:08:43 +02:00
Andrew Mayorov
7a836317ac
fix(dsrepl): trigger unfinished shard transition upon startup
...
Also provide a trivial API to trigger them by hand.
2024-04-08 16:12:42 +02:00
Andrew Mayorov
75bb7f5cdc
fix(dsrepl): retry only `{add, Site}` crashed membership transitions
...
To minimize the potential negative impact of removal transitions that
crash for some unknown and unusual reasons.
2024-04-08 16:04:33 +02:00
Kjell Winblad
9628a00a82
docs(emqx_rule_api apply rule): fix doc strings
2024-04-08 15:34:29 +02:00
Thales Macedo Garitezi
ba96edb061
fix(clients api): use alternative base64 function for OTP 25
...
Fixes https://github.com/emqx/emqx/pull/12798#discussion_r1555524603
2024-04-08 10:23:10 -03:00
Kjell Winblad
600526a0e4
test(emqx_bridge_http_SUITE): test case after name change
2024-04-08 14:54:33 +02:00
Kjell Winblad
02ee873094
docs(emqx_rule_api_schema): fix type spec
2024-04-08 13:42:15 +02:00
Andrew Mayorov
4c0cc079c2
fix(dsrepl): apply unnecessary rebalancing transitions cleanly
2024-04-08 13:25:45 +02:00
Andrew Mayorov
dcde30c38a
test(dsrepl): add two more testcases for rebalancing
2024-04-08 13:22:31 +02:00
Kjell Winblad
b57725f996
test(resource_SUITE): do test case fixes needed due to rule tracing work
2024-04-08 12:41:35 +02:00
Kjell Winblad
79440064fe
style: fix problems reported by elvis
2024-04-08 11:03:55 +02:00
JianBo He
e11c4a9c83
Merge pull request #12826 from emqx/import-source-bridges
...
fix: source bridges missing after restore the backup files
2024-04-08 16:02:15 +08:00
Zaiming (Stone) Shi
3e87d4bf9f
Merge pull request #12772 from killme2008/feature/upgrade-greptimedb-ingester-ci
...
feat: update greptimedb client lib and ci version
2024-04-08 09:02:03 +02:00
JimMoen
282cbb18be
fix: cpu usage and idle use two decimal places
...
- prometheus
- opentelemetry
2024-04-08 14:14:09 +08:00
Andrew Mayorov
2ace9bb893
chore(dsrepl): sprinkle few comments and typespecs for exports
2024-04-07 22:51:56 +02:00
Andrew Mayorov
ecaad348a7
chore(dsrepl): update few outdated comments / TODOs
2024-04-07 22:51:56 +02:00
Andrew Mayorov
6293efb995
fix(dsrepl): retry crashed membership transitions
2024-04-07 22:51:56 +02:00
Andrew Mayorov
826ce5806d
fix(dsrepl): ensure that new member UID matches server's UID
...
Before that change, UIDs supplied in the `ra:add_member/3` were not
the same as those servers were using. This haven't caused any issues
for some reason, but it's better to ensure that UIDs are the same.
2024-04-07 22:31:24 +02:00
Shawn
e89dc32c90
ci: run emqx_management both with ee and ce profile
2024-04-07 18:33:52 +08:00
firest
f40e47365c
fix(iotdb): correctly handle undefined value of bool type
2024-04-07 17:26:15 +08:00
Shawn
1c81c79a2c
chore: add testcase for importing retained msgs and sources
2024-04-07 17:24:26 +08:00
Shawn
9d1a69aaa9
fix: cannot import retained messages
2024-04-07 17:03:14 +08:00
Kjell Winblad
5479932190
feat(apply rule test): make option to stop action after render work
...
This commit makes the apply rule HTTP API option to stop an action work
for the HTTP action, and adds infrastructure that makes it easy to add
this functionality to other actions.
2024-04-06 17:21:12 +02:00
Kjell Winblad
ef705c2285
feat: add apply rule API, clientid/ruleid tracing for rule and connector
...
This commit adds:
* Support for forwarding the rule id and client id to the connector so
that events such as template rendered successfully can be traced.
* HTTP API for for applying/activating a rule with the given context
2024-04-06 17:20:47 +02:00
Thales Macedo Garitezi
04ba2aaf8a
Merge pull request #12830 from thalesmg/async-channel-hc-m-20240404
...
feat(resource): non-blocking channel health checks
2024-04-05 14:24:09 -03:00
Andrew Mayorov
556ffc78c9
feat(dsrepl): implement membership changes and rebalancing
2024-04-05 18:57:28 +02:00
Andrew Mayorov
d6058b7f51
feat(dsrepl): allow to subscribe to DB metadata changes
...
Currently, only shard metadata changes are announced to the
subscribers.
2024-04-05 17:40:55 +02:00
Andrew Mayorov
a07295d3bc
fix(ds): address shards in the supervisor properly
2024-04-05 17:40:38 +02:00
ieQu1
3f7b14c861
Merge pull request #12833 from ieQu1/dev/ds-cluster-api
...
feat(ds): Add REST API for durable storage
2024-04-05 17:33:20 +02:00
ieQu1
2504b8126b
feat(ds): Pass mgmt_ds REST API calls to the application
2024-04-05 15:22:06 +02:00
ieQu1
46261440cb
feat(ds): Add a CLI for managing DB replicas
2024-04-05 15:22:06 +02:00
ieQu1
a62db08676
feat(ds): Add REST API for durable storage
2024-04-05 15:22:06 +02:00
ieQu1
d09787d1a6
fix(ds): Fix return types in replication_layer_meta
2024-04-05 15:22:06 +02:00
Ivan Dyachkov
be47fe49ad
chore: bump ecql version to 0.7.0
...
PR: https://github.com/emqx/ecql/pull/13
No functional changes, just switch gen_fsm to gen_statem.
2024-04-05 13:31:33 +02:00
Andrew Mayorov
70396e9766
Merge pull request #12825 from keynslug/feat/EMQX-12110/repl-meta-api
...
feat(dsrepl): add APIs to manage DB replication sites
2024-04-04 22:32:03 +02:00
Andrew Mayorov
df6c5b35fe
feat(dsrepl): add more primitive operations to modify DB sites
2024-04-04 21:22:49 +02:00
Andrew Mayorov
bb8ffee18c
feat(dsrepl): add API to get current DB replication sites
2024-04-04 21:22:02 +02:00
Andrew Mayorov
ad52f7838e
feat(dsrepl): add APIs to manage DB replication sites
2024-04-04 21:22:01 +02:00
Thales Macedo Garitezi
60cad74286
feat(resource): non-blocking channel health checks
...
Fixes https://emqx.atlassian.net/browse/EMQX-12015
Continuation of https://github.com/emqx/emqx/pull/12812
2024-04-04 16:13:30 -03:00
Thales Macedo Garitezi
8d58b40f33
Merge pull request #12831 from thalesmg/ds-checkpoint-clean-m-20240404
...
feat(ds): clear all checkpoints when (re)starting storage layer
2024-04-04 15:41:50 -03:00
Thales Macedo Garitezi
217b35bce5
Merge pull request #12798 from thalesmg/ds-client-api-v2-m-20240327
...
feat(client mgmt api): add cursor-based list API
2024-04-04 15:10:49 -03:00
Thales Macedo Garitezi
c57c36adb2
feat(ds): clear all checkpoints when (re)starting storage layer
...
Fixes https://emqx.atlassian.net/browse/EMQX-12143
2024-04-04 14:05:52 -03:00
Kjell Winblad
59a442cdb5
feat(rule trace): add support for ruleid as a trace type
2024-04-04 14:55:32 +02:00
Thales Macedo Garitezi
069cd4fbb4
Merge pull request #12812 from thalesmg/async-res-manager-health-check-m-20240328
...
feat(resource manager): perform non-blocking health checks
2024-04-04 09:07:02 -03:00
zmstone
0e79b543cf
refactor: move variform to emqx_utils
2024-04-04 11:10:56 +02:00
ieQu1
f37ed3a40a
fix(ds): Limit the number of retries in egress to 0
2024-04-03 16:38:49 +02:00
Shawn
319ec50c0d
fix: source bridges missing after restore the backup files
2024-04-03 18:26:51 +08:00
ieQu1
2bbfada7af
fix(ds): Make async batches truly async
2024-04-03 11:57:47 +02:00
ieQu1
92ca90c0ca
fix(ds): Improve egress logging
2024-04-03 11:57:47 +02:00
ieQu1
ae5935e7f7
test(ds): Attempt to stabilize metrics_worker tests in CI
2024-04-02 19:14:10 +02:00
ieQu1
4382971443
fix(ds): Preserve errors in the egress
2024-04-02 16:47:43 +02:00
ieQu1
94ca7ad0f8
feat(ds): Report counters for LTS storage layout
2024-04-02 16:47:43 +02:00
ieQu1
f14c253dea
fix(prometheus): Don't add DS metrics when feature is disabled
2024-04-02 16:47:43 +02:00
ieQu1
b379f331de
fix(sessds): Handle errors when storing messages
2024-04-02 16:47:41 +02:00
ieQu1
f41e538526
feat(sessds): Observe next time
2024-04-02 16:45:52 +02:00
ieQu1
b9ad241658
feat(sessds): Add metrics for the number of persisted messages
2024-04-02 16:45:52 +02:00
ieQu1
75b092bf0e
fix(ds): Actually retry sending batch
2024-04-02 16:45:49 +02:00
ieQu1
0de255cac8
feat(ds): Report egress flush time
2024-04-02 16:25:04 +02:00
ieQu1
044f3d4ef5
fix(ds): Don't reverse entries in the atomic batch
2024-04-02 16:25:04 +02:00
ieQu1
606f2a88cd
feat(ds): Add egress metrics
2024-04-02 16:25:04 +02:00
ieQu1
c9de336234
feat(ds): Add metrics worker to the builtin db supervision tree
2024-04-02 16:25:04 +02:00
ieQu1
d8204021dc
refactor(metrics): Move metrics worker to emqx_utils application
2024-04-02 16:25:04 +02:00
Thales Macedo Garitezi
2097e854fc
feat(client mgmt api): add cursor-based list API
...
Fixes https://emqx.atlassian.net/browse/EMQX-12028
2024-04-02 10:55:28 -03:00
Andrew Mayorov
778e897f1f
chore(dsrepl): describe snapshot ownership and few shortcomings
2024-04-02 13:48:51 +02:00
Andrew Mayorov
c666c65c6a
test(ds): factor out storage iteration into helper module
2024-04-02 13:48:51 +02:00
Andrew Mayorov
7cebf598a8
chore(dsrepl): simplify snapshot transfer code a bit
...
Co-Authored-By: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-04-02 13:48:51 +02:00
Andrew Mayorov
e029b8f996
test(dsrepl): wait for whole cluster readiness
...
To minimize the chance of flaky tests due to the shards not being
completely online.
Co-Authored-By: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-04-02 13:48:50 +02:00
Andrew Mayorov
e8b06a6a9f
chore(dsrepl): mark few more BPAPI targets as obsolete
2024-04-02 13:48:50 +02:00
Andrew Mayorov
d31cd0c728
feat(ds): ensure LTS state ids are deterministic
2024-04-02 13:48:50 +02:00
Andrew Mayorov
2cd357a5bd
fix(ds): ensure store batch is idempotent wrt generations
2024-04-02 13:48:50 +02:00
Andrew Mayorov
77a022bd93
feat(dsrepl): transfer storage snapshot during ra snapshot recovery
2024-04-02 13:48:49 +02:00
Andrew Mayorov
b8b9b7739b
chore(ds): slightly simplify working with storage generations
2024-04-02 13:48:08 +02:00
Andrew Mayorov
2d074df209
Merge pull request #12797 from keynslug/fix/dsrepl-error-handling
...
fix(dsrepl): handle RPC errors gracefully when storage is down
2024-04-02 13:40:31 +02:00
JimMoen
5759ba5162
chore: bump app version
2024-04-02 17:09:22 +08:00
JimMoen
50bceee9ab
fix(stats): `'subscribers.count'` contains shared-subscriber
2024-04-02 16:56:40 +08:00
JimMoen
0f4b148294
refactor: uniform shared_sub table macros
2024-04-02 16:56:39 +08:00
JimMoen
1a4cfc2a2d
fix(api_schema): removed metrics schema in api spec
...
- Followup [PR#6622](https://github.com/emqx/emqx/pull/6622 ).
2024-04-02 16:56:36 +08:00
Thales Macedo Garitezi
bade09b56e
feat(resource manager): perform non-blocking resource health checks
...
Fixes https://emqx.atlassian.net/browse/EMQX-12015
This introduces only _resource_ non-blocking health checks. _Channel_ non-blocking health
checks may be introduced later.
2024-04-01 14:46:15 -03:00
Serge Tupchii
c62410ff75
refactor: remove already bound variable
2024-04-01 17:03:50 +03:00
Serge Tupchii
ceb04ba06d
fix(emqx_mgmt): do not attempt to get a stacktrace of a remote client connection process
2024-04-01 16:42:12 +03:00
Serge Tupchii
42af1f9d63
fix: handle internal timeout errors in client Mqueue/Inflight APIs
2024-03-29 23:03:35 +02:00
Serge Tupchii
f5a820cb10
fix(emqx_mgmt): catch OOM shutdown exits properly when calling a client conn process
...
The exit reason is expected to include gen_server `Location`:
`{{shutdown, OOMInfo}, Location}`.
2024-03-29 13:09:08 +02:00
zmstone
bfca3ebc71
feat(variform): support array syntax '[' and ']'
2024-03-28 19:34:57 +01:00
zmstone
5f26e4ed5e
feat(variform): implement variform engine
2024-03-28 19:34:57 +01:00
SergeTupchiy
2e528d1dd8
Merge pull request #12802 from SergeTupchiy/EMQX-11826-prevent-left-node-from-rejoining-5.6.1
...
prevent a left node from rejoining the same cluster
2024-03-28 19:49:18 +02:00
zmstone
ad95473aae
refactor: move string functions to emqx_variform
2024-03-28 18:03:37 +01:00
Serge Tupchii
3eda182e9a
fix: prevent a node from discovering and re-joining the same cluster after it has (manually) left it.
2024-03-28 18:09:27 +02:00
zmstone
9bf65a415b
feat(variform): add a variable transformer
2024-03-28 16:11:26 +01:00
Andrew Mayorov
35c43eb8a0
feat(sessds): handle recoverable errors in stream scheduler
2024-03-28 15:17:01 +01:00
Andrew Mayorov
fa66a640c3
fix(dsrepl): handle RPC errors gracefully when storage is down
2024-03-28 15:17:01 +01:00
SergeTupchiy
63c017a72f
Merge pull request #12804 from SergeTupchiy/EMQX-12058-improve-force-shutdown-error-reason-5.6.1
...
chore: rename `message_queue_too_long` error reason to `mailbox_overflow` (5.6.1 port)
2024-03-28 16:14:51 +02:00
Thales Macedo Garitezi
8fb4ef9fe3
test: fix flaky test
2024-03-28 10:53:44 -03:00
SergeTupchiy
93c87fcb25
Merge pull request #12803 from SergeTupchiy/EMQX-11808-remove-uploaded-invalid-backups-5.6.1
...
fix(emqx_mgmt_data_backup): remove an uploaded backup file if it's not valid (5.6.1 port)
2024-03-28 15:37:10 +02:00
Ivan Dyachkov
9b4d960888
chore: prepare for 5.7.x releases
2024-03-28 13:52:48 +01:00
Thales Macedo Garitezi
04bf763890
fix(kafka-based bridges): avoid trying to get raw config for replayq dir
...
Fixes https://emqx.atlassian.net/browse/EMQX-12049
2024-03-28 09:13:34 -03:00
ieQu1
b1855f95c1
fix(bpapi): Add exceptions for experimental features
2024-03-28 12:07:45 +01:00
ieQu1
8c6d8bdd12
fix(bpapi): Add exceptions for experimental features
2024-03-28 12:03:41 +01:00
Serge Tupchii
906a77d167
chore: rename `message_queue_too_long` error reason to `mailbox_overflow`
...
`mailbox_overflow` is consistent with the corresponding config parameter:
'force_shutdown.max_mailbox_size'
2024-03-28 12:56:00 +02:00
Serge Tupchii
1d1f595e6f
fix(emqx_mgmt_data_backup): remove an uploaded backup file if it's not valid
2024-03-28 12:54:51 +02:00
ieQu1
02b72d79fc
fix(bpapi): Fix comparison of releases during compatibility check
2024-03-28 11:21:30 +01:00
Ivan Dyachkov
db9efb9317
chore: bump apps versions
2024-03-28 10:19:09 +01:00
Ivan Dyachkov
f4446ec680
Merge remote-tracking branch 'upstream/release-56' into 0328-sync-release-56
2024-03-28 09:59:54 +01:00
Ivan Dyachkov
ea917d6b2b
Merge pull request #12795 from id/0327-cut-5.6.0
...
chore: 5.6.0
2024-03-28 09:30:08 +01:00
Ilya Averyanov
11bc1aeea1
fix: update hstreamdb driver
2024-03-28 10:30:48 +03:00
JimMoen
cf29f97440
revert: "test: comment out hstreamdb:stop_client"
...
This reverts commits:
3536b32ad2b126c27a1b0bd91e615069230931d7..
d63f10928d
2024-03-28 14:32:18 +08:00
JimMoen
34b5cd7bfd
chore: reuse hstream_erl `0.5.18+v0.18.1`
...
- change ezstd dep vsn for bulid
2024-03-28 14:31:10 +08:00
JianBo He
d63f10928d
test: comment out hstreamdb:stop_client
2024-03-28 13:25:01 +08:00
JianBo He
3536b32ad2
ci: print the failed stacktrace
2024-03-28 11:17:26 +08:00
JianBo He
d7917d05c6
chore: upgrade hstreamdb to 0.5.22+v0.18.1
2024-03-28 10:11:53 +08:00
ieQu1
a279a399db
ci: Override ezstd dependency
2024-03-27 20:54:46 +01:00
ieQu1
4b3c29ded8
fix(bpapi): Add 5.5 dump
2024-03-27 17:39:38 +01:00
Zaiming (Stone) Shi
beb9152d50
Merge pull request #12750 from zmstone/0316-introduce-client-attrs
...
0316 introduce client_attrs
2024-03-27 16:19:47 +01:00
ieQu1
5ed20e15cd
fix(bpapi): Add 5.5 bpapi file
2024-03-27 13:45:00 +01:00
Thales Macedo Garitezi
df0c67fe50
Merge pull request #12787 from thalesmg/mv-api-examples-m-20240326
...
docs(message validation): add swagger API examples
2024-03-27 09:06:58 -03:00
Ivan Dyachkov
33d9619271
chore: 5.6.0
2024-03-27 11:17:13 +01:00
Serge Tupchii
a3b730ff10
fix(emqx_session_mem): keep msg inflight insert timestamp in Inflight after retry
2024-03-27 11:31:51 +02:00
JianBo He
4f9daa0d4a
chore: bump version to 5.6.0-rc.6
2024-03-27 14:04:27 +08:00
JianBo He
d82b6d216d
chore: remove the duplicated time field
...
Fixes https://emqx.atlassian.net/browse/EMQX-12104
2024-03-27 12:09:21 +08:00
Ivan Dyachkov
f127bf53b3
chore: 5.6.0-rc.5
2024-03-26 17:52:57 +01:00
ieQu1
291cf689e2
Merge pull request #12786 from ieQu1/dev/check-core-emqx-vsn
...
fix(mria): Strictly check compatibility of the replicant with core
2024-03-26 17:49:37 +01:00
ieQu1
ba43da1b8e
fix(mria): Strictly check compatibility of the replicant with core
2024-03-26 16:32:01 +01:00
Thales Macedo Garitezi
da4a04c411
Merge pull request #12777 from thalesmg/test-flaky-conf-copy-m-20240325
...
test: attempt to fix flaky test
2024-03-26 11:52:12 -03:00
zmstone
78c5f8177c
test: fix test case
2024-03-26 14:51:21 +01:00
Thales Macedo Garitezi
10a43db742
docs(message validation): add swagger API examples
...
Fixes https://emqx.atlassian.net/browse/EMQX-12102
2024-03-26 09:39:05 -03:00
zmstone
067f018337
test: fix test cases
2024-03-26 13:36:12 +01:00
zmstone
b1c9bb63d7
chore: delete dead code
...
hocon schema validator never validates 'undefined'
2024-03-26 13:20:48 +01:00
zmstone
c42e980442
feat(log): configurable time format
...
now logs can be configured to use 'epoch' or 'rfc3339' time format
2024-03-26 13:09:32 +01:00
Thales Macedo Garitezi
cc37030265
Merge pull request #12770 from thalesmg/mv-metrics-m-20240321
...
feat(message validation): implement metrics
2024-03-26 08:59:05 -03:00
zhongwencool
56a40d61ae
fix: bpapi undef abort on old node
2024-03-26 13:06:56 +08:00
Ivan Dyachkov
2ae973821f
chore: 5.6.0-rc.4
2024-03-25 20:00:10 +01:00
Zaiming (Stone) Shi
b06d3932af
Merge pull request #12768 from keynslug/fix/EMQX-12068/routing-schema-conflict
...
fix(routing): add heuristic for routing schema in empty cluster
2024-03-25 19:50:51 +01:00
Thales Macedo Garitezi
6259f95aab
test: attempt to fix flaky test
...
```
expected: {ok,<<...>>}
got: {error,enoent}
line: 187
comment: #{node => 'emqx_conf_app_SUITE9@127.0.0.1'}
```
2024-03-25 14:36:22 -03:00
Thales Macedo Garitezi
0f426e6e77
feat(ds): make durable sessions handle will messages
...
Fixes https://emqx.atlassian.net/browse/EMQX-10431
2024-03-25 14:18:25 -03:00
Thales Macedo Garitezi
8c1a1d21a7
feat(session): pass will message down to session when creating/opening
2024-03-25 14:18:23 -03:00
Dennis Zhuang
64eeeb7494
chore: verify status code
2024-03-25 10:05:39 -07:00
ieQu1
8b963d5960
Merge pull request #12739 from ieQu1/dev/zone-durability
...
feat(sessds): Add zone overrides for session durability settings
2024-03-25 17:32:53 +01:00
zmstone
b8b0b809b4
chore: add a warning log if conflict is detected
2024-03-25 17:07:56 +01:00
zmstone
9411d6078e
docs: remove unnecessary restart instruction
2024-03-25 16:50:51 +01:00
zmstone
d38545010a
fix: case_clause
2024-03-25 16:43:24 +01:00
Ivan Dyachkov
c93145cb97
fix: function clause
2024-03-25 16:40:53 +01:00
zmstone
3aff9eb2a4
fix(route schema): allow boot if all peer nodes agree on one version
2024-03-25 16:33:27 +01:00
Ivan Dyachkov
fe3cc25855
chore: update instructions for routing schema conflict
2024-03-25 15:22:43 +01:00
Thales Macedo Garitezi
59ff43ec87
feat(message validation): implement metrics
...
Fixes https://emqx.atlassian.net/browse/EMQX-12071
2024-03-25 10:55:01 -03:00
Kjell Winblad
94c6e5bb38
Merge pull request #12727 from kjellwinblad/kjell/emqx_connector_info/EMQX-11427
...
refactor: add emqx_connector_info behavior
2024-03-25 14:31:40 +01:00
Andrew Mayorov
849fe0c2c8
feat(routing): add schema conflict resolution procedure
...
In the log message printed when a schema conflict in cluster routing
is detected.
2024-03-25 13:43:46 +01:00
Thales Macedo Garitezi
f393d75a1e
Merge pull request #12771 from thalesmg/test-another-flaky-monitor-m-20240322
...
test: attempt to fix flaky test
2024-03-25 09:19:20 -03:00
Kjell Winblad
e39fa5eaa9
docs(es_connector_info): add copyright header
2024-03-25 10:44:33 +01:00
JimMoen
3e97e5528e
Merge pull request #12765 from JimMoen/EMQX-12043/subscribers-count
...
fix(stats): `'subscribers.count'` contains shared-subscriber
2024-03-25 17:19:13 +08:00
JimMoen
5f7f9e43f9
fix(stats): `'subscribers.count'` contains shared-subscriber
2024-03-25 15:12:57 +08:00
zhongwencool
2926518b3d
Merge pull request #12764 from zhongwencool/fix-bpapi-undef
...
fix: bpapi undef on old node
2024-03-25 13:37:37 +08:00
zmstone
df913f2450
docs: refine changelog
2024-03-23 14:11:30 +01:00
zmstone
22838f027a
fix: mountpoint template render should not replace unknown as undefined
...
For backward compatibility, the unknown vars used in mountpoint
is kept unchanged.
e.g. '${unknown}/foo/bar' should be rendered as '${unknown}/foo/bar'
but not 'undefined/foo/bar'
2024-03-23 10:16:05 +01:00
zmstone
3136ec5958
feat: allow mountpoint to use client_attrs
2024-03-23 10:16:05 +01:00
zmstone
8e8fc6a3d1
test: fix config test
2024-03-23 10:16:05 +01:00
zmstone
5e9814d171
fix: add debug level logging for invalid client attributes
2024-03-23 10:16:05 +01:00
zmstone
0cf61932b6
feat: allow using client_attrs in authentication templates
2024-03-23 10:16:05 +01:00
zmstone
8254b801ae
feat: support initialize client attribute from user property
2024-03-23 10:16:02 +01:00
zmstone
2fd0a2cd4d
feat: support extracting initial client attrs from clientinfo
2024-03-23 10:16:02 +01:00
zmstone
c75840306b
fix: restrict client_attr key and value string format
...
The keys and values are used to render templates for
authz rules, such as topic names, and SQL statements etc.
2024-03-23 10:16:02 +01:00
zmstone
9ec99fef4a
feat: allow client_attr used in authz rules
2024-03-23 10:16:02 +01:00
zmstone
e5816f5a13
refactor: rename attr to client_attr
...
client_attr is unique enough for all contexts
so the name can be unified from external responses
to internal template rendering, and rule-engine template rendering
2024-03-23 10:16:02 +01:00
zmstone
cc4805b1ac
feat: extract attrs field from http and jwt auth response
2024-03-23 10:16:02 +01:00
zmstone
f9d51484cc
feat: introuce attrs field in clientinfo
...
the 'attrs' field is to be used as extra attributes extracted
from various client properties
for example, HTTP auth result can return an extra client_attributes
field in the result which will get merged into the original
attrs field in clientinfo
2024-03-23 10:16:02 +01:00
Dennis Zhuang
ef0fee52f4
fix: query_by_clientid with v0.7 sql api
2024-03-22 17:09:23 -07:00
Dennis Zhuang
1fcd06f4bc
feat: update greptimedb client lib and ci version
2024-03-22 15:33:15 -07:00
Thales Macedo Garitezi
303d0ed81b
test: attempt to fix flaky test
2024-03-22 16:29:00 -03:00
SergeTupchiy
70378052dd
Merge pull request #12769 from SergeTupchiy/EMQX-12058-handle-client-shutdown-errors
...
fix:(emqx_mgmt): handle client shutdown errors in call_client
2024-03-22 17:43:57 +02:00
Andrew Mayorov
cbc84900b2
chore: update bpapi versions dump
2024-03-22 16:24:52 +01:00
Ivan Dyachkov
9986de49d1
chore: make dyalizer happy
2024-03-22 16:16:49 +01:00
Ivan Dyachkov
be1886fb91
chore: make dyalizer happy and update changelog
2024-03-22 15:56:44 +01:00
Serge Tupchii
ed0b5ac939
fix(emqx_mgmt): handle client shutdown errors in call_client
...
The client process may be shutdown normally during/shortly before the call.
2024-03-22 16:47:02 +02:00
Andrew Mayorov
b81a11b790
chore(routing): mark function that is now an RPC target
2024-03-22 15:14:53 +01:00
Andrew Mayorov
ba276d807f
fix(routing): add heuristic for routing schema in empty cluster
...
When the cluster is empty but comprised of different versions of EMQX,
try to additionally ask the cluster nodes for the routing schema in use,
to be able to make more informed decisions.
2024-03-22 15:14:32 +01:00
Thales Macedo Garitezi
bc5775a988
fix(kafka_producer): handle ancient v1 config when migrating to actions
...
Fixes https://emqx.atlassian.net/browse/EMQX-12064
2024-03-22 09:45:27 -03:00
Serge Tupchii
d2a1a7f7cf
chore: rename `message_queue_too_long` error reason to `mailbox_overflow`
...
`mailbox_overflow` is consistent with the corresponding config parameter:
'force_shutdown.max_mailbox_size'
2024-03-22 12:20:20 +02:00
JimMoen
42faffc320
refactor: uniform shared_sub table macros
2024-03-22 18:03:13 +08:00
zhongwencool
45eedbb9c6
fix: bpapi undef on old node
2024-03-22 17:02:09 +08:00
Kjell Winblad
2b684c7bcc
fix(emqx_connector_info): refactoring based on thalesmg's comments
2024-03-22 09:29:26 +01:00
Serge Tupchii
5d77e1b01e
fix: return not_implemented error for mqueue/inflight msgs queries
2024-03-22 10:02:31 +02:00
JimMoen
9b085b5797
fix(api_schema): removed metrics schema in api spec
...
- Followup [PR#6622](https://github.com/emqx/emqx/pull/6622 ).
2024-03-22 10:57:14 +08:00
Thales Macedo Garitezi
23ad37f566
Merge pull request #12762 from thalesmg/ds-fix-sync-egress-reply-m-20240321
...
fix(ds): add caller to pending replies before flushing and reply failures to sync callers
2024-03-21 16:42:42 -03:00
Thales Macedo Garitezi
cfd4a1297f
Merge pull request #12761 from thalesmg/test-fix-flaky-dash-mon-m-20240321
...
test: fix flaky test
2024-03-21 16:04:08 -03:00
Thales Macedo Garitezi
e17f663fa5
Merge pull request #12749 from thalesmg/mv-followup1-m-20240320
...
Follow up features and fixes for message validation - part 1
2024-03-21 16:03:49 -03:00
Thales Macedo Garitezi
796c04e7a8
test: fix flaky test
...
We should emit the trace event before replying to callers.
Example failure:
https://github.com/emqx/emqx/actions/runs/8378977952/job/22946318696#step:6:182
```
=CRITICAL REPORT==== 21-Mar-2024::17:45:37.676024 ===
"check stage" failed: error
{assertMatch,[{module,emqx_ds_storage_bitfield_lts_SUITE},
{line,270},
{expression,"? of_kind ( emqx_ds_replication_layer_egress_flush , Trace )"},
{pattern,"[ # { batch := [ _ , _ , _ ] } ]"},
{value,[]}]}
Stacktrace: [{emqx_ds_storage_bitfield_lts_SUITE,
'-t_atomic_store_batch/1-fun-1-',1,
[{file,
"/__w/emqx/emqx/apps/emqx_durable_storage/test/emqx_ds_storage_bitfield_lts_SUITE.erl"},
{line,270}]},
{emqx_ds_storage_bitfield_lts_SUITE,t_atomic_store_batch,1,
[{file,
"/__w/emqx/emqx/apps/emqx_durable_storage/test/emqx_ds_storage_bitfield_lts_SUITE.erl"},
{line,249}]}]
```
2024-03-21 15:47:29 -03:00
Thales Macedo Garitezi
68af211130
fix(ds): reply sync callers after raft store failure
2024-03-21 15:40:21 -03:00
Thales Macedo Garitezi
70737a437a
fix(ds): add caller to pending replies before flushing
2024-03-21 14:39:21 -03:00
Ivan Dyachkov
93c80bc912
chore: 5.6.0-rc.3
2024-03-21 18:10:59 +01:00
Thales Macedo Garitezi
fa7ec231e3
test: fix flaky test
2024-03-21 14:07:09 -03:00
SergeTupchiy
e2a2295c99
Merge pull request #12759 from SergeTupchiy/EMQX-11808-remove-uploaded-invalid-backups
...
fix(emqx_mgmt_data_backup): remove invalid uploaded backup files
2024-03-21 18:58:48 +02:00
Thales Macedo Garitezi
00aa7b5621
feat: create new `message.validation_failed` hookpoint and rule engine event
2024-03-21 13:46:27 -03:00
Thales Macedo Garitezi
7d7c6685d4
Merge pull request #12753 from thalesmg/test-flaky-retry-m-20240321
...
test: attempt to stabilize flaky test
2024-03-21 13:43:51 -03:00
Serge Tupchii
40eccb10d6
fix(emqx_mgmt_data_backup): remove an uploaded backup file if it's not valid
2024-03-21 17:36:39 +02:00
Kjell Winblad
4bfc51c052
refactor(emqx_connector_info): improve documentation and type specs
2024-03-21 16:08:31 +01:00
Andrew Mayorov
7d6fde5960
fix(topics-api): respond with correct totals to paged queries
2024-03-21 16:02:16 +01:00
Thales Macedo Garitezi
e837791f94
fix(kafka-based bridges): avoid trying to get raw config for replayq dir
...
Fixes https://emqx.atlassian.net/browse/EMQX-12049
2024-03-21 11:49:00 -03:00
Thales Macedo Garitezi
64399b6861
test: attempt to stabilize flaky test
2024-03-21 11:04:14 -03:00
Kjell Winblad
89befa580e
refactor(emqx_connector_info): remove code that is no longer needed
2024-03-21 11:58:54 +01:00
ieQu1
cada944350
feat(sessds): Expose relevant durable session info in the REST API
2024-03-21 10:37:04 +01:00
Kjell Winblad
a3b75eb39d
refactor(remaining connectors): to use emqx_connector_info
...
This commit refactors the sqlserver, iotdb, elasticsearch, opents,
greptimedb, pulsar, tdengine, rabbitmq and s3 connectors to use the
`emqx_connector_info` behavior.
2024-03-21 09:47:57 +01:00
Thales Macedo Garitezi
62030e8942
feat(message validation): forbid repeated schema checks
...
Fixes https://emqx.atlassian.net/browse/EMQX-12054
2024-03-20 15:26:16 -03:00
Thales Macedo Garitezi
b8cd1c9020
feat(message validation api): add enable/disable HTTP API
2024-03-20 14:59:32 -03:00
Thales Macedo Garitezi
4944cc080e
feat(message_validation): add `ignore` failure action
2024-03-20 14:31:43 -03:00
Thales Macedo Garitezi
8753e3583f
feat(message_validation): add `none` log level
2024-03-20 14:31:26 -03:00
Thales Macedo Garitezi
e767f01e0a
fix(message_validation): take `enable` into account
2024-03-20 13:57:12 -03:00
Thales Macedo Garitezi
7aa287c6c1
fix: add message validation schema to `emqx_enterprise_schema`
2024-03-20 13:37:01 -03:00
Ivan Dyachkov
49e0488498
chore: 5.6.0-rc.2
2024-03-20 17:11:37 +01:00
Zaiming (Stone) Shi
bede5a5b85
Merge pull request #12746 from zmstone/0320-add-throttle-log-for-auth-failure
...
feat: add authentication_failure throttled log
2024-03-20 17:06:36 +01:00
SergeTupchiy
27c1f1a4e4
Merge pull request #12732 from SergeTupchiy/EMQX-11861-client-mqueue-inflight-API-updates
...
EMQX-11861 client mqueue inflight api updates
2024-03-20 16:27:44 +02:00
Andrew Mayorov
7257fe526b
fix(ci): add `ra` to emqx app dependencies as well
2024-03-20 14:46:53 +01:00
zmstone
90fce21adc
docs: add change log for #12746
...
also updated #12520 to include newly added throttled log id
2024-03-20 14:43:28 +01:00
zmstone
38e30622f3
chore(license): add LICENSE tag to logs
2024-03-20 14:42:01 +01:00
zmstone
2c81b56377
feat: add authentication_failure throttled log
...
also included changes:
1. add 'username' to log metadata
2. add 'tag' to authz warning logs
2024-03-20 14:42:01 +01:00
Zaiming (Stone) Shi
e5f9e7631d
Merge pull request #12736 from zmstone/0319-json-schema-draft-06-as-default-version
...
chore: upgrade to jesse 1.8.0 for draft-06 as default version
2024-03-20 14:39:37 +01:00
Kjell Winblad
27d109ce6d
refactor(syskeeper connector): to use emqx_connector_info
...
This commit refactors the syskeeper connector to use the
`emqx_connector_info` behavior.
2024-03-20 14:29:02 +01:00
Serge Tupchii
cb5fdb3c79
fix: rework In-flight / Mqueue API
...
- use timestamp 'position' to find the next chunk of data
- add 'start' position to response meta
- sort In-flight messages by insertion time
- sort Mqueue messages by priority
2024-03-20 15:25:33 +02:00
Kjell Winblad
188ab71673
refactor(rocketmq connector): to use emqx_connector_info
...
This commit refactors the rocketmq connector to use the
`emqx_connector_info` behavior.
2024-03-20 14:02:18 +01:00
Kjell Winblad
aa368bb9d0
refactor(redis connector): to use emqx_connector_info
...
This commit refactors the redis connector to use the
`emqx_connector_info` behavior.
2024-03-20 13:49:28 +01:00
Kjell Winblad
12717baa0b
refactor(mqtt connector): to use emqx_connector_info
...
This commit refactors the mqtt connector to use the
`emqx_connector_info` behavior.
2024-03-20 13:33:13 +01:00
Andrew Mayorov
e55e1dd1b2
chore: whitelist `ra` to make RPCs w/o BPAPIs
2024-03-20 13:20:25 +01:00
Andrew Mayorov
a8baff61ec
docs(dsrepl): describe briefly what `n_sites` is for
2024-03-20 13:20:25 +01:00
Andrew Mayorov
efac5c6197
test(ds): stabilize `t_message_gc` testcase
2024-03-20 13:20:25 +01:00
Andrew Mayorov
fe50a1711b
fix(ds-egress): drop pending batch on failures
...
Before this commit, messages in the current batch will be retried as
part of next batch. This could have led to message duplication which is
probably not what the user wants by default.
2024-03-20 13:20:25 +01:00
Andrew Mayorov
a1f5de3f5b
fix(dsrepl): turn memoize into a safer function
2024-03-20 13:20:24 +01:00
Andrew Mayorov
d39ca41070
chore(dsrepl): mark per-node `add_generation` RPC target obsolete
...
Also annotate internal exports with comments according with their
intended use.
2024-03-20 13:20:24 +01:00
Andrew Mayorov
35b18f9125
fix(dsrepl): properly handle error conditions in generation mgmt
...
Also update few outdated typespecs. Also make error reasons easier
to comprehend.
2024-03-20 13:20:24 +01:00
Andrew Mayorov
f2268aa69a
fix(dsrepl): use correct base dir for ra system stuff
...
Co-Authored-By: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-03-20 13:20:24 +01:00
Andrew Mayorov
404e919494
refactor(dsrepl): make shard allocator more robust and consistent
...
Co-Authored-By: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-03-20 13:20:24 +01:00
Andrew Mayorov
0e18bd6e80
fix(dsrepl): increase replication site id bitsize back
...
In order to minimize chances of site id collision to practically zero.
2024-03-20 13:20:24 +01:00
Andrew Mayorov
ac9700dd28
fix(dsrepl): split shard allocator into a separate module
2024-03-20 13:20:23 +01:00
Andrew Mayorov
1b647035d0
chore(dsrepl): make dialyzer a bit happier
2024-03-20 13:20:23 +01:00
Andrew Mayorov
611b3f0e07
feat(dsrepl): use more straightforward way to drop ra shards
2024-03-20 13:20:23 +01:00
Andrew Mayorov
74881e8706
feat(dsrepl): make storage layer unaware of granularity of time
...
Storage also becomes a bit more pure, depending on the upper layer to
provide the timestamps, which also makes it possible to handle more
operations idempotently.
2024-03-20 13:20:23 +01:00
ieQu1
783f769a98
fix(mgmt): Fix bulk kickout of durable sessions
2024-03-20 12:52:44 +01:00
Kjell Winblad
223bbc05fe
refactor(mysql connector): to use emqx_connector_info
...
This commit refactors the mysql connector to use the
`emqx_connector_info` behavior.
2024-03-20 11:12:38 +01:00
Kjell Winblad
c6d7c57bbd
refactor(clickhouse connector): to use emqx_connector_info
...
This commit refactors the clickhouse connector to use the
`emqx_connector_info` behavior.
2024-03-20 10:59:58 +01:00
Kjell Winblad
afa3da6d0d
refactor(cassandra connector): to use emqx_connector_info
...
This commit refactors the cassandra connector to use the
`emqx_connector_info` behavior.
2024-03-20 10:50:44 +01:00
Kjell Winblad
159ab81904
refactor(influxdb connector): to use emqx_connector_info
...
This commit refactors the influxdb connector to use the
`emqx_connector_info` behavior.
2024-03-20 10:39:16 +01:00
Kjell Winblad
c1e6092013
refactor(oracle connector): to use emqx_connector_info
...
This commit refactors the oracle connector to use the
`emqx_connector_info` behavior.
2024-03-20 10:12:55 +01:00
JimMoen
808efe0f64
chore: rm outdated comment
2024-03-20 16:49:36 +08:00
JimMoen
b8b4c5a34a
fix(otel): cpu usage/idle metrics for opentelemetry
2024-03-20 16:48:21 +08:00
ieQu1
0547b32727
feat(sessds): Add zone overrides for session durability settings
2024-03-19 22:51:06 +01:00
ieQu1
611e4f6710
Merge pull request #12740 from ieQu1/dev/kick-durable-sessions
...
fix(sessds): Channel must destroy sessions that are kicked
2024-03-19 21:30:40 +01:00
Andrew Mayorov
e2db038e7c
Merge pull request #12734 from keynslug/fix/EMQX-12030/topics-api
...
fix(api-topics): expose persistent session topics in APIs
2024-03-19 21:08:23 +01:00
Andrew Mayorov
3cb36a5619
feat(ds-lts): extract timestamp from storage key itself
...
1. This avoids the need to deserialize the message to get the timestamp.
2. It also makes possible to decouple the storage key timestamp from the
message timestamp, which might be useful for replication purposes.
2024-03-19 20:21:56 +01:00
Andrew Mayorov
5cc0246351
feat(dsrepl): allow to tune select ra options
2024-03-19 20:21:55 +01:00
Andrew Mayorov
54b5adf868
feat(dsrepl): allocate shards predictably
...
To ensure strictly optimal and fair shard allocation across
cluster. Before this commit it was quite easy to end up with
an allocation significantly skewed towards some node, because
of the nature of randomness and relatively small number of
shards.
2024-03-19 20:21:55 +01:00
Andrew Mayorov
d30c99512a
feat(utils-stream): add a few more stream combinators
2024-03-19 20:21:54 +01:00
Andrew Mayorov
887e151be5
fix(dsrepl): handle errors gracefully in shard egress process
...
Also add cooldown on timeout / unavailability.
2024-03-19 20:21:53 +01:00
Andrew Mayorov
e16aee99b4
chore(dsrepl): clarify how to perform leadership transfer in runtime
2024-03-19 20:21:18 +01:00
Andrew Mayorov
00d509f27b
feat(dsrepl): prefer local replica in read path
...
To optimize out any unnecessary RPCs. Given the load should be
smoothed evenly across the cluster, choosing non-leader node is
not a priority.
2024-03-19 20:11:42 +01:00
Andrew Mayorov
19305c223c
fix(dsrepl): require majority for replication-related tables
2024-03-19 20:11:42 +01:00
Andrew Mayorov
f89909f60c
fix(dsrepl): tolerate trigger election timeouts for existing servers
2024-03-19 20:11:42 +01:00
Andrew Mayorov
6c6ea50e42
fix(boot): add `emqx_durable_storage` to the list of restarted apps
2024-03-19 20:11:42 +01:00
Andrew Mayorov
3b59cf2ebf
feat(dsrepl): move shard allocation to separate process
...
That starts shard and egress processes only when shards are fully
allocated.
2024-03-19 20:11:41 +01:00
Andrew Mayorov
4dafbf21f6
fix(dsrepl): make db + shard part of machine state
...
It doesn't feel right, but right now is the easiest way to have it
in the scope of `apply/3`, because `init/1` doesn't actually invoked
for ra machines recovered from the existing log / snapshot.
2024-03-19 20:11:41 +01:00
Andrew Mayorov
d19128ed65
feat(dsrepl): cache shard metadata in persistent terms
2024-03-19 20:11:41 +01:00
Andrew Mayorov
e6c2c2fb07
feat(dsrepl): manage generations / db config through ra machine
2024-03-19 20:11:39 +01:00
Andrew Mayorov
5e94bdb932
feat(dsrepl): allocate shards once predefined number of sites online
...
Before this commit the most likely shard allocation outcome was
that all shard are allocated to just one node.
2024-03-19 20:11:03 +01:00
Andrew Mayorov
be793e4735
fix(dsrepl): reassign timestamp at the time of submission
...
This is needed to ensure total message order for a shard, and
guarantee that no messages will be written "in the past". which
may break replay consistency.
2024-03-19 20:11:01 +01:00
Andrew Mayorov
146f082fdc
feat(dsrepl): implement raft-based replication
...
Still very rough but mostly working.
2024-03-19 20:09:44 +01:00
Ivan Dyachkov
923fd0a2a6
Merge pull request #12737 from id/0319-sync-release56
...
sync release-56
2024-03-19 19:09:41 +01:00
Andrew Mayorov
f453bdf055
chore(topic-api): describe `emqx_persistent_session_ds_router:stream/1`
2024-03-19 18:51:06 +01:00
Andrew Mayorov
027b237f07
test(ds): stabilize `t_session_replay_retry` testcase
2024-03-19 18:33:38 +01:00
ieQu1
236685f714
fix(sessds): Channel must destroy sessions that are kicked
2024-03-19 17:49:04 +01:00
Kjell Winblad
df8c7152fc
refactor(mongodb connector): to use emqx_connector_info
...
This commit refactors the mongodb connector to use the
`emqx_connector_info` behavior.
2024-03-19 16:09:30 +01:00
Kjell Winblad
c3d7d68cfc
refactor(kinesis,pgsql,timescale,matrix connectors): emqx_connector_info
...
This commit refactors the kinesis, pgsql, timescale and matrix
connectors to use the `emqx_connector_info` behavior.
2024-03-19 15:57:23 +01:00
Ivan Dyachkov
f2dc940436
Merge remote-tracking branch 'upstream/release-56' into 0319-sync-release56
2024-03-19 15:20:08 +01:00
Thales Macedo Garitezi
a689ae72e3
Merge pull request #12711 from thalesmg/data-validation-m-20240311
...
feat: implement message validation
2024-03-19 11:12:28 -03:00
Andrew Mayorov
10ea367030
test(client-api): attempt to get rid of inter-testcase side effects
2024-03-19 14:56:50 +01:00
Andrew Mayorov
3129a8fa42
test(client-api): fix snabbkaffe crash noise in the CT logs
2024-03-19 14:55:28 +01:00
zmstone
b8505ebd54
chore: upgrade to jesse 1.8.0 for draft-06 as default version
2024-03-19 14:47:11 +01:00
Kjell Winblad
a3e631cda2
refactor(kafka connectors): to use emqx_connector_info
...
This commit refactors the `emqx_bridge_kafka` to use the
`emqx_connector_info` behavior. The `emqx_bridge_kafka` related
information can thus be removed from `emqx_connector_chema` and
`emqx_connector_resource`.
2024-03-19 14:41:23 +01:00
Kjell Winblad
b8ef357fef
refactor(http connector): to use emqx_connector_info
...
This commit refactors the `emqx_bridge_http` to use the
`emqx_connector_info` behavior. The `emqx_bridge_http` related
information can thus be removed from `emqx_connector_chema` and
`emqx_connector_resource`.
2024-03-19 14:41:23 +01:00
Kjell Winblad
dc08fab0e8
refactor(hstreamdb connector): to use emqx_connector_info
...
This commit refactors the `emqx_bridge_hstreamdb` to use the
`emqx_connector_info` behavior. The `emqx_bridge_hstreamdb` related
information can thus be removed from `emqx_connector_ee_schema` and
`emqx_connector_schema`.
2024-03-19 14:41:20 +01:00
Kjell Winblad
d0bebe8b93
refactor(gcp_pubsub connectors): to use emqx_connector_info
...
This commit refactors the emqx_bridge_gcp_pubsub app to use the
emqx_connector_info behavior. The emqx_bridge_gcp_pubsub
related information can thus be removed from emqx_connector_ee_schema
and emqx_connector_schema.
2024-03-19 14:40:33 +01:00
Kjell Winblad
76d32b6e97
refactor(confluent connector): to use emqx_connector_info
...
This commit refactors the emqx_bridge_confluent to use the
emqx_connector_info behavior. The emqx_bridge_confluent related
information can thus be removed from emqx_connector_ee_schema and
emqx_connector_schema.
2024-03-19 14:39:43 +01:00
Kjell Winblad
795b668c4f
refactor(azure_event_hub connector): to use emqx_connector_info
...
This commit refactors the emqx_bridge_azure_event_hub to use the
emqx_connector_info behavior. The emqx_bridge_azure_event_hub related
information can thus be removed from emqx_connector_ee_schema and
emqx_connector_schema.
2024-03-19 14:39:17 +01:00
Thales Macedo Garitezi
c478e375f6
refactor: change failure log configuration schema
2024-03-19 10:04:18 -03:00
JianBo He
c7db157ecd
Merge pull request #12735 from zhongwencool/fix-ban-crash
...
fix: don't crash when ban ip error
2024-03-19 20:57:54 +08:00
Thales Macedo Garitezi
2eac54bf54
chore: rm `move` API
...
Only `reorder` API will be supported, after discussions with product and frontend teams.
2024-03-19 09:55:55 -03:00
SergeTupchiy
92fd0e453a
Merge pull request #12719 from SergeTupchiy/EMQX-11900-multiple-clientid-username-clients-API
...
Support multiple clientid/username Qs params in clients API
2024-03-19 14:44:39 +02:00
Andrew Mayorov
e1b3263177
fix(sessds): make dialyzer a tad happier
2024-03-19 13:11:32 +01:00
JianBo He
24c04e715d
Merge pull request #12715 from zhongwencool/fix-source-replace-error
...
fix: cant replace source conf
2024-03-19 19:32:47 +08:00
zhongwencool
111cbbbe3c
fix: don't crash when ban ip error
2024-03-19 19:10:36 +08:00
zhongwencool
d7c01a4fe0
fix: cant replace source conf
2024-03-19 18:53:51 +08:00
Andrew Mayorov
985f1c4879
fix(api-topics): expose persistent session topics in APIs
2024-03-19 11:01:26 +01:00
zhongwencool
9a44c6712a
fix: otel metrics create view crash
2024-03-19 12:20:49 +08:00
Thales Macedo Garitezi
e8a8416e44
feat(message_validation): impose restrictions on validation name
2024-03-18 15:57:39 -03:00
Thales Macedo Garitezi
74c03377f2
feat(message_validation_api): implement `reorder` API
2024-03-18 14:30:52 -03:00
Thales Macedo Garitezi
bcb7fe96d5
refactor: remove ambiguity from api
...
In preparation for the "reorder" API
2024-03-18 13:20:05 -03:00
Thales Macedo Garitezi
96ffc9b174
refactor: export `schema_check` fn from schema registry
2024-03-18 13:11:39 -03:00