Thales Macedo Garitezi
3013189cd7
fix(resource manager): force kill process if stuck when stopping/removing
...
Fixes https://emqx.atlassian.net/browse/EMQX-12357
2024-06-04 11:38:24 -03:00
ieQu1
9f7ef9f34f
fix(ds): Apply review remarks
2024-05-13 19:35:24 +02:00
ieQu1
63e51fca66
test(ds): Use streams to fill the storage
2024-05-09 02:46:57 +02:00
ieQu1
68ca891f41
test(ds): Use streams to create traffic
2024-05-08 23:17:57 +02:00
zmstone
1974ec15ec
fix(client_attrs): fix client_attrs extraction loop
2024-04-30 12:12:35 +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
zmstone
f80d078de3
feat(variform): Add more functions
2024-04-15 16:56:52 +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
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
zmstone
bf12efac6d
fix(variform): add basic tests
2024-04-08 21:08:43 +02:00
ieQu1
ae5935e7f7
test(ds): Attempt to stabilize metrics_worker tests in CI
2024-04-02 19:14:10 +02:00
ieQu1
d8204021dc
refactor(metrics): Move metrics worker to emqx_utils application
2024-04-02 16:25:04 +02:00
zmstone
9ec99fef4a
feat: allow client_attr used in authz rules
2024-03-23 10:16:02 +01: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
Andrew Mayorov
d30c99512a
feat(utils-stream): add a few more stream combinators
2024-03-19 20:21:54 +01:00
Thales Macedo Garitezi
f84a996671
feat: implement message validation
...
Fixes https://emqx.atlassian.net/browse/EMQX-11980
2024-03-18 13:11:39 -03:00
Andrew Mayorov
367ffa8e80
feat(utils-fs): add function to compute relpaths naively
2024-02-27 23:41:50 +01:00
Zaiming (Stone) Shi
46877e979b
chore: update copyright-year
2024-02-23 08:21:06 +01:00
zhongwencool
e9c8446d57
feat: upgrade erlfmt to support maybe syntax
2024-01-31 20:06:49 +08:00
JianBo He
d12335c4c6
chore: add tests
2024-01-29 18:10:42 +08:00
JianBo He
2e35024df1
test: update eunit tests
2024-01-29 10:49:07 +08:00
Andrew Mayorov
eca2f972bc
Merge pull request #12237 from keynslug/fix/EMQX-11483/broker
...
feat(routing): add route sync process pool
2024-01-12 14:44:31 +01:00
Andrew Mayorov
f92b5b3f32
feat(stream): add simple stream over process message queue
2024-01-12 11:57:23 +01:00
Thales Macedo Garitezi
79a4a041e4
fix(bridge_api): correctly deobfuscate secrets during dry run
...
Fixes https://emqx.atlassian.net/browse/EMQX-11733
2024-01-11 15:42:14 -03:00
Stefan Strigler
be31486983
fix(emqx_utils): use deep_merge in unindent
2023-12-11 14:40:24 +01:00
Stefan Strigler
71607aa2ad
feat(emqx_bridge_mysql): port to shared connectors
2023-12-08 16:15:18 +01:00
Andrew Mayorov
3798060543
Merge pull request #12109 from keynslug/test/emqx-cth-suite
...
test(emqx): switch select test suites to use `emqx_cth_suite`
2023-12-06 09:48:53 +01:00
Thales Macedo Garitezi
f489de8860
Merge pull request #12100 from thalesmg/fix-password-action-probe-m-20231205
...
fix(bridges/actions api): correctly deobfuscate passwords when probing
2023-12-05 14:25:32 -03:00
Thales Macedo Garitezi
e42f4155d3
fix(bridges/actions api): correctly deobfuscate passwords when probing
...
Fixes https://emqx.atlassian.net/browse/EMQX-11533
2023-12-05 11:49:50 -03:00
Andrew Mayorov
286d483a3a
Merge pull request #12055 from keynslug/ft/EMQX-11474/subopts
...
fix(sessds): respect subscription options when publishing
2023-12-05 15:45:25 +01:00
Andrew Mayorov
b5c485cd55
test(sessds): add empty level topic subscription testcase
2023-12-04 13:38:42 +03:00
Andrew Mayorov
29ec73847a
fix(utils): make `flattermap/2` results less variative
2023-12-02 14:38:04 +03:00
Andrew Mayorov
b5f39f89e3
feat(utils): add `flattermap/2` as slightly more generic `flatmap/2`
2023-12-02 14:36:21 +03:00
Andrew Mayorov
8919b08207
fix(utils): rename `emqx_utils_stream:take/2` to `consume/2`
...
Which is more neutral and harder to confuse with a destructive `take` in
collections.
2023-11-15 17:20:40 +07:00
Andrew Mayorov
6812ee9d0f
fix(mgmt): hide route selection behind router interface
...
Also introduce a generic _stream_ concept, mostly to deal with
iterating over 2 ETS tables at once with `ets:match_object/3`.
2023-11-14 18:36:25 +07:00
Andrew Mayorov
b5b6c3f8cc
fix(tpl): ensure full backward compat in basic connectors
2023-11-02 20:13:32 +07:00
Andrew Mayorov
02c1bd70b6
feat(tpl): factor out loose json concept into a separate module
...
Which is called `emqx_jsonish`. Also introduce an _access module_
abstraction to extract information from such data during rendering.
2023-11-02 20:13:31 +07:00
Andrew Mayorov
69cfa740ea
fix(ruleeng): ensure full backward compatibility
2023-11-02 17:11:12 +07:00
Andrew Mayorov
8e4585d64f
chore: move template modules to `emqx_utils`
...
Even though most of the time these modules will be used by
connectors, there are exceptions (namely, `emqx_rule_engine`).
Besides, they are general enough to land there, more so given
that `emqx_placeholder` is already there.
2023-11-02 17:11:12 +07:00
Thales Macedo Garitezi
080cb73da1
fix: handle badmap inside `emqx_placeholder:proc_tmpl`
2023-09-07 13:40:03 -03:00
firest
7567d211da
fix(placeholder): porting fix to support utf8 key in placeholder
2023-08-09 10:54:41 +08:00
Thales Macedo Garitezi
631f4ceac9
fix(placeholder): add back support for nested keys inside binary encoded json
...
Fixes https://emqx.atlassian.net/browse/EMQX-10459
2023-06-30 10:05:49 -03:00
Thales Macedo Garitezi
50e7d5d2ec
fix(nolink_apply): avoid sending late replies to caller
...
Due to race conditions, it's possible that the caller to `pmap`/`nolink_apply` might
receive a late reply.
e.g. when a timeout occurred while resource manager was checking a resource's health:
```
19:18:23.084 [error] [data: ..., event_data: {#Reference<0.3247872820.3887857670.131018>, {:normal, [false, true, true, true, true, true]}}, event_type: :info, msg: :ignore_all_other_events, state: :connected]
```
Using an alias and also checking for the race condition in the `after` block (like
[`gen`](a76bf63197/lib/stdlib/src/gen.erl (L270-L277)
)
does), we avoid polluting the caller's mailbox with late replies.
2023-06-16 17:03:39 -03:00
zhongwencool
a10107045f
test: delete emqx_ft_fs_utils_SUITE_data from source code
2023-06-11 15:50:45 +08:00
zhongwencool
aed64aae60
chore: delete emqx_utils_fs_SUITE_data dir
2023-06-11 15:50:45 +08:00
Andrew Mayorov
a51baaa206
refactor(pluglib): move conversion utils to `emqx_utils_conv`
2023-06-09 14:44:37 +03:00
Andrew Mayorov
d6c1ee183f
refactor(pluglib): move `emqx_placeholder` to utils app
...
Also make user that existing code calls it directly.
2023-06-09 14:44:36 +03:00
Andrew Mayorov
468fd98173
test(utilfs): add few more `traverse_dir/3` testcases
2023-06-05 22:41:08 +03:00
Andrew Mayorov
8a31e5639b
fix(emqx): ensure that standalone build works
...
Turns out rebar3 `path` resource has troubles with dangling
symlinks and non-ASCII filenames. 🥲
2023-06-05 22:41:07 +03:00