Commit Graph

8817 Commits

Author SHA1 Message Date
Thales Macedo Garitezi
d3d52695d5 feat(tls): automatically add cacerts to client opts
`public_key:cacerts_get/0` was introduced in OTP 25 and allows us to
load the system trusted CA certificates.

https://www.erlang.org/doc/man/public_key.html#cacerts_get-0
2023-07-25 17:43:33 -03:00
Thales Macedo Garitezi
d0deaca00d fix(ocsp): URL encode request path
Fixes https://emqx.atlassian.net/browse/EMQX-10624
2023-07-25 17:39:38 -03:00
Serge Tupchii
77184c00ff chore(ekka): Bump version to 0.15.9 2023-07-25 19:29:18 +03:00
Ivan Dyachkov
f9d3d3325b chore: e5.1.1-rc.1 2023-07-25 16:34:25 +02:00
Ilya Averyanov
2909b1de2d
Merge pull request #11339 from savonarola/0724-fix-subscribe-qos-authz
fix(authz): correctly identify qos of subscribe actions
2023-07-25 17:07:57 +03:00
Thales Macedo Garitezi
c7bf3ece34
Merge pull request #11338 from thalesmg/fix-pgsql-error-r51-20230724
fix(postgres_bridge): fix table existence check and handle sync_required
2023-07-25 10:53:03 -03:00
Paulo Zulato
7ee17553d5
Merge pull request #11337 from paulozulato/fix-error-code-topic-wildcard
fix(topic_rewrite): handle error when target contains wildcards
2023-07-25 10:37:20 -03:00
Paulo Zulato
8ec14bb07e fix(topic_rewrite): handle error when target contains wildcards
Fixes https://emqx.atlassian.net/browse/EMQX-10565
2023-07-25 09:43:14 -03:00
Ilya Averyanov
deaac9bd73 fix(authz): correctly identify qos of subscribe actions 2023-07-25 15:20:52 +03:00
Thales Macedo Garitezi
7a16ff4f04 fix(postgres_bridge): fix table existence check and handle sync_required
Fixes https://emqx.atlassian.net/browse/EMQX-10629

During health checking, we check whether tables in the SQL statement
exist.  Such check was done by asking the backend to parse the
statement using a named prepared statements.  Concurrent health checks
could then result in the error:

```erlang
{error,{error,error,<<"42P05">>,duplicate_prepared_statement,<<"prepared statement \"get_status\" already exists">>,[{file,<<"prepare.c">>},{line,<<"451">>},{routine,<<"StorePreparedStatement">>},{severity,<<"ERROR">>}]}}
```

This could lead to an inconsistent state in the driver process, which
would crash later when a message from the backend (`READY_FOR_QUERY`, "idle"):

```
  2023-07-24T13:05:58.892043+00:00 [error] Generic server <0.2134.0> terminating. Reason: {'module could not be loaded',[{undefined,handle_message,[90,<<"I">>,...
```

Added calls to `epgsql:sync/1` for functions that could return
`{error, sync_required}`.

