Commit Graph

8556 Commits

Author SHA1 Message Date
Ivan Dyachkov
50a0900d92 chore: e5.1.1 2023-07-27 12:18:03 +02:00
JianBo He
951a96457b
Revert "feat(index): add topic index facility " 2023-07-27 13:42:43 +08:00
JianBo He
5e4855334e
Revert "Fix(topicidx): allow to return matches unique by record id" 2023-07-27 13:39:37 +08: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
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
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
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
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
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
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
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
ieQu1
57e39f42c5
Merge pull request #11294 from ieQu1/mria-fixes
Mria fixes
2023-07-19 15:10:42 +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
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