Commit Graph

11058 Commits

Author SHA1 Message Date
Andrew Mayorov
35bf805504
test(exhook): update and simplify testsuites setup 2024-02-13 21:02:39 +01:00
Andrew Mayorov
ece1c6c6dc
test(prometheus): update and simplify testsuites setup 2024-02-13 20:36:23 +01:00
Andrew Mayorov
a64850a84b
test(sso): update and simplify testsuites setup 2024-02-13 20:36:23 +01:00
Andrew Mayorov
b15e81baf2
test(slowsub): update and simplify testsuite setup 2024-02-13 20:36:23 +01:00
Andrew Mayorov
d0e507eba4
test(trie): fix testsuite setup 2024-02-13 20:36:22 +01:00
Andrew Mayorov
841fdea124
test(conf): update and simplify some testcases 2024-02-13 20:36:22 +01:00
Andrew Mayorov
0a9cbe3080
test(license): update and simplify tests 2024-02-13 20:36:22 +01:00
Andrew Mayorov
24dfa41722
feat(cth-suite): use cheaper heuristic for schema modules 2024-02-13 20:36:22 +01:00
Andrew Mayorov
8f2a4f7b19
fix(cth-suite): use cheaper check for loaded applications 2024-02-13 20:36:22 +01:00
Andrew Mayorov
82a4e6ef68
feat(psk): manage mria tables explicitly during startup
Also switch test suite to `emqx_cth_suite` tooling.
2024-02-13 20:36:22 +01:00
Andrew Mayorov
b07df487f0
feat(modules): manage mria tables explicitly during startup 2024-02-13 20:36:22 +01:00
Andrew Mayorov
b6d77c164e
feat(emqx-mgmt): manage mria tables explicitly during startup 2024-02-13 20:36:22 +01:00
Andrew Mayorov
21780e2126
feat(emqx-conf): manage mria tables explicitly during startup 2024-02-13 20:36:21 +01:00
Andrew Mayorov
8f7b0ac498
docs(jt808): fix doc references 2024-02-13 16:27:41 +01:00
Kjell Winblad
366827390e
Merge pull request #12488 from kjellwinblad/kjell/refactor/rocketmq_bridge/EMQX-11467
feat: refactor RocketMQ bridge to connector and action
2024-02-13 16:19:21 +01:00
Andrew Mayorov
0e1d27c836
fix(gateway): avoid scanning modules of known gateway apps
Since the set of known gateways is already predefined in `emqx_gateway_utils`
it makes no sense to scan over all modules just to find out the same set of
modules. Cutting out this scanning saves few seconds per each `emqx_conf`
application startup, which is especially noticeable when running tests.
2024-02-13 15:13:36 +01:00
Andrew Mayorov
6fbb6f6846
Merge pull request #12506 from keynslug/fix/EMQX-11830/recoverable
fix(s3-bridge): handle recoverable AWS errors
2024-02-13 12:44:23 +01:00
Andrew Mayorov
eff149e676
feat(emqx-auth-mnesia): manage mria tables explicitly during startup 2024-02-12 19:17:22 +01:00
Andrew Mayorov
21a5751575
feat(emqx): manage mria tables explicitly during startup 2024-02-12 19:17:09 +01:00
Andrew Mayorov
a4eac75b25
fix(s3-bridge): handle recoverable AWS errors 2024-02-12 18:20:03 +01:00
Ilya Averyanov
edd28be090
Merge pull request #12499 from savonarola/0209-emqx-banned-extended-rules
feat(banned): allow ban by clientid/username regexps, peerhost cidrs
2024-02-12 17:12:47 +02:00
Andrew Mayorov
a9fdf9f1f9
Merge pull request #12495 from keynslug/ft/EMQX-11830/s3-bridge-simple
feat(s3): introduce S3 connector and action
2024-02-12 16:05:22 +01:00
Andrew Mayorov
2b1231b980
fix(s3-bridge): ensure bridge and connector names are identical 2024-02-12 13:46:54 +01:00
Andrew Mayorov
0edc5b5992
docs(s3): fix README example 2024-02-12 10:44:18 +01:00
Kjell Winblad
976099f5fb fix: cleanups due to problems found by @thalesmg 2024-02-12 10:16:17 +01:00
Zaiming (Stone) Shi
d4fb3e83f6 chore: upgrade to wolff 1.10.2
Wolff 1.10.2 added an enhancement which makes Kafka resource health
checks more lightweight and lowers the chance of false resource alerts.
2024-02-12 09:05:44 +01:00
Ilya Averyanov
90fd2b26d3 feat(banned): allow ban by clientid/username regexps, peerhost cidrs 2024-02-10 17:59:22 +03:00
Andrew Mayorov
0515c5528f test: add facility for starting emqx_dashboard with emqx_cth_suite 2024-02-09 14:29:04 -03:00
Andrew Mayorov
c108262771
chore(s3-bridge): use emqx_connector_schema helper for brewity 2024-02-09 16:08:33 +01:00
Serge Tupchii
8ac8d14abd chore(emqx_mongodb): bump app vsn to 0.1.6 2024-02-09 16:29:42 +02:00
Serge Tupchii
c3b7d76102 perf: un-deprecate mongodb topology pool_size and set it to 10 by default
Benchmarks proved that it effects performance:
10 ecpool workers / 10 topology pool workers outperform
100 ecpool / 1 topology worker.