Also, redundant calls to `parse2` were removed to reduce the number of requests.
2023-07-25 09:15:14 -03:00
zhongwencool
2c193f26e6
Merge pull request #11332 from HJianBo/fix-topic-index-unique-bugs 2023-07-25 19:07:07 +08:00
JianBo He
d05a5cfe0f fix(rule): fix the matches/2 for some edge cases 2023-07-25 14:35:18 +08:00
Paulo Zulato
69f4275871 fix(oracle): fix return error checking on table validation
Fixes https://emqx.atlassian.net/browse/EMQX-10622
2023-07-24 14:50:38 -03:00
JianBo He
e630331de1 fix(rule): fix a quering problem when 'a/b' and 'a/b/#' exist at the same time.
When using `ets:next` to query the next level of topic words, we should prioritize the next level
of '#', '+'.
2023-07-24 23:04:53 +08:00
JianBo He
f848c0b87a
Merge pull request #11333 from JimMoen/chore-hide-hstreamdb
chore: hidden hstreamdb bridge schema
2023-07-24 21:54:10 +08:00
JianBo He
511d1b6ca1 chore: hide the hstreamdb http api 2023-07-24 20:11:44 +08:00
JianBo He
dcf4819c04 test(rule): add tests to ensure the rules ordering 2023-07-24 19:30:34 +08:00
firest
8439ce0e84 chore: update app version && reboot_lists 2023-07-24 19:08:41 +08:00
Dennis Zhuang
9f200120c2 feat: use http port to detect server availability 2023-07-24 17:58:48 +08:00
Dennis Zhuang
cd9d5f287e chore: adds auto_reconnect for ecpool 2023-07-24 17:58:48 +08:00
Dennis Zhuang
2ea903c5ac fix: static checks failures 2023-07-24 17:58:48 +08:00
Dennis Zhuang
b34374c26f chore: by CR comments 2023-07-24 17:58:48 +08:00
Dennis Zhuang
c9550cc2e5 refactor: rename bridge greptimedb_grpc_v1 to greptimedb 2023-07-24 17:58:48 +08:00
Dennis Zhuang
a1c7eb337b fix: dependency name 2023-07-24 17:58:48 +08:00
Dennis Zhuang
50c10dd919 chore: update greptimedb-client-erl to v0.1.2 2023-07-24 17:58:48 +08:00
Dennis Zhuang
3b1363dbb7 chore: change license to BCL and adds emqx_bridge_greptimedb_connector_SUITE 2023-07-24 17:58:48 +08:00
Dennis Zhuang
6f7fbcf693 fix: compile error 2023-07-24 17:58:48 +08:00
Dennis Zhuang
4921856950 test: make all emqx_bridge_greptimedb_SUITE tests passing 2023-07-24 17:58:48 +08:00
Dennis Zhuang
c6a7f3e2ad test: make test passed 21/29 2023-07-24 17:58:48 +08:00
Dennis Zhuang
975795a6e0 feat: add ci test 2023-07-24 17:58:48 +08:00
Dennis Zhuang
89bce99870 test: greptimedb data brige 2023-07-24 17:58:48 +08:00
Dennis Zhuang
91ebd90442 fix: batch write 2023-07-24 17:58:48 +08:00
Dennis Zhuang
6d9944a8e8 feat: update greptimedb dependencies 2023-07-24 17:58:48 +08:00
Dennis Zhuang
417e017498 feat: begin to impl connector 2023-07-24 17:58:48 +08:00
Dennis Zhuang
c5078980f3 feat: adds the greptimedb bridge to emqx modules 2023-07-24 17:58:48 +08:00
Dennis Zhuang
4d581d0b30 feat: init commit 2023-07-24 17:58:48 +08:00
Andrew Mayorov
0496038361 fix(ruleeng): ensure topic index matched rules evalauted once 2023-07-24 17:44:12 +08:00
Andrew Mayorov
6432c9c8fc fix(topicidx): allow to return matches unique by record id 2023-07-24 17:43:11 +08:00
JimMoen
613dc1646c
chore: hidden hstreamdb bridge schema 2023-07-24 17:22:29 +08:00
firest
af6405fa25 fix(nested_put): fix a data loss bug introduced by #11172 2023-07-24 16:39:37 +08:00
Andrew Mayorov
81793c31fc
Merge pull request #11315 from keynslug/ft/EMQX-9593/peek-mqueue-info
refactor(session): allow peeking at mqueue less intrusively
2023-07-24 09:57:05 +02:00
JimMoen
c393c2e091
test: ets table cleanup after cases 2023-07-24 09:33:28 +08:00
JimMoen
4e4b1ac115
refactor: module move to app emqx_rule_engine
- Rename to emqx_rule_index.erl
- Remove test funcs from src -> test dir
2023-07-24 09:33:28 +08:00
Andrew Mayorov
b821bdee00
perf(ruleeng): employ emqx_topic_index to speed up topic matching 2023-07-24 09:27:31 +08:00
Andrew Mayorov
28dad5d7a9
feat(index): add topic index facility
Somewhat similar to `emqx_trie` in design and logic, yet built on
top of a single, potentially pre-existing table.
2023-07-24 09:27:31 +08:00
Paulo Zulato
31cf05ec66
Merge pull request #11316 from paulozulato/fix-oracle-pool-size
fix(oracle): fix Pool Size parameter retrieval
2023-07-21 17:51:21 -03:00
Thales Macedo Garitezi
2531c3e7d1
Merge pull request #11306 from thalesmg/rule-actions-reply-dropped-r51-20230719
fix(rule_metrics): notify rule metrics of late replies and expired requests
2023-07-21 16:51:14 -03:00
Ivan Dyachkov
29432009db chore: 5.1.1-alpha.4 2023-07-21 18:42:14 +02:00
ieQu1
485e495b98 chore(ekka): Bump version to 0.15.8 (mria 0.5.10) 2023-07-21 18:31:02 +02:00
Paulo Zulato
85ab97970f fix(oracle): fix Pool Size parameter retrieval
Fixes https://emqx.atlassian.net/browse/EMQX-10599
2023-07-21 11:02:27 -03:00
Ivan Dyachkov
c2c3da073f chore: v5.1.2 2023-07-21 13:26:29 +02:00
Ivan Dyachkov
243b8f5b67 chore: merge 'upstream/master' into v5.1.2 2023-07-21 13:25:46 +02:00
Ivan Dyachkov
3a3b843f4a fix(machine): add emqx_bridge_kinesis to reboot_lists.eterm 2023-07-21 13:20:50 +02:00
SergeTupchiy
04bd7c7eed
Merge pull request #11322 from SergeTupchiy/EMQX-10590-data-import-fix-missing-config-rel51
EMQX-10590 data import fix missing config relealse 51
2023-07-21 12:36:21 +03:00
Serge Tupchii
ee97cf8e33 fix(emqx_modules): ignore already_existed/not_found errors for added/removed topic metrics 2023-07-21 12:17:47 +03:00
zhongwencool
520ae0e9d3 chore: remove zone desc from document 2023-07-21 15:51:21 +08:00
Serge Tupchii
b37920d2e5 feat: add topic_metrics and slow_subs configuration to data import/export
Fixes: EMQX-10590
2023-07-21 10:41:22 +03:00
Serge Tupchii
a1a7c4fab6 fix(emqx_rule_engine): fix typo in behaviour module attribute
The type resulted in missing `rule_engine` config after importing data from a backup file.

Fixes: EMQX-10590
2023-07-21 10:33:56 +03:00
zhongwencool
d3e4fda21d fix: hocon_pp quote string for special char 2023-07-21 12:31:22 +08:00
Paulo Zulato
0827a45c89
Merge pull request #11307 from paulozulato/fix-oracle-table-check
fix(oracle): discard nested tokens when checking table
2023-07-20 19:19:50 -03:00
Andrew Mayorov
e1e4c64a30
refactor(session): allow peeking at mqueue less intrusively 2023-07-20 21:21:30 +02:00
Thales Macedo Garitezi
54efc04a6f
Merge pull request #11309 from thalesmg/fix-machine-boot-reboot-r51-20230719
fix(machine_boot): use shared list of reboot apps and add bridges to reboot list
2023-07-20 14:33:16 -03:00
Thales Macedo Garitezi
6cd503865b fix(machine_boot): ensure emqx_bridge starts after its companion apps
We need to reverse the dependency of `emqx_bridge` and `emqx_bridge_*`, because the former
loads and starts bridges during its application startup.  If the individual bridge
application being loaded has not started with its dependencies, the supervision tree will
not be ready for that.
2023-07-20 13:11:44 -03:00
Thales Macedo Garitezi
3b1e436d3f refactor: use emqx_pool:async_submit to avoid excessive spawning 2023-07-20 10:17:43 -03:00
JianBo He
b9f0cd7ba4 chore: pretty the cli output style 2023-07-20 21:01:28 +08:00
Thales Macedo Garitezi
77e2d852e5 fix: add emqx_durable_storage to app list 2023-07-20 09:55:05 -03:00
Andrew Mayorov
f2a32e8ed2
Merge pull request #11304 from keynslug/ft/EMQX-9593/ds-session-connect
refactor(session): minimize `emqx_session` interface surface
2023-07-20 14:33:21 +02:00
Thales Macedo Garitezi
89ea40a8b7 refactor: apply review remarks 2023-07-20 09:31:13 -03:00
zhongwencool
3cd223ff5b chore: add more detail msg for merging failed 2023-07-20 17:48:26 +08:00
SergeTupchiy
8480a26b66
Merge pull request #11065 from SergeTupchiy/EMQX-9992-fix-async-cleanup-error-logs
fix: avoid logging unnecessary errors in async cleanup functions
2023-07-20 12:20:57 +03:00
Thales Macedo Garitezi
b9b11d8f4d fix(machine_boot): use shared list of reboot apps and add bridges to reboot list 2023-07-19 20:15:42 -03:00
Paulo Zulato
e76ba760c9 fix(oracle): discard nested tokens when checking table
Fixes https://emqx.atlassian.net/browse/EMQX-10597
2023-07-19 15:03:49 -03:00
Thales Macedo Garitezi
eb41b77de4 fix(rule_metrics): notify rule metrics of late replies and expired requests
Fixes https://emqx.atlassian.net/browse/EMQX-10600
2023-07-19 11:39:28 -03:00
Serge Tupchii
ff4119e8b3 chore(emqx_config): fix typo in the log message 2023-07-19 16:58:21 +03:00
Thales Macedo Garitezi
41b780f7f2
Merge pull request #11280 from thalesmg/unhide-gcp-consumer-master-20230717
chore(gcp_pubsub_consumer): unhide GCP PubSub Consumer bridge for e5.2.0
2023-07-19 10:26:42 -03:00
Thales Macedo Garitezi
6003c34ce5
Merge pull request #11283 from thalesmg/flaky-test-20230717
test(http): attempt to stabilize flaky tests
2023-07-19 10:24:07 -03:00
ieQu1
57e39f42c5
Merge pull request #11294 from ieQu1/mria-fixes
Mria fixes
2023-07-19 15:10:42 +02:00
Andrew Mayorov
dd31487b4a
refactor(session): drop is_session/1 helper as useless
This is a part of effort to minimize `emqx_session` module
interface to simplify adding alternative session implementations.
2023-07-19 14:55:26 +02:00
Andrew Mayorov
0cd2351134
refactor(session): hide no_local logic behind enqueue / deliver
This is a part of effort to minimize `emqx_session` module
interface to simplify adding alternative session implementations.
2023-07-19 14:55:26 +02:00
Ivan Dyachkov
f29a9ed9d5
Merge pull request #11301 from id/0719-sync-release-51-to-master 2023-07-19 14:21:26 +02:00
lafirest
d4550f911c
Merge pull request #11299 from lafirest/hs
fix(hstream): handle the `unavailable` error code
2023-07-19 17:47:30 +08:00
Andrew Mayorov
92166f287a
Merge pull request #11293 from keynslug/fix/EMQX-9591/phase-out-persistence
chore(ps): phase out existing session persistence mechanism
2023-07-19 10:36:46 +02:00
Ivan Dyachkov
b7f0f7b32d chore: merge master into release-51 2023-07-19 09:28:05 +02:00
firest
7ac8715358 fix(hstream): handle the unavailable error code
The "unavailable" error code just means that the HStream is warming up or busy, HStream guarantees that a retry will work well.
2023-07-19 14:43:50 +08:00
zhongwencool
0524c3b3b1 test: configs SUITE crash 2023-07-19 11:05:14 +08:00
JianBo He
439eb4d029 test: cover the node params for get /configs endpoint 2023-07-19 11:05:14 +08:00
JianBo He
74532a64e6 chore: update apps/emqx_management/src/emqx_mgmt_api_configs.erl 2023-07-19 11:05:14 +08:00
zhongwencool
402f75592e chore: move rpc call from emqx_management_proto to emqx_conf_proto 2023-07-19 11:05:14 +08:00
zhongwencool
8a0f7bfd99 chore: update version bpapi.versions 2023-07-19 11:05:14 +08:00
zhongwencool
59ed65787f fix: get_config return target node's node conf 2023-07-19 11:05:14 +08:00
Paulo Zulato
27630ca215
Merge pull request #11261 from paulozulato/feat-bridge-kinesis
Implement Amazon Kinesis Producer bridge
2023-07-18 16:48:34 -03:00
ieQu1
3a5112829c fix(mgmt_cli): Don't print cluster status on the replicant 2023-07-18 21:45:00 +02:00
ieQu1
ce76d4ab04 chore(ekka): Bump version to 0.15.7 (mria 0.5.9) 2023-07-18 21:45:00 +02:00
ieQu1
103b89f60c fix(mgmt_cli): Don't crash when mria is not running 2023-07-18 21:45:00 +02:00
ieQu1
293700773f refactor(mgmt_cli): Call mria directly 2023-07-18 21:45:00 +02:00
Serge Tupchii
2954ff7300 feat: add topic_metrics and slow_subs configuration to data import/export
Fixes: EMQX-10590
2023-07-18 20:53:10 +03:00
Serge Tupchii
c9985758d9 fix(emqx_rule_engine): fix typo in behaviour module attribute
The type resulted in missing `rule_engine` config after importing data from a backup file.

Fixes: EMQX-10590
2023-07-18 20:35:21 +03:00
Ivan Dyachkov
de4cc492d4 chore: e5.1.1-alpha.2 2023-07-18 18:55:24 +02:00
Thales Macedo Garitezi
4ec4041f99
Merge pull request #11281 from thalesmg/restore-queue-shared-sub-r51-20230717
fix(shared_sub): restore support for `$queue/` shared subscription
2023-07-18 13:52:44 -03:00
Ivan Dyachkov
ca51732d8e
Merge pull request #11292 from emqx/update-rocksdb 2023-07-18 16:14:50 +02:00
Thales Macedo Garitezi
cb1e0cdc89 test(http): attempt to stabilize flaky tests 2023-07-18 10:51:04 -03:00
Andrew Mayorov
3ba6d34511
chore(eviction): phase out session persistence concerns 2023-07-18 15:47:12 +02:00
Andrew Mayorov
0a00c39282
chore(ps): phase out existing session persistence mechanism
* It's not really working currently in a cluster setup.
* It's not really working well.
* It would be much easier to integrate `emqx_durable_storage` w/o
  the need to support existing solution.
2023-07-18 15:46:04 +02:00
Thales Macedo Garitezi
91cd88c136 fix(api_mgmt): use emqx_topic:join for correct construction of topics 2023-07-18 10:19:55 -03:00
Thales Macedo Garitezi
4a889c0994 chore: bump ekka -> 0.15.6
https://github.com/emqx/erlang-rocksdb/releases/tag/1.8.0-emqx-1
2023-07-18 09:00:29 -03:00
firest
4f4a813f04 fix(tdengine): update the default template and the changelog 2023-07-18 10:31:18 +00:00
Thales Macedo Garitezi
1fdcfba629 fix(shared_sub): restore support for $queue/ shared subscription
Partially addresses: https://emqx.atlassian.net/browse/EMQX-4589

There's still a problem with the handling of shared groups that is
_not particular to the `$queue/` syntax_ and preexistent that the same
client cannot subscribe to _different groups_ that have the same
_topic filter_.
2023-07-17 16:41:24 -03:00
Paulo Zulato
484519dcf9 feat(kinesis): implement Amazon Kinesis Producer bridge
Fixes https://emqx.atlassian.net/browse/EMQX-10474
Fixes https://emqx.atlassian.net/browse/EMQX-10475
2023-07-17 11:51:42 -03:00
Thales Macedo Garitezi
05c3e023a9 chore(gcp_pubsub_consumer): unhide GCP PubSub Consumer bridge for e5.2.0
Fixes https://emqx.atlassian.net/browse/EMQX-10506
2023-07-17 11:24:21 -03:00
Thales Macedo Garitezi
ab5fd1e5c3
Merge pull request #11260 from thalesmg/fix-rule-maps-nested-put-r51
fix(rule_maps): avoid losing data when using `emqx_rule_maps:nested_put`
2023-07-14 15:02:24 -03:00
zhongwencool
0a35b7875f
Merge pull request #11269 from zhongwencool/fix-process-limit-hidden
fix: hide node.process_limit completely
2023-07-14 22:32:41 +08:00
lafirest
f6834b33a0
Merge pull request #11266 from lafirest/fix/influxdb-ph
fix(tdengine): fix SQL template errors
2023-07-14 22:29:16 +08:00
zhongwencool
f853f3d3bd
Merge pull request #11271 from zhongwencool/fix-precent-check
fix: keep percentage type's range is 0%~100%
2023-07-14 22:07:41 +08:00
Thales Macedo Garitezi
f9452241bd test(rules): add a few more tests to assert our rule evaluation behavior 2023-07-14 10:23:20 -03:00
Serge Tupchii
950d5edc41 fix: avoid logging unnecessary errors in async cleanup functions
Cleanup functions that access ETS tables may fail with `badarg` error during EMQX shutdown.
They are called asynchronously by `emqx_pool` workers and accessed ETS tables
may be already destroyed as their owners are shut down.
This fix catches ETS `badarg` errors before they can be caught and logged by `emqx_pool`.

Fixes: EMQX-9992
2023-07-14 14:22:43 +03:00
firest
fea73cf17d fix(log): fix the pubrel typo in the log 2023-07-14 17:19:50 +08:00
zhongwencool
11ee6abf02 fix: keep precent range is 0%~100% 2023-07-14 16:48:50 +08:00
zhongwencool
131511b10e fix: hide process_limit completely 2023-07-14 11:04:20 +08:00
Thales Macedo Garitezi
01b143c5ad fix(resource): don't destruct error tuple
Otherwise, `emqx_resource:query` won't correctly deem the resource to
be unhealthy when there's an extra message.
2023-07-13 16:12:33 -03:00
Thales Macedo Garitezi
0dff428efb
Merge pull request #11262 from thalesmg/fix-gcp-consumer-hc-20230712-master
fix(gcp_pubsub_consumer): fail health check when there are no workers
2023-07-13 15:09:02 -03:00
Thales Macedo Garitezi
4034bcbb26 fix(rule_runtime): avoid rewriting select clause sources (by @keynslug)
Thanks to @keynslug for the insight and the patch.

With this, we avoid rewriting the parsed select clause sources, and
attempt to reuse the result context when reading values during
evaluation.
2023-07-13 14:46:08 -03:00
Thales Macedo Garitezi
924ed06760
Merge pull request #11256 from thalesmg/bridge-api-ecpool-400-errors-20230712-r51
fix(bridge_api): return 400 for all ecpool start errors
2023-07-13 10:05:07 -03:00
firest
749b8cd2ed test(tdengine): cover multi-table insert && subtable name generation 2023-07-13 07:39:01 +00:00
firest
fef5087c41 fix(tdengine): fix SQL template errors
1. supports multi-table insert
2. supports constructing subtable names by mixed prefixes and placeholders
2023-07-13 04:44:48 +00:00
JimMoen
c23c3a1f78
fix: hstreamdb connector use unified schema 2023-07-13 10:47:45 +08:00
Thales Macedo Garitezi
06010f7ca9 Merge remote-tracking branch 'origin/release-51' into sync-r51-20230712 2023-07-12 16:47:45 -03:00
Thales Macedo Garitezi
be7918aa41 fix(gcp_pubsub_consumer): fail health check when there are no workers
`ecpool` already returns an error even if the worker process is dead,
but we add the empty worker list clause here just for completeness.
2023-07-12 16:31:21 -03:00
Thales Macedo Garitezi
bbff1d6ae9 fix(bridge_api): return 400 for all ecpool start errors
Fixes https://emqx.atlassian.net/browse/EMQX-10460
(https://emqx.atlassian.net/browse/EMQX-10460?focusedCommentId=30126)
2023-07-12 15:32:34 -03:00
Thales Macedo Garitezi
bffef386c1 fix(rule_maps): avoid losing data when using emqx_rule_maps:nested_put
Fixes https://emqx.atlassian.net/browse/EMQX-10541
2023-07-12 14:28:18 -03:00
Ivan Dyachkov
8ebe099653
Merge pull request #11253 from id/kjell/refactor/http_bridge/EMQX-9568
refactor: HTTP bridge into the emqx_bridge_http application
2023-07-12 15:58:02 +02:00
Ivan Dyachkov
6180e775f4 test: fix mocking and application start 2023-07-12 14:47:52 +02:00
Ivan Dyachkov
8815e58149 chore: remove docker-ct from emqx_bridge_http since toxiproxy is not used in CT 2023-07-12 14:47:46 +02:00
Ivan Dyachkov
45f94df7b1 fix: add ehttpc as emqx_bridge_http dependency 2023-07-12 14:47:39 +02:00
Thales Macedo Garitezi
c94dc2e63f fix: add emqx_dashboard as a dependency of emqx_machine
```
===> Compiling emqx_machine
===> Compiling src/user_default.erl failed
src/user_default.erl:{24,14}: can't find include lib "emqx_dashboard/include/emqx_dashboard.hrl"; Make sure emqx_dashboard is in your app file's 'applications' list

==> emqx_mix
** (Mix) Could not compile dependency :emqx_machine, "/github/home/.mix/elixir/1-14/rebar3 bare compile --paths /__w/emqx/emqx/_build/emqx/lib/*/ebin" command failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile emqx_machine", update it with "mix deps.update emqx_machine" or clean it with "mix deps.clean emqx_machine"
make: *** [Makefile:276: emqx-elixir] Error 1
```
2023-07-12 14:47:28 +02:00
Kjell Winblad
6ce47614d2 refactor: HTTP bridge into the emqx_bridge_http app
Fixes:
https://emqx.atlassian.net/browse/EMQX-9568
2023-07-12 14:47:02 +02:00
Kjell Winblad
f28510b3ad refactor: HTTP connector into emqx_bridge_http app 2023-07-12 14:46:43 +02:00
Thales Macedo Garitezi
541d03a0ba refactor(schema_registry): refactor schema registry app and modules
Fixes https://emqx.atlassian.net/browse/EMQX-10361

- Moves `lib-ee/emqx_ee_schema_registry` to `apps/emqx_schema_registry`.
- Removes the `_ee_` segment from module names.
  - Exceptions are the table names which are kept to avoid backwards incompatibilities.
2023-07-12 09:24:15 -03:00
Serge Tupchii
cacfb51280 fix(emqx_machine): add emqx_ee_schema_registry to the reboot apps list
As emqx_ee_schema_registry uses Mria tables (schema_registry_shard),
a node joining a cluster needs to restart this application in order to
restart relevant Mria shard processes.
2023-07-12 09:23:28 -03:00
zhongwencool
5b0695ca19
Merge pull request #11249 from zhongwencool/license-setting-api
feat: add license setting get/put api
2023-07-12 18:34:23 +08:00
zhongwencool
f40d8318b7 fix: license validations is not working 2023-07-12 14:40:38 +08:00
SergeTupchiy
fce3060634
Merge pull request #11251 from SergeTupchiy/EMQX-10392-cluster-topology-api
Add cluster topology HTTP API endpoint
2023-07-11 17:45:00 +03:00
Serge Tupchii
19de10be7c feat(emqx_management): add /cluster/topology HTTP API endpoint
The endpoint shows Mria RLOG cluster topology info:
connections between core and replicant nodes.

Closes: EMQX-10392
2023-07-11 16:25:36 +03:00
lafirest
903d81b532
Merge pull request #11250 from lafirest/fix/ws_order
fix(ws): fix MQTT packets may be reversed in the WS
2023-07-11 20:09:55 +08:00
firest
211486a946 fix(ws): fix MQTT packets may be reversed in the WS
Fix when a WS packet contains many MQTT packets, the order of MQTT packets will be reversed
2023-07-11 18:40:06 +08:00
JianBo He
e51a4ae81e chore: avoid dialyzer warnings 2023-07-11 10:41:10 +08:00
JianBo He
15c91373fe perf(http): improve the speed of clients querying in default parameters
In https://github.com//emqx/emqx/pull/9749 we fixed the problem of
incorrect total calculation. In this PR we added an option to improve
the query speed when the query condition is empty
2023-07-11 10:41:10 +08:00
Andrew Mayorov
21fbf79c29
Merge pull request #11191 from keynslug/ft/EMQX-9591/msg-persistence-minimal
feat(ds): hardwire emqx_durable_storage message persistence
2023-07-10 21:05:04 +02:00
Thales Macedo Garitezi
beb5be4de2
Merge pull request #11244 from thalesmg/ci-sorted-reboot-apps-check-master
ci(machine_boot): add ci check for missing reboot apps
2023-07-10 15:56:10 -03:00
Thales Macedo Garitezi
a53768c1d4 fix(machine_boot): add emqx_durable_storage to reboot apps list 2023-07-10 14:39:44 -03:00
SergeTupchiy
721dbad300
Merge pull request #11242 from SergeTupchiy/add-schema_registry-app-to-reboot-list
fix(emqx_machine): add emqx_ee_schema_registry to the reboot apps list
2023-07-10 20:17:59 +03:00
Andrew Mayorov
d91ab7dec9
test(ds): make emqx_persistent_messages_SUITE setup cleaner
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-07-10 18:12:16 +02:00
Ivan Dyachkov
fb96c1e20d chore: bump to e5.1.1-alpha.1 2023-07-10 17:25:07 +02:00
Serge Tupchii
7f04fff2a8 fix(emqx_machine): add emqx_ee_schema_registry to the reboot apps list
As emqx_ee_schema_registry uses Mria tables (schema_registry_shard),
a node joining a cluster needs to restart this application in order to
restart relevant Mria shard processes.
2023-07-10 18:04:22 +03:00
JianBo He
ae59a26659
Merge pull request #11223 from JimMoen/fix-influxdb-float-value-trans
fix: influxdb float serialization error
2023-07-10 23:04:01 +08:00
Stefan Strigler
93a9772743
Merge pull request #11211 from sstrigler/EMQX-9963-refactor-all-http-ap-is-to-respond-404-on-the-deletion-of-the-resource-is-non-exist
consistently return 404 if resource not found
2023-07-10 16:25:31 +02:00
Ilya Averyanov
58a83739b8
Merge pull request #10986 from savonarola/ft/EMQX-9523/config-api
feat(ft-api): provide configuration API
2023-07-10 15:32:30 +03:00
Ilya Averyanov
12e237c36d
Merge pull request #11132 from savonarola/0531-authz-qos-retain
feat(authz): use extensible map format for actions in authz rules
2023-07-10 15:32:02 +03:00
JimMoen
e30bc6afa8
test(influxdb): write raw as float for all number value 2023-07-10 20:00:09 +08:00
zhongwencool
f9e54ed8b1
Merge pull request #11237 from zhongwencool/prometheus-api-schema
fix: bad prometheus schema for headers
2023-07-10 18:13:42 +08:00
Andrew Mayorov
576eab9717
Merge pull request #11193 from keynslug/fix/emqx-ft-test-flaps
fix(ft-test): use new cth tooling in emqx_ft_storage_fs_SUITE
2023-07-10 11:55:16 +02:00
JianBo He
f144bb0571
Merge pull request #11226 from zhongwencool/listener-conf-enabled-to-enable
fix: alias listeners.Type.Name.enabled as listeners.Type.Name.enable
2023-07-10 17:15:24 +08:00
zhongwencool
1b5d55cdbb fix: delete bad link in emqx_prometheus 2023-07-10 16:48:13 +08:00
zhongwencool
0632d629cb fix: bad prometheus schema for headers 2023-07-10 16:48:13 +08:00
JimMoen
e9f1d7f2bf
fix: influxdb float serialization error 2023-07-10 13:53:11 +08:00
zhongwencool
802a50601a chore: add comment for init_loader_done 2023-07-10 12:03:36 +08:00
zhongwencool
c4ba558ee3 fix: unset config_loader in emqx's env when stop emqx app 2023-07-10 11:06:08 +08:00
zhongwencool
d661b10355 fix: emqx CI failed 2023-07-10 10:34:36 +08:00
zhongwencool
86d3984025 fix: mgmt api SUITE failed 2023-07-10 10:34:36 +08:00
zhongwencool
c0ee47dc08 chore: add changelog for 11226 pr 2023-07-10 10:34:36 +08:00
zhongwencool
d781346efc fix: alias listeners.Type.Name.enabled as listeners.Type.Name.enable 2023-07-10 10:34:36 +08:00
Stefan Strigler
1110b5d8f5 fix(emqx_retainer): return 404 in delete if topic not found 2023-07-08 14:43:43 +02:00
Stefan Strigler
80e4ffff75 fix(emqx_management): return 404 if plugin does not exist 2023-07-08 14:43:43 +02:00
Stefan Strigler
3fd28f9e18 fix(emqx_management): return 404 for unknown listener id 2023-07-08 14:43:43 +02:00
Stefan Strigler
d65d690c17 fix(emqx_gateway): return 404 for unknown client id 2023-07-08 14:43:43 +02:00
Stefan Strigler
3bc419ee64 fix(emqx_gateway): return 404 for unknown listener id 2023-07-08 14:10:23 +02:00
Andrew Mayorov
8c883feb54
chore: bump emqx_durable_storage to 0.1.1 2023-07-07 21:56:21 +02:00
Andrew Mayorov
030beb3e6a
fix(ds): drop debug printouts in test suite 2023-07-07 21:56:20 +02:00
Andrew Mayorov
daf4e86da1
feat(ds): add ensure_shard/2 shortcut
And use it in `emqx_persistent_session_ds:init()` backend initialization
function.
2023-07-07 21:56:20 +02:00
Andrew Mayorov
ac56de9fc5
feat(ds): allow to redefine directory for shard's rocksdb 2023-07-07 21:56:20 +02:00
Ilya Averyanov
19f9fc5089 feat(authz): bump app versions 2023-07-07 19:41:34 +03:00
Ilya Averyanov
77895f2555 feat(authz): fix typos and style for Retain & QoS authz feature
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-07-07 19:40:34 +03:00
Ilya Averyanov
6db02d6b49 feat(authz): enable feature for both CE and EE 2023-07-07 19:40:34 +03:00
Ilya Averyanov
1ce6a225ae feat(authz): add tests for authz extended actions 2023-07-07 19:40:34 +03:00
Ilya Averyanov
7de26a1776 feat(authz): use extensible map format for actions in authz rules
* support authorization on retain, qos fields
* refactored authz tests heavily
2023-07-07 19:40:34 +03:00
Ilya Averyanov
b568bda098 feat(ft-api): simplify config import test 2023-07-07 19:39:05 +03:00
Thales Macedo Garitezi
6337f52cf9 fix(plugins): start/stop plugins when loading config from CLI
Fixes https://emqx.atlassian.net/browse/EMQX-10288
2023-07-07 13:37:51 -03:00
Ilya Averyanov
56c81c2c25 feat(ft-api): bump app versions 2023-07-07 19:17:22 +03:00
Ilya Averyanov
e0353ab750 fix(ft-api): update FT API tests to use emqx_cth_suite 2023-07-07 19:15:42 +03:00
Ilya Averyanov
fde506838a fix(ft-api): implement import config behaviour 2023-07-07 19:15:42 +03:00
Ilya Averyanov
fe691e8330 fix(ft-api): fix swagger schema dump for ft schema 2023-07-07 19:15:42 +03:00
Ilya Averyanov
a2eb658cd9 feat(ft-api): do cleanup certs explicitly 2023-07-07 19:15:42 +03:00
Andrew Mayorov
a2b03716be feat(ft-api): provide configuration API
To configure `emqx_ft` during the runtime.
2023-07-07 19:15:42 +03:00
Andrew Mayorov
34793c5ed0 feat(ft-conf): preprocess TLS configuration on updates
Specifically, reify keys and certificates into files in the file system
and update the configuration to point to those files.
2023-07-07 19:15:42 +03:00
Andrew Mayorov
27ab9c62d8 fix(ft): unload conf hooks in prep_stop
In order to avoid situations when the root supervisor is stopped
already.
2023-07-07 19:15:42 +03:00
Ilya Averyanov
aba52c6a25 chore(rebalance test): fix API tests 2023-07-07 18:04:32 +03:00
Ilya Averyanov
9bb159cf1e fix(rebalance): fix changelog and version 2023-07-07 18:04:11 +03:00
zhongwencool
5b1c265485
Merge pull request #11224 from zhongwencool/fix-psk-conf-load
fix: psk_authentication is updated failed
2023-07-07 21:27:49 +08:00
Ilya Averyanov
a6019a2846
Merge pull request #11198 from savonarola/0705-fix-rebalance-swagger
fix(rebalance): fix rebalance swagger examples
2023-07-07 15:55:16 +03:00
lafirest
70bd7a59e4
Merge pull request #11225 from lafirest/fix/pgsql_function_clause
fix(bridge): ensure the username of pgsql must exists
2023-07-07 20:39:07 +08:00
zhongwencool
8b80a2f754
Merge pull request #11192 from zhongwencool/bump-hocon-to-0.39.13
chore: update hocon to 0.39.13
2023-07-07 20:02:46 +08:00
zhongwencool
0ef00d5919 fix: psk_authentication is updated failed 2023-07-07 20:02:06 +08:00
Andrew Mayorov
97b6c43062
fix(ft-test): use new cth tooling in emqx_ft_storage_fs_SUITE
In attempt to battle test flakiness.
2023-07-07 14:00:33 +02:00
Andrew Mayorov
7e76914599
feat(ds): hardwire emqx_durable_storage message persistence
Only message persistence is currently implemented, irrespectively of
whether there are persistent sessions around or not.
2023-07-07 13:46:12 +02:00
firest
d01eee7fe4 chore: update changes && app version 2023-07-07 18:22:54 +08:00
firest
8cee75139d fix(bridge): ensure the username of pgsql must exists 2023-07-07 18:06:28 +08:00
Stefan Strigler
055a1e8d75
Merge pull request #11210 from sstrigler/EMQX-9569-provide-the-ce-ee-version-info-and-the-current-version-number-in-the-info-field
feat(emqx_dashboard): include edition and version in swagger.json info
2023-07-07 11:55:44 +02:00
zhongwencool
b5cc8fb3c3 fix: start_after_created's default value 2023-07-07 16:39:26 +08:00
zhongwencool
352d818e3b chore: update hocon to 0.39.13 2023-07-07 16:39:26 +08:00
JimMoen
88fd8d0582
Merge pull request #11219 from JimMoen/fix-hstreamdb-deps-app
chore: hstreamdb_erl as deps for hstreamdb bridge
2023-07-07 16:39:12 +08:00
JianBo He
2f33fd9bac
Merge pull request #11208 from HJianBo/update-lwm2m-stats
fix(lwm2m): update the stats correctly and timely
2023-07-07 15:32:50 +08:00
JianBo He
daa6cf14fe
Merge pull request #11206 from HJianBo/coap-bugs
Fix(coap): Make the username and password params to optional
2023-07-07 15:32:00 +08:00
zhongwencool
ab07fd0547
Merge pull request #11214 from zhongwencool/fix-cluster-rpc-call-tnx-id
fix: bad tnx-id when rejoin cluster
2023-07-07 15:08:06 +08:00
JimMoen
63c6427037
chore: hstreamdb_erl as deps for hstreamdb bridge 2023-07-07 14:50:44 +08:00
JimMoen
30c931ae62
fix: pulsar flaky cluster tests 2023-07-07 12:25:37 +08:00
JimMoen
4ee44972b2
feat: refactor hstreamdb connector to to avoid resources leaking 2023-07-07 12:25:37 +08:00
JimMoen
b089fba100
refactor: rm ee_bridge and ee_connector application 2023-07-07 12:25:37 +08:00
JimMoen
583ccfaafd
test(hstreamdb): create stream and wirte data 2023-07-07 12:25:36 +08:00
JimMoen
1587f038a5
feat: hstreamdb bridge with batch query 2023-07-07 12:25:36 +08:00
JimMoen
b9bfdfd583
chore: compatibility with hstreamdb v0.15.0 2023-07-07 12:25:36 +08:00
JimMoen
d31a305bcb
refactor(hstreamdb): HStreamDB bridge to its own application 2023-07-07 12:25:36 +08:00
zhongwencool
f7513b900a fix: set load config done after update tnx_id 2023-07-07 12:25:34 +08:00
zhongwencool
9f57ba510e chore: add 11214 changelog 2023-07-07 12:25:34 +08:00
zhongwencool
221f6eba06 fix: bad tnx-id when rejoin cluster 2023-07-07 12:25:34 +08:00
JianBo He
d3d2c8a532 chore(lwm2m): bump version 2023-07-07 12:24:31 +08:00
JianBo He
31a240ba63 fix(lwm2m): update the stats correctly and timely 2023-07-07 12:24:31 +08:00
JianBo He
791b8ef671 chore: bump versions 2023-07-07 12:23:57 +08:00
JianBo He
6d2222318d chore(coap): update the subscriptions_cnt stats in time 2023-07-07 12:23:57 +08:00
JianBo He
800b154582 test(coap): cover the params optional logic to create connection 2023-07-07 12:23:57 +08:00
JianBo He
5c901a52bd fix(coap): make username/password optinal in connection 2023-07-07 12:23:57 +08:00
JianBo He
ab809c8b85
Merge pull request #11207 from lafirest/feat/keep_obfuscated
feat: ensure data backends don't leak sensitive data
2023-07-07 12:22:11 +08:00
JianBo He
b11fa5f3bf
Merge pull request #11195 from HJianBo/stomp-topic-id-unique
Fix(stomp): avoid to create duplicated subscription by HTTP or Client
2023-07-07 11:18:30 +08:00
firest
a1d2b2ca51 chore: bump app versions 2023-07-07 11:17:54 +08:00
firest
18dec53d8b feat: ensure data backends don't leak sensitive data 2023-07-07 11:04:13 +08:00
JianBo He
05048dbf93
Merge pull request #11204 from HJianBo/avoid-case-clause
Allow the `*/*` or multiple `Accept` values in header for the `/configs`  API
2023-07-07 09:46:28 +08:00
Stefan Strigler
8faaa86c07 chore: bump vsn for emqx and emqx_bridge 2023-07-06 14:26:11 +02:00
Stefan Strigler
22b25fbbb3 feat(emqx_dashboard): include edition and version in swagger.json info 2023-07-06 14:14:21 +02:00
Thales Macedo Garitezi
353cc065db
Merge pull request #11175 from thalesmg/fix-mysql-start-error
fix(mysql_bridge): make nxdomain a 400 API error
2023-07-06 08:26:12 -03:00
Stefan Strigler
9bcabe0a9e
Merge pull request #11184 from sstrigler/EMQX-10270-e-5-1-0-missing-value-range-validation-for-the-max-packet-size-of-mqtt-settings
fix: limit mqtt max_packet_size to 256MB
2023-07-06 10:20:24 +02:00
JianBo He
71d1f80530 test(api): cover the accept logic for /configs API 2023-07-06 11:30:38 +08:00
JianBo He
966b2affc2 chore: allow handle */* or multiple values in Accept headers 2023-07-06 10:53:07 +08:00
SergeTupchiy
1a79e34510
Merge pull request #11202 from SergeTupchiy/fix-rule-type-acl-conf
chore(emqx_authz): fix `rule()` type example
2023-07-05 21:02:36 +03:00
Serge Tupchii
4dfd3421e7 chore(emqx_authz): fix rule() type example
Use `action()` type which is a correct and defined type.
2023-07-05 20:24:26 +03:00
Ilya Averyanov
9af0030538 chore: bump to v5.1.1 2023-07-05 18:43:45 +03:00
Ilya Averyanov
f174cb656c fix(rebalance): fix swagger examples in api-doc 2023-07-05 15:38:41 +03:00
Ilya Averyanov
dca6fe6200 fix(rebalance): fix global status evaluation on replicant nodes 2023-07-05 12:48:44 +03:00
JianBo He
aaf015c06f test(stomp): cover subscription in use 2023-07-05 15:22:44 +08:00
lafirest
bf5167a8bf
Merge pull request #11172 from lafirest/fix/dup_payload
fix(ruleengine): fix duplicate `payload` problems
2023-07-05 14:20:26 +08:00
JianBo He
0483c6afef fix(stomp): not allow to create same subscriptions 2023-07-05 14:13:25 +08:00
Stefan Strigler
263890be47 fix: limit mqtt max_packet_size to 256MB 2023-07-04 16:03:11 +02:00
Andrew Mayorov
8cc7022760
Merge pull request #11120 from ft/EMQX-10329/tooling
test: add tooling to make testruns more isolated and predictable
2023-07-04 14:36:39 +02:00