Fixes: EMQX-11825
2024-02-09 16:28:53 +02:00
Serge Tupchii
e248cd6c66 perf: upgrade mongodb-erlang to v3.0.23
Fixes: EMQX-11825
2024-02-09 16:18:32 +02:00
Andrew Mayorov
f476f4343b
fix(release): add emqx_bridge_s3 to applications list 2024-02-09 14:16:32 +01:00
Andrew Mayorov
2a4e37869e
fix(dashboard): provide full context in startup errors 2024-02-09 14:16:32 +01:00
Andrew Mayorov
802c760406
feat(s3): introduce S3 connector and action
This is a trivial connector based on `emqx_s3` and simple action
that maps each incoming event into an S3 object upload. Due to
current `emqx_s3` limitation this bridge is compatible with
backends providing S3 API with path-style bucket access.
2024-02-09 14:16:32 +01:00
SergeTupchiy
755b59b7fe
Merge pull request #12494 from SergeTupchiy/EMQX-11825-mongodb-connector-perf
Improve mongodb connector performance
2024-02-09 13:12:12 +02:00
Zaiming (Stone) Shi
cbebc59115
Merge pull request #12492 from zmstone/0208-fix-return-receive-maximum-in-connack
fix(emqx_channel): return Receive-Maximum in CONNACK when no error
2024-02-09 12:08:46 +01:00
Andrew Mayorov
8f66bd9ddf
fix(s3-client): make log levels saner 2024-02-09 12:03:41 +01:00
Andrew Mayorov
4ff04ab1f3
feat(s3): separate concepts to make app reusable in bridges 2024-02-09 12:03:41 +01:00
Zaiming (Stone) Shi
a74c828e19 test: add test case to cover Receive-Maximum in CONNACK 2024-02-09 10:42:48 +01:00
Andrew Mayorov
a5266f68ec
feat(s3): switch schema to use secrets with loader support
This will make applications using `emqx_s3` follow the same
conventions as bridges and support loading secrets from files
at runtime.
2024-02-08 22:43:20 +01:00
Serge Tupchii
1d9ce709f4 perf: un-deprecate mongodb topology pool_size and set it to 10 by default
Benchmarks proved that it effects performance:
10 ecpool workers / 10 topology pool workers outperform
100 ecpool / 1 topology worker.

Fixes: EMQX-11825
2024-02-08 20:39:19 +02:00
Serge Tupchii
c9ee5addb4 perf: upgrade mongodb-erlang to v3.0.23
Fixes: EMQX-11825
2024-02-08 20:00:26 +02:00
Thales Macedo Garitezi
64367d834b test(bridge_v2): actually check schema 2024-02-08 13:39:31 -03:00
Zaiming (Stone) Shi
cf22692c74 fix(emqx_channel): return Receive-Maximum in CONNACK when no error 2024-02-08 17:05:16 +01:00
Kjell Winblad
e284a83f73 feat: refactor RocketMQ bridge to connector and action
Fixes:
https://emqx.atlassian.net/browse/EMQX-11467
2024-02-08 16:21:58 +01:00
zhongwencool
a0f8e4f328 test: rafator rabbitmq test SUITE, delete redundance code 2024-02-08 12:38:18 +08:00
zhongwencool
90ba2977fe feat: don't publish mqtt message in rabbitmq's source 2024-02-08 12:38:18 +08:00
ieQu1
811edb32a2
Merge pull request #12485 from ieQu1/dev/ds-fix-unsubscribe
fix(ds): Fix unsubscribe logic related to the replay
2024-02-07 21:38:25 +01:00
ieQu1
19c6d1127f
refactor(sessds): Extract subscription mgmt logic to separate module 2024-02-07 15:27:11 +01:00
ieQu1
3000a8f286
fix(sessds): Postpone deletion of the subscription until fully acked 2024-02-07 14:51:02 +01:00
lafirest
3f13aed3de
Merge pull request #12481 from lafirest/fix/action_info
fix(tdengine): remove redundant codes
2024-02-06 11:39:25 +08:00
zhongwencool
eace8f2fcb
Merge pull request #12423 from zhongwencool/rabbitmq-e560
feat: rabbitmq bridge v2 integration
2024-02-06 09:55:05 +08:00
ieQu1
30eb54e86b fix(sessds): Delay unsubscribe until full ack of in-flight messages 2024-02-06 02:49:07 +01:00
ieQu1
a9c55f7568 feat(sessds): Consider #srs with only QoS0 messages fully acked 2024-02-06 02:49:07 +01:00
zhongwencool
d3db53626b
Merge pull request #12483 from zmstone/0205-docs-fix-typos
Improve emqx ctl conf cluster_sync CLI and help text
2024-02-06 09:11:35 +08:00
zhongwencool
3e599e5d8e chore: add maybe feature enable on rabbitmq_bridge 2024-02-06 07:57:13 +08:00
zhongwencool
e3cb49db8e chore: add copyright header 2024-02-06 07:57:13 +08:00
zhongwencool
688701eedb chore: add desc for rabbitmq source 2024-02-06 07:57:13 +08:00
zhongwencool
b444c82a42 feat: rabbitmq bridge v2 integration 2024-02-06 07:57:12 +08:00
ieQu1
280fcd8c52
Merge pull request #12437 from ieQu1/dev/optimize_make_filter
Optimize emqx_ds_bitmask_keymapper:make_filter function.
2024-02-05 17:32:28 +01:00
ieQu1
4665837cf0 fix(ds): Apply review remarks 2024-02-05 16:52:06 +01:00
Zaiming (Stone) Shi
d7b0456bb0 feat: rename emqx ctl cluster_sync 'tnxid' to 'inspect' 2024-02-05 16:50:55 +01:00
Thales Macedo Garitezi
e5b14a38ed
Merge pull request #12472 from thalesmg/fix-bridgev2-api-multicall-m-20240202
fix(bridge_v2_api): avoid calling nodes that do not support minimum bpapi
2024-02-05 10:28:28 -03:00
ieQu1
c7888ad1f1
Merge pull request #12475 from ieQu1/dev/lean-stream
Use a more compact data structure to represent streams
2024-02-05 13:55:24 +01:00
Thales Macedo Garitezi
e1ff276d76
Merge pull request #12471 from thalesmg/fix-config-upgrade-m-20240202
fix(config): apply config upgrade to deprecated configs
2024-02-05 09:05:12 -03:00
firest
b4a6be0e7c fix(tdengine): remove redundant codes 2024-02-05 18:50:31 +08:00
lafirest
571786b6c5
Merge pull request #12480 from lafirest/fix/td_v1_schema
fix(tdengine): keep the bridge schema still compatible with v1
2024-02-05 18:17:55 +08:00
ieQu1
698ba3f271 fix(ds): Optimize emqx_ds_bitmask_keymapper:make_filter
This optimization makes idle polling faster
2024-02-05 10:54:19 +01:00
ieQu1
8edbec5929 refactor(ds): Clarify the language used in ds_bitmapper 2024-02-05 10:54:18 +01:00
Zaiming (Stone) Shi
75023f2ca3
Merge pull request #12442 from ieQu1/dev/ds-license-apache
Relicense apps/emqx_durable_storage under Apache 2.0
2024-02-05 10:16:52 +01:00
firest
4a2c5a3161 fix(tdengine): keep the bridge schema still compatible with v1 2024-02-05 13:22:17 +08:00
zhongwencool
f7b0d1bc9d chore: add duplicated key assert in swagger.json 2024-02-04 11:53:37 +08:00
JimMoen
b1150a5f88
fix(schema): bridge oracle connector schema 2024-02-04 10:53:13 +08:00
ieQu1
2e2f3cb2aa fix(sessds): Avoid stream hash collisions 2024-02-03 21:15:54 +01:00
ieQu1
2e56810ea2 refactor(ds): Use a simple improper list to represent the streams 2024-02-03 21:15:54 +01:00
Thales Macedo Garitezi
76d242df9b fix(bridge_v2_api): avoid calling nodes that do not support minimum bpapi
Fixes https://emqx.atlassian.net/browse/EMQX-11834
2024-02-02 17:36:08 -03:00
Thales Macedo Garitezi
76401a302a fix(config): apply config upgrade to deprecated configs
Fixes https://emqx.atlassian.net/browse/EMQX-11845

Fixes https://github.com/emqx/emqx/issues/12452
2024-02-02 15:12:08 -03:00
Ivan Dyachkov
ed8660cb68
Merge pull request #12458 from id/0202-sync-release-55
sync release-55
2024-02-02 17:20:38 +01:00
SergeTupchiy
81433282be
Merge pull request #12467 from SergeTupchiy/autocluster-dns-aaaaa-record-type
feat(emqx_conf): support AAAA cluster dns record type
2024-02-02 18:13:06 +02:00
Zaiming (Stone) Shi
b1a05c7b59
Merge pull request #12326 from zmstone/0111-unregister-session-with-timestamp
0111 unregister session with timestamp
2024-02-02 17:00:23 +01:00
ieQu1
e0b5d9fae7
Merge pull request #12464 from ieQu1/dev/feat-ds-cli
feat(ds): Add a CLI interface to inspect status of DS databases
2024-02-02 14:14:48 +01:00
Serge Tupchii
5e0c3d4051 feat(emqx_conf): support AAAA cluster dns record type
Ekka autocluster DNS already supports AAAA records, so it's only needed to update enum in schema.
2024-02-02 12:13:29 +02:00
Kjell Winblad
fa0baf2f38
Merge pull request #12439 from kjellwinblad/kjell/refactor/oracle_bridge/EMQX-11464
feat: refactor Oracle bridge to connector and action
2024-02-02 10:53:15 +01:00
Ivan Dyachkov
84b6d7d720 fix: remove 5.5.bpapi2 file 2024-02-02 10:38:50 +01:00
ieQu1
3d2ac97c61 feat(ds): Add a CLI interface to inspect status of DS databases 2024-02-02 10:11:01 +01:00
Zaiming (Stone) Shi
f0569d8ae8 refactor: use mria:async_dirty to group dirty ops 2024-02-02 09:26:43 +01:00
lafirest
24d8a9ab00
Merge pull request #12449 from lafirest/feat/td
feat(tdengine): improve the TDengine bridge to v2 style
2024-02-02 16:17:01 +08:00
Ivan Dyachkov
dd490de2e1 chore: emqx 5.5.0 2024-02-02 08:48:56 +01:00
Ivan Dyachkov
f1c7e716ce chore: 5.5.0-rc.2 2024-02-02 08:48:56 +01:00
JianBo He
9aad7997ca chore: compatible the contet-type sytanx 2024-02-02 08:48:56 +01:00
Ivan Dyachkov
dae3a94670 chore: 5.5.0-rc.1 2024-02-02 08:48:56 +01:00
lafirest
c724d2127e
Merge pull request #12457 from lafirest/fix/opentsdb
fix(opents): change the schema of tags to object style
2024-02-02 15:33:50 +08:00
JimMoen
17d79026cd
test: fix emqx_connector_schema eunit missing fields 2024-02-02 14:43:25 +08:00
firest
5291adf2c0 fix(opents): change the schema of tags to object style 2024-02-02 13:07:49 +08:00
JimMoen
1a372ce39a
fix(swagger): no-need call common_fields when emqx_connector_schema:api_fields/3 used 2024-02-02 10:54:49 +08:00
firest
2241461acb chore: update change & bump version 2024-02-02 07:48:44 +08:00
Kjell Winblad
af3f43ffd5
fix: use emqx_resource macro for status
Thanks for the suggestion @thalesmg

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-02-01 17:24:25 +01:00
ieQu1
98d1094d73 feat(sessds): Expose subscriptions in the REST API 2024-02-01 16:47:57 +01:00
Kjell Winblad
016fbd2c5c chore: remove commented out code 2024-02-01 16:18:37 +01:00
firest
dfad020c49 feat(tdengine): improve the TDengine bridge to v2 style 2024-02-01 23:14:24 +08:00
Kjell Winblad
a4272c71dc feat: refactor Oracle bridge to connector and action
Fixes:
https://emqx.atlassian.net/browse/EMQX-11464
2024-02-01 16:03:05 +01:00
Ilya Averyanov
ae1ef9d1bb
Merge pull request #12428 from savonarola/0130-simplify-boot-machine-runtime-deps
chore(emqx_machine): refactor injecting runtime deps
2024-02-01 16:32:53 +02:00
William Yang
80ff1b1657
Merge pull request #12434 from qzhuyan/fix/william/kafka-dont-stacktrace-when-no-partiion-count
kafka-bridge: dont stacktrace when no partition count
2024-02-01 15:09:45 +01:00
Zaiming (Stone) Shi
3e518c1876
Merge pull request #12427 from zmstone/0130-limit-kafka-partitions
0130 limit kafka partitions
2024-02-01 14:39:52 +01:00
Ilya Averyanov
6a092aeb69 chore(emqx_machine): refactor injecting runtime deps
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-02-01 16:13:49 +03:00
William Yang
16444b7da9 fix(bridge-kafka): no stacktrace when fetch topic partition count fail 2024-02-01 14:09:15 +01:00
Ivan Dyachkov
3ad71f75e6 chore: emqx 5.5.0 2024-02-01 11:07:02 +01:00
zhongwencool
42a4bc3382
Merge pull request #12435 from zhongwencool/dont-add-disable-resource-to-connector
fix: don't add disable bridge to connector's channel
2024-02-01 10:39:47 +08:00
JianBo He
0d5911d942
Merge pull request #12422 from zhongwencool/upgrade-erlfmt-to-v1.3.0
feat: upgrade erlfmt to support maybe syntax
2024-02-01 09:34:33 +08:00
zhongwencool
f9d16340e0 fix: don't add disable bridge to connector's channel 2024-02-01 09:12:43 +08:00
ieQu1
139f5dc3bd chore(ds): Remove an obsolete document; superceded by ./README.md 2024-02-01 00:14:08 +01:00
ieQu1
b50d6bf1fd chore(ds): Change the license to Apache 2.0
Due to technicalities parts of the original code were licensed under
BSL.
In preparations for the public release of the feature, the license has
been changed to Apache 2.0
2024-02-01 00:10:48 +01:00
Thales Macedo Garitezi
f7b12470dd test(ds): fix inter-suite flakiness
Attempt to mitigate this frequent source of flakiness:

```
=CRASH REPORT==== 31-Jan-2024::17:30:15.025404 ===
  crasher:
    initial call: emqx_ds_replication_layer_egress:init/1
    pid: <0.11312.0>
    registered_name: []
    exception error: no match of right hand side value {error,
                                                        no_leader_for_shard}
      in function  emqx_ds_replication_layer_egress:init/1 (/emqx/apps/emqx_durable_storage/src/emqx_ds_replication_layer_egress.erl, line 93)
      in call from gen_server:init_it/2 (gen_server.erl, line 980)
      in call from gen_server:init_it/6 (gen_server.erl, line 935)
    ancestors: [<0.11310.0>,<0.11304.0>,emqx_ds_builtin_databases_sup,
                  emqx_ds_builtin_sup,emqx_ds_sup,<0.11236.0>]
    message_queue_len: 0
    messages: []
    links: [<0.11310.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 376
    stack_size: 28
    reductions: 231
  neighbours:
```
2024-01-31 15:42:26 -03:00
Thales Macedo Garitezi
d51deac222 fix(ds): use configured data dir for site storage 2024-01-31 15:42:26 -03:00
Zaiming (Stone) Shi
3b6fbff9a5 test: fix compile warnings 2024-01-31 19:32:57 +01:00
Zaiming (Stone) Shi
3b42a7425b feat(kafka_producer): add partitions_limit 2024-01-31 19:26:01 +01:00
Zaiming (Stone) Shi
53c217c383 refactor: micro optimization 2024-01-31 19:25:57 +01:00
Ilya Averyanov
b3657f1892
Merge pull request #12436 from savonarola/0131-fix-stream-replay
fix(sessds): fix renew stream logic
2024-01-31 18:25:17 +02:00
Ivan Dyachkov
3f71a98e5e chore: 5.5.0-rc.2 2024-01-31 17:06:54 +01:00
lafirest
a60aeed539
Merge pull request #12398 from lafirest/feat/api-docs
feat(dashboard): expose the `swagger_support` option
2024-01-31 23:31:56 +08:00
Ilya Averyanov
fe46434687 fix(sessds): fix renew stream logic 2024-01-31 18:02:29 +03:00
Kjell Winblad
2680fae9b6
Merge pull request #12420 from kjellwinblad/kjell/fix/kinesis/refactoring/problems/thanks_HJianBo
fix: kinesis schema problems found by @HJianBo
2024-01-31 15:52:45 +01:00
zhongwencool
e9c8446d57 feat: upgrade erlfmt to support maybe syntax 2024-01-31 20:06:49 +08:00
JianBo He
b787f28d27 chore: compatible the contet-type sytanx 2024-01-31 17:49:46 +08:00
Zaiming (Stone) Shi
38047108a4 test: add test coverage for emqx_cm_registry_keeper module 2024-01-31 09:50:12 +01:00
Zaiming (Stone) Shi
209331ad33 test: fix config test 2024-01-31 09:50:12 +01:00
Zaiming (Stone) Shi
87a2368e37 feat(metrics): add cluster_session guage 2024-01-31 09:50:12 +01:00
Zaiming (Stone) Shi
509ab6f35a feat(api): add /sessions_count api to count sessions 2024-01-31 09:50:12 +01:00
Zaiming (Stone) Shi
562a2736ae feat: add broker root to hot-config schema 2024-01-31 09:50:12 +01:00
Zaiming (Stone) Shi
e9318752e6 feat: store session unregistration timestamp in emqx_cm_registry table 2024-01-31 09:50:12 +01:00
Ilya Averyanov
5bc67cb288
Merge pull request #12432 from ieQu1/ds_ignore_fully_replayed_streams
fix(sessds): Stream scheduler must ignore fully replayed streams
2024-01-31 09:51:49 +02:00
firest
13df7fa46e fix(dashboard): add test case & update change 2024-01-31 14:14:56 +08:00
ieQu1
e843d9fd91 fix(sessds): Stream scheduler must ignore fully replayed streams 2024-01-31 00:20:54 +01:00
Ivan Dyachkov
a2ba8fc645 chore: 5.5.0-rc.1 2024-01-30 18:58:00 +01:00
Kjell Winblad
274f378c6e
fix: better delete of local_topic as suggested by @thalesmg
Co-authored-by:  Thales Macedo Garitezi <thalesmg@gmail.com>

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-01-30 17:53:32 +01:00
lafirest
c7f1e44513
Merge pull request #12424 from lafirest/fix/opentsdb
feat(opentsdb): supports more flexible tags schema
2024-01-30 22:05:30 +08:00
Zaiming (Stone) Shi
55fdc83aa5 Merge remote-tracking branch 'origin/release-55' into 0130-syn-release-55-to-master 2024-01-30 12:06:43 +01:00
JianBo He
c0674913e2
Merge pull request #12421 from HJianBo/fix-import-users
fix(user_import): ensure the last record overwrites previous one
2024-01-30 18:49:35 +08:00
firest
81f96f1a68 feat(opentsdb): supports more flexible tags schema 2024-01-30 18:43:39 +08:00
SergeTupchiy
03ff6f2ddf
Merge pull request #12410 from SergeTupchiy/EMQX-11812-subscribe-performance-degraded
perf(emqx_broker): pick broker pool worker by topic/shard pair to dis…
2024-01-30 11:48:59 +02:00
Xinyu Liu
db3f285054
Merge pull request #12417 from emqx/port-msg-expiry-interval-from44
feat: configurable server side message_expiry_interval
2024-01-30 17:10:32 +08:00
Shawn
206af96a33 ci: update testcases for message-expiry-interval 2024-01-30 15:46:11 +08:00
JianBo He
4190682a16 chore: fix the data type and example value for cluster invitation result 2024-01-30 15:29:46 +08:00
JianBo He
aedfc8e8c0 fix(user_import): ensure the last record overwrites previous one 2024-01-30 14:14:20 +08:00
JianBo He
35c4ef2ee2
Merge pull request #12407 from zmstone/0126-script-to-update-bsl-license-convert-time
0126 script to update bsl license convert time
2024-01-30 09:54:34 +08:00
JianBo He
4688b36cdf
Merge pull request #12396 from HJianBo/import_user_2
feat(import_users): support user's password in plain text
2024-01-30 09:00:00 +08:00
Serge Tupchii
5007650bd2 perf(emqx_broker): pick broker pool worker by topic/shard pair to distribute the load more evenly.
Fixes: EMQX-11812
2024-01-29 20:57:10 +02:00
Thales Macedo Garitezi
cf0465dad4
Merge pull request #12411 from thalesmg/fix-cassandra-null-r55-20240126
fix(cassandra_bridge): correctly insert null values into columns
2024-01-29 14:09:12 -03:00
Kjell Winblad
b849b08dbc fix: kinesis schema problems found by @HJianBo
This commit fixes problems in schema found by @HJianBo here:

https://github.com/emqx/emqx/pull/12376#pullrequestreview-1848306286
2024-01-29 18:08:53 +01:00
ieQu1
7ee0a6aaa4
Merge pull request #12414 from ieQu1/dev/ds-readme
doc(ds): Update README
2024-01-29 18:01:03 +01:00
Zaiming (Stone) Shi
82403167c2 chore: update BSL license change date 2024-01-29 16:47:31 +01:00
Thales Macedo Garitezi
47f61ba68a fix(cassandra_bridge): correctly insert null values into columns
Fixes https://emqx.atlassian.net/browse/EMQX-11822
2024-01-29 11:32:00 -03:00
ieQu1
cb90d3c90c
Merge pull request #12415 from ieQu1/dev/remove-ds-conf-module
fix(ds): Remove unused module
2024-01-29 12:56:04 +01:00
Shawn
9f22c2c455 ci: add some sleep and retry to emqx_persistent_session_ds_SUITE 2024-01-29 18:18:18 +08:00
JianBo He
d12335c4c6 chore: add tests 2024-01-29 18:10:42 +08:00
JianBo He
d286b7e28c
Merge pull request #12404 from thalesmg/fix-action-metric-handler-r55-20240126
fix(resource_metrics): avoid detaching handler on crashes
2024-01-29 17:51:04 +08:00
Shawn
12da3c0986 feat: configurable server side message_expiry_interval 2024-01-29 17:29:52 +08:00
Ivan Dyachkov
fa6d65887d test(retainer): fix test cases 2024-01-29 08:42:36 +01:00
Ivan Dyachkov
e4b8d79444 fix(retainer): add default delivery rate in the schema 2024-01-29 08:04:58 +01:00
JianBo He
ab99a17c99 chore(utils_stream): simplfy the csv reader implementation 2024-01-29 11:10:50 +08:00
JianBo He
2e35024df1 test: update eunit tests 2024-01-29 10:49:07 +08:00
JianBo He
9915c85b0b chore(authn_mnesia): use emqx_utils_stream module to imporve reusability 2024-01-29 10:49:07 +08:00
JianBo He
8fc8106819 test: cover password_type and new data format 2024-01-29 10:49:07 +08:00
JianBo He
829887630d test: refine existed test cases 2024-01-29 10:49:07 +08:00
JianBo He
fed512689a chore: make elvis checking happy 2024-01-29 10:49:07 +08:00
JianBo He
e65cfb836c feat(import_users): support user's password in plain text 2024-01-29 10:49:07 +08:00
ieQu1
2479e1189a fix(ds): Remove unused module 2024-01-29 00:36:13 +01:00
ieQu1
96c527541b docs(ds): Update README 2024-01-28 20:27:20 +01:00
Zaiming (Stone) Shi
dbe2baa405
Merge pull request #12408 from zmstone/sync-release-55
Sync release 55
2024-01-27 19:20:58 +00:00
ieQu1
2c6a776318 fix(sessds): Stricter checks for PacketIds 2024-01-26 17:49:33 +01:00
ieQu1
eec56b0d6b fix(sessds): Improve comments 2024-01-26 17:49:33 +01:00
ieQu1
3c451c6ae6 test(sessds): Fix unstable tests 2024-01-26 17:49:33 +01:00
ieQu1
2d23212792 refactor(sessds): #ifs -> #srs 2024-01-26 17:49:33 +01:00
ieQu1
974760d331 test(sessds): Don't trap exits in the test 2024-01-26 17:49:33 +01:00
ieQu1
ebe2339810 fix(sessds): Use mria:async_dirty instead of transaction 2024-01-26 17:49:33 +01:00
ieQu1
f5b9bd30aa fix(sessds): Apply review remarks 2024-01-26 17:49:33 +01:00
ieQu1
39857626ce test(sessds): Fix failing tests 2024-01-26 17:49:33 +01:00
ieQu1
e7b03cdc59 test(sessds): Create a property-based test for the session state 2024-01-26 17:49:33 +01:00
ieQu1
893656f092 fix(sessds): Fix session garbage collection after the refactoring 2024-01-26 17:49:33 +01:00
ieQu1
963df8f941 fix(sessds): Delete the routes when the session expires 2024-01-26 17:49:33 +01:00
ieQu1
cff6c15e13 fix(sessds): Store the QoS as the MSB of the packet ID 2024-01-26 17:49:33 +01:00
ieQu1
978a3bfef3 refactor(sessds): Simplify representation of QoS tracks 2024-01-26 17:49:33 +01:00
ieQu1
1b4f69b44d refactor(sessds): Simplify data structure of ds_state pmap datatype 2024-01-26 17:49:33 +01:00
ieQu1
4f4831fe7f refactor(sessds): Factor out stream scheduler into its own module 2024-01-26 17:49:33 +01:00
ieQu1
82ef34998a feat(sessds): Index streams by a unique subid 2024-01-26 17:49:33 +01:00
ieQu1
3fb2064ea4 test(sessds): Add property-based tests for seqno generator 2024-01-26 17:49:33 +01:00
ieQu1
8e8d3af096 fix(sessds): Refactor emqx_persistent_session_ds to use CRUD module 2024-01-26 17:49:33 +01:00
ieQu1
2d08aa88d8 refactor(ds): Create a CRUD module for the persistent session 2024-01-26 17:49:33 +01:00
Thales Macedo Garitezi
6410f5a717 fix(resource_metrics): avoid detaching handler on crashes
Fixes https://emqx.atlassian.net/browse/EMQX-11821
2024-01-26 13:05:41 -03:00
Zaiming (Stone) Shi
2a40152721 Merge remote-tracking branch 'origin/release-55' into sync-release-55 2024-01-26 16:51:13 +01:00
William Yang
933c00c7ad
Merge pull request #12392 from qzhuyan/perf/william/ws-no-utf8-validate
perf: new ws listener option to disable UTF-8 validation
2024-01-26 16:01:04 +01:00
ieQu1
0933dc818e chore(ekka): Bump version to 0.18.4
Don't escalate the errors in etcd node discovery to the node level.

Fixes: #12255
2024-01-26 14:25:16 +01:00
Serge Tupchii
a56a5e9c3c chore: add copyright 2024-01-26 11:01:53 +02:00
Serge Tupchii
2d693402c5 refactor: split greptimedb bridge to actions and connectors 2024-01-26 11:01:53 +02:00
William Yang
726302ef6a perf: new ws listener option to disable UTF-8 validation 2024-01-26 09:55:17 +01:00
JimMoen
2e37f7514a
fix(prom_stats): compatibility with previous api format in json mode 2024-01-26 16:01:32 +08:00
JimMoen
308cde53b9
fix(prom_stats): merge cl_consistented data into per nodes data 2024-01-26 11:39:20 +08:00
JianBo He
e29a80d568
Merge pull request #12388 from qzhuyan/dev/william/per-listn-conn-cnt
feat: quic per listener conn count
2024-01-26 09:01:39 +08:00
Thales Macedo Garitezi
590746ddfa
Merge pull request #12400 from thalesmg/ds-fix-data-dir-schema-m-20240125
fix(ds): don't make data dir part of the schema
2024-01-25 15:52:11 -03:00
Thales Macedo Garitezi
8e31afe6c2 fix(ds): don't make data dir part of the schema
The data directory was ending up being persisted in the database schema.  This led to
issues when opening the DB on different nodes.
2024-01-25 14:44:06 -03:00
lafirest
0b6aee0ae9
Merge pull request #12393 from lafirest/fix/iotdb
fix(iotdb): change the `data` field to optional
2024-01-25 23:00:36 +08:00
firest
c37097a150 feat(dashboard): expose the swagger_support option 2024-01-25 22:58:16 +08:00
Kjell Winblad
5bf37cbe0a
Merge pull request #12376 from kjellwinblad/kjell/kinesis
feat: refactor kinesis bridge to connector and action
2024-01-25 14:58:40 +01:00
Thales Macedo Garitezi
b5567d9d9f
Merge pull request #12389 from thalesmg/ci-peer-cover-m-20240124
ci: start/flush cover when using peer
2024-01-25 10:00:50 -03:00
Kjell Winblad
2887a05ba3 refactor: simplify emqx_bridge_kinesis (thanks to @thalesmg's tips) 2024-01-25 12:48:31 +01:00
JimMoen
4dca1ef848
fix(prom_di): compatibility with bridge_v1 2024-01-25 19:37:15 +08:00
JimMoen
7b041683bb
fix(prom_di): action enable and status 2024-01-25 19:36:40 +08:00
JimMoen
beeedd33d1
fix(prom_mria): mria_data in init_acc 2024-01-25 19:36:39 +08:00
JimMoen
58b60181d7
fix(prom_mria): move mria callback into emqx_prometheus.erl
- they will return in same api endpoint.
2024-01-25 19:36:38 +08:00
Kjell Winblad
cfad0923cf chore: use macros for connector and action status atoms 2024-01-25 11:50:01 +01:00
firest
01f374d8e5 fix(iotdb): change the data field to optional 2024-01-25 18:29:41 +08:00
zhongwencool
3b0736fc67
Merge pull request #12387 from thalesmg/sync-r55-m-20240124
sync release-55 to master
2024-01-25 17:35:41 +08:00
zhongwencool
4f8accc31b
Merge branch 'master' into sync-r55-m-20240124 2024-01-25 16:09:05 +08:00
ieQu1
aeefbe9544 fix(ds): Cache database metadata in RAM 2024-01-25 16:01:44 +08:00
Thales Macedo Garitezi
846ad42a65 fix(ds): don't use env var for data dir default value
Fixes https://github.com/emqx/emqx/pull/12380
2024-01-25 16:01:44 +08:00
Thales Macedo Garitezi
024ffe2909 test(ds): reduce flakiness 2024-01-25 16:01:44 +08:00
Thales Macedo Garitezi
9003bc5b72 perf(ds): inherit only LTS paths containing wildcards when adding a new generation
Fixes https://github.com/emqx/emqx/pull/12338#discussion_r1462139499
2024-01-25 16:01:44 +08:00
Shawn
e4c683d6f8 chore: update ecql to 0.6.0 2024-01-25 16:01:44 +08:00
Shawn
5cd9f49558 ci: update generated connector name 2024-01-25 16:01:44 +08:00
Shawn
6a21766ce3 refactor: split cassandra bridges to actions and connectors 2024-01-25 16:01:44 +08:00
Shawn
497e735bf4 ci: add env vars to run cassandra tests locally 2024-01-25 16:01:43 +08:00
zhongwencool
186e1591df chore: document api-key path api only support bearerAuth 2024-01-25 16:01:43 +08:00
firest
b44420c14f fix(opentsdb): Enhanced the type support for template data 2024-01-25 16:01:43 +08:00
firest
83a8822798 chore(opents): bump version && update changes 2024-01-25 16:01:43 +08:00
firest
dad8a32e0b feat(opents): improve the OpentsDB bridge to v2 style 2024-01-25 16:01:43 +08:00
Thales Macedo Garitezi
878c9ee8b1 fix(ds): do not count persistent session-only routed messages as dropped
Fixes https://emqx.atlassian.net/browse/EMQX-11539
2024-01-25 16:01:43 +08:00
Thales Macedo Garitezi
d323fc7c27 feat(ps): add message gc 2024-01-25 16:01:43 +08:00
Thales Macedo Garitezi
7c0d37fdb9 feat(lts): inherit previous generation's lts when possible 2024-01-25 16:01:43 +08:00
Thales Macedo Garitezi
4a0fd756ae feat(ds): add list_generations and drop_generation APIs 2024-01-25 16:01:43 +08:00
Thales Macedo Garitezi
fb39e1eacc feat(ds): allow customizing the data directory
The storage expectations for the RocksDB DB may be different from our usual data
directory.  Also, it may consume a lot more storage than other data.

This allows customizing the data directory for the builtin DS storage backend.

Note: if the cluster was already initialized using a directory path, changing that config
will have no effect.  This path is currently persisted in mnesia and used when reopening
the DB.
2024-01-25 16:01:42 +08:00
JianBo He
51d32bd620 chore: improve http connector logs format 2024-01-25 16:01:42 +08:00
Ilya Averyanov
adf22f1f10 fix(mqtt_bridge): render valid messages from incomplete rule data 2024-01-25 16:01:42 +08:00
Serge Tupchii
a8c6280a5e test(emqx_cm_SUITE): use one helper function: emqx_pool:flush_async_tasks/1 2024-01-25 16:01:42 +08:00
Serge Tupchii
f52cc93d9d perf(emqx_cm): use a dedicated pool for channel cleanup
This is to isolate channels cleanup from other async tasks (like routes cleanup),
as channels cleanup can be quite slow under high network latency conditions.

Fixes: EMQX-11743
2024-01-25 16:01:42 +08:00
JianBo He
52a7b45d97 fix: upgrade ekka to 0.18.3 to ensure the leader correct 2024-01-25 14:47:59 +08:00
zhongwencool
3bc6e546e0 fix: reboot emqx_dashboard after emqx_licencse 2024-01-25 12:29:04 +08:00
Xinyu Liu
4eb0260eaf
Merge pull request #12381 from emqx/port-sql-funcs-from-emqx4
feat: port emqx/emqx-enterprise#1892, add some SQL functions
2024-01-25 11:12:58 +08:00
JianBo He
ff0fd65f9d
Merge pull request #12373 from JimMoen/fix-prom-data-aggre
Follow up #12299
2024-01-25 10:37:47 +08:00
JimMoen
a752119d05
fix(prom_di): use bridge_v2 metrics api 2024-01-25 09:22:22 +08:00
JimMoen
61dd362db0
fix(prom_di): api crash in connecting
- https://emqx.atlassian.net/browse/EMQX-11801
2024-01-25 09:22:21 +08:00
Thales Macedo Garitezi
ae387d1812 ci: start/flush cover when using peer
`cover` is not automatically started by `peer`.  Without starting/flushing it, we don't
get coverage data from peer nodes.
2024-01-24 18:02:47 -03:00
William Yang
9fb6688801 fix(quic): Per listener conn count 2024-01-24 21:36:25 +01:00
Thales Macedo Garitezi
a19cf253ae
Merge pull request #12359 from thalesmg/fix-connector-app-deps-r55-20240119
fix(machine_boot): inject connector/bridge apps as dependencies to `emqx_connector` app
2024-01-24 15:40:24 -03:00
ieQu1
7b5f2948fe test(ds): Fix flaky testcase 2024-01-24 19:33:30 +01:00
ieQu1
305a54f646 chore(ds): Update BPAPI version 2024-01-24 19:33:30 +01:00
ieQu1
eee221f1d0 feat(ds): Make egress batching configurable 2024-01-24 19:33:30 +01:00
ieQu1
137535a821 feat(ds): Introduce egress process for the builtin backend 2024-01-24 19:33:30 +01:00
ieQu1
ec93d8cf18
Merge pull request #12385 from ieQu1/ds-meta-ram-cache
fix(ds): Cache database metadata in RAM
2024-01-24 19:32:38 +01:00
ieQu1
9b7df302e8 fix(ds): Cache database metadata in RAM 2024-01-24 18:43:48 +01:00