JimMoen
6168745f90
chore: update copyright
2022-04-14 11:23:25 +08:00
Shawn
ae8f03a188
fix(rules): deny POST /rules with an existing Id
2022-04-13 23:16:29 +08:00
EMQ-YangM
0dc26ba483
fix: create new version
2022-04-13 15:01:47 +08:00
EMQ-YangM
6600de710a
fix: fix behavior of rule-engine when selection field does not exist
...
when the selection field does not exist, it should output field => undefined
2022-04-13 14:55:43 +08:00
EMQ-YangM
1886893fa1
fix: add zip_compress functions
2022-04-13 14:19:32 +08:00
DDDHuang
73ac4c1ff8
fix: random id ensure do not delete resource
2022-04-11 18:33:20 +08:00
EMQ-YangM
8530ecec4d
fix: delete a resource before updating it
2022-04-08 11:46:10 +08:00
EMQ-YangM
adf7d53ca5
fix: use concat replace flatten
2022-04-08 10:27:28 +08:00
EMQ-YangM
7606f55673
fix: update emqx_rule_engine.appup.src
2022-04-08 10:17:18 +08:00
EMQ-YangM
96b26bf4ce
fix: discard rpc call failed data
2022-04-08 10:12:40 +08:00
Yang Miao
16dc0d6555
Merge pull request #7536 from EMQ-YangM/reset_cluster_metrics
...
feat: impl reset cluster metrics
2022-04-07 11:31:49 +08:00
Yang Miao
75486efb11
Merge pull request #7534 from EMQ-YangM/dev/v4.3.14
...
fix: change rule_speed record type
2022-04-07 10:37:27 +08:00
EMQ-YangM
1c32b08b21
feat: impl reset cluster metrics
2022-04-07 10:32:58 +08:00
EMQ-YangM
0e02e8df9d
fix: change rule_speed record type
2022-04-07 09:50:31 +08:00
Thales Macedo Garitezi
a1705f5653
fix: flaky test
2022-04-06 09:11:09 -03:00
Georgy Sychev
1a715c8708
feat(emqx_dashboard): subsciption to update password
...
emqx_dashboard restarted in ekka hook
Closes #3155
2022-04-05 10:40:09 +02:00
Zaiming (Stone) Shi
5b58eaa203
refactor(emqx_rule_engine): return not raise error for known reasons
2022-04-04 19:10:52 +02:00
Zaiming (Stone) Shi
67ce53b5fc
fix(appup): re-generated emqx_rule_engine.appup.src
2022-04-02 23:25:36 +02:00
Zaiming (Stone) Shi
a54813dd69
fix(appup): re-generate appup from 4.3.13
2022-04-02 23:00:41 +02:00
EMQ-YangM
299c369d80
feat: enhanced rule engine error handling when json parsing error
2022-04-02 16:24:07 +08:00
Xinyu Liu
b84ef11935
Merge branch 'dev/v4.3.14' into dev/v4.3.14
2022-04-01 09:32:42 +08:00
Xinyu Liu
3cc0bb8284
Merge branch 'dev/v4.3.14' into fix_patter_match_v4.3
2022-04-01 09:14:34 +08:00
EMQ-YangM
326634c287
feat: impl api PUT /rules/{id}/reset_metrics
2022-03-31 18:00:57 +08:00
EMQ-YangM
510e4d31e4
fix: load_module emqx_rule_events
2022-03-31 13:48:12 +08:00
EMQ-YangM
cead8c9056
fix: use masp:get/3 to avoid crash after match failure
2022-03-30 09:44:06 +08:00
DDDHuang
6ab0934674
fix(rule): connection test when creating a resource
2022-03-30 09:23:51 +08:00
zhongwencool
4ee586a738
fix: appup.src
2022-03-29 17:12:35 +08:00
Chris
a1a37bcbee
feat: Add mongo_date function to support saving timestamp as MongoDB Date object
2022-03-25 17:43:32 +01:00
JianBo He
b76372e621
chore: remove duplicated emqx_rule_funcs in appup.src
2022-03-23 19:29:58 +08:00
Xinyu Liu
0d55b9242d
Merge branch 'main-v4.3' into resource_get_status_timeout
2022-03-23 17:59:59 +08:00
Shawn
e8c7388aa4
chore: update appup file for emqx_rule_engine
2022-03-23 16:21:27 +08:00
zhongwencool
b993595c6d
fix: add emqx_rule_funcs to appup.src
2022-03-23 15:42:53 +08:00
Shawn
5275e6a30f
fix(rule): get the cached status when calling emqx_rule_engine:get_resource_status/1
2022-03-23 15:33:50 +08:00
EMQ-YangM
62eff94249
feat(emqx_rule_funcs): add functions gzip, gunzip, zip, unzip
2022-03-22 15:16:31 +08:00
Shawn
5823751d7d
chore: bump emqx_rule_engine to 4.3.9
2022-03-18 18:28:30 +08:00
Shawn
81ae2be760
fix(rules): enlarge precisions of floats to maximum 17 decimal places.
...
When printing floats to strings, we have to define a small decimal
limits to avoid print a too long and "inaccurate" float number:
```
2> float_to_binary(0.3).
<<"2.99999999999999988898e-01">>
```
This fix sets precision of floats to 17 digits after the decimal point.
This precision is larger than precision of most `double` data type used by
databases(14 digits for mysql and 15 digits for pgsql).
2022-03-18 15:42:01 +08:00
Zaiming (Stone) Shi
cca9e52c9a
chore(appup): add missing appup instructions
2022-03-01 11:41:52 +01:00
Thales Macedo Garitezi
cf1cc7e9db
chore(appup): update appup files
2022-02-24 17:14:47 -03:00
Zaiming (Stone) Shi
43c900bb5a
chore: rename more descriptive EQM X to EMQX
2022-02-22 11:16:38 +01:00
Zaiming (Stone) Shi
a5f6e94467
docs: EMQ X -> EMQX
2022-02-15 22:12:46 +01:00
Zaiming (Stone) Shi
e09e5673eb
docs(README): EMQ X -> EMQX
2022-02-15 16:15:25 +01:00
Thales Macedo Garitezi
fdef292ef7
fix(appup): rm redundant `load_module` instruction after `update`
2022-02-10 09:31:36 -03:00
Thales Macedo Garitezi
e053700441
style: please elvis checks
2022-02-09 11:02:05 -03:00
Thales Macedo Garitezi
5e223ac64f
chore(appup): update appup files
2022-02-09 09:54:39 -03:00
Thales Macedo Garitezi
b968d4c416
fix(ctl): fix formatting when printing messages without arguments (4.3)
...
Without passing an empty argument list to `emqx_ctl:print`, formatting
instructions like `~n` are being printed literally.
```
Ignore.~nJoin the cluster successfully.~nCluster status: #{running_nodes =>
['emqx@emqx-0.int.thalesmg','emqx@emqx-1.int.thalesmg',
'emqx@emqx-2.int.thalesmg','emqx@emqx-3.int.thalesmg',
'emqx@emqx-4.int.thalesmg'],
stopped_nodes => []}
```
2022-02-09 09:36:27 -03:00
EMQ-YangM
03d240c59e
fix(emqx_rule_engine_metrics): fix code_change vsn value
2022-01-24 11:14:31 +08:00
Shawn
2d00373e49
fix(appup): update appup file for emqx_rule_engine_api
2022-01-19 19:51:25 +08:00
Shawn
70c6ac4e0d
fix(rule): deny POST rules or resources with empty ids
2022-01-19 19:22:25 +08:00
Shawn
eec566fe40
fix(rule): restore the metrics for actions in cluster
2022-01-14 10:33:32 +08:00
Shawn
4abcab8d52
fix(appup): update appup files for emqx,emqx_sn,rule_engine
2022-01-13 18:37:22 +08:00
Shawn
9f7f5070b2
fix(channel): update the calls to emqx_session APIs
2022-01-13 13:33:27 +08:00
Shawn
217acc0154
feat(rule): add new event 'delivery_dropped'
2022-01-12 20:11:08 +08:00
EMQ-YangM
da8cd5d103
fix(rule_engine_metrics): fxi string:to_integer pattern match error
2022-01-11 22:09:38 -08:00
EMQ-YangM
de58c8e7bc
refactor(rule_engine_metrics): refactor code_change
2022-01-11 22:09:38 -08:00
EMQ-YangM
7605fa5e64
fix(rule_engine_metric): remove unused metrics 'overall_metrics'
2022-01-11 22:09:38 -08:00
Shawn
82c6eaa3aa
Merge branch 'main-v4.3' into main4.3
2022-01-10 12:31:12 +08:00
EMQ-YangM
3956eaddd7
fix(rule_engine_metrics): add more rulge_engine version to emqx_rule_engine.appup.src
2022-01-09 19:27:49 -08:00
Shawn
fbeba39f0d
fix(rule): compare to null variables should return false
2022-01-06 20:36:01 +08:00
Shawn
b7bcb37eab
fix(rule): restore metrics for actions
2022-01-06 20:18:05 +08:00
EMQ-YangM
be81c65eda
feat(rule_engine_metics): add hot upgrade feat
2022-01-06 00:47:17 -08:00
EMQ-YangM
2074dd63f9
test(rule_engine_metrics): add more test
2022-01-05 21:11:52 -08:00
EMQ-YangM
1211c658fc
fix(emqx_rule_engine): change vsn to 4.3.7
2022-01-05 19:18:16 -08:00
EMQ-YangM
fae49ad228
fix(rule_engine_metrics): remove more space
2022-01-05 19:03:28 -08:00
EMQ-YangM
d7a3ade200
fix(rule_engine_matrics): remove more space
2022-01-05 19:00:59 -08:00
EMQ-YangM
2608798826
fix(rule_engine_metrics): fix RuleID reference
2022-01-05 18:56:34 -08:00
EMQ-YangM
c214af2ac0
fix(rule_engine_metics): centralized statistics exception
2022-01-05 18:51:28 -08:00
EMQ-YangM
e5993c9f72
refactor(rule_engine_metrics): remove function 'message()'
2022-01-05 02:08:40 -08:00
EMQ-YangM
c2870b3322
test(rule_engint_metrics): add test for 'FOREACH'
2022-01-05 01:57:18 -08:00
EMQ-YangM
88913a9144
test(rule_engine_metrics): add test 't_metrics'
2022-01-05 01:20:53 -08:00
EMQ-YangM
a5a8aa3b6d
feat(rule_metrics): add more metrics to the rule engine
2022-01-05 00:20:06 -08:00
Zaiming Shi
f1f2e51c99
fix: update appup
2021-11-08 16:17:54 +01:00
Turtle
9f843d618d
fix(rule): fix rpc timeout extend the RPC timeout interval
2021-09-15 08:19:22 +08:00
Turtle
3ad0678892
fix(rule): fix edit rule fail in the cluster
2021-09-14 14:54:24 +08:00
Turtle
ac0639f6b1
fix(actions): fix republish actions payload is null
2021-08-04 14:39:19 +08:00
Turtle
8fb9170df8
fix(rule-engine): fix rule status is not available after the emqx restart
2021-08-03 17:31:43 +08:00
Shawn
6724e59e7a
fix(appup): relup for emqx_rule_registry failed
2021-06-21 12:18:39 +08:00
Shawn
5962c9c83c
feat(rules): remove stats update from rule_engine_registry ( #5029 )
2021-06-19 17:02:43 +08:00
Shawn
c0367fb8dd
Delete resource failed when searching dependent rules ( #4996 )
2021-06-17 16:45:44 +08:00
k32
1e562d4bc6
chore(rule_engine): Don't import alias/1 BIF
...
Fixes : #4847
2021-05-22 01:40:07 +02:00
Shawn
4cd056cab5
fix(rule_engine): update status to false when refresh resource failed ( #4821 )
...
* fix(rule_engine): update status to false when refresh resource failed
* fix(dialyzer): ignore import_modules/1 created fun has no local return
* fix(appup): update appup for rule engine
2021-05-17 17:59:01 +08:00
Zaiming Shi
ded494f544
fix(emqx_rule_engine): add appup
2021-05-11 14:25:46 +02:00
Turtle
80ef076cee
feat(rule_engine): rule sql add null function
2021-05-08 17:15:07 +08:00
Zaiming Shi
fbe15859f5
fix(emqx_rule_utils): http connectivity check ipv6 support
2021-04-28 10:43:36 +02:00
Shawn
bea28d887c
fix(rule_engine): refresh rules and then re-enable it
2021-04-27 15:45:25 +08:00
Shawn
6557b132a2
fix(rule_engine): only refresh enabled rules at bootup
2021-04-27 11:17:12 +08:00
Shawn
7198c018e2
fix(rule_engine): change the rule state when force enabled/disabled
2021-04-27 11:17:12 +08:00
Shawn
18688da0c1
fix(rule_engine): only auto re-enable the rule when it was force disabled
2021-04-27 11:17:12 +08:00
Shawn
da81ab7988
fix(rule_engine): remove sleep before refresh rules
2021-04-27 11:17:12 +08:00
Shawn
e3501acc02
fix(rule_engine): delete resource crashes when dependent rule exists
2021-04-27 11:17:12 +08:00
Shawn
3646e76a7a
fix(rule_engine): re-enable rules after resource started
2021-04-27 11:17:12 +08:00
Shawn
9fd43ef882
fix(rule_engine): reformat some code for dependent rules discovery
2021-04-27 11:17:12 +08:00
DDDHuang
29592fe1b4
Fix rule engine build fail ( #4673 )
...
* fix: add rule engine resources time
2021-04-26 15:32:54 +08:00
Zaiming Shi
d61b100cc9
chore: more copyright updates
2021-04-23 20:43:00 +02:00
Zaiming Shi
6354e75626
chore: update copyrights
2021-04-23 20:43:00 +02:00
DDDHuang
4178e1a023
fix: disable rule if build fail
2021-04-22 14:46:28 +08:00
Shawn
19a9bab3a4
feat(rule_engine): add rule sql functions for datetime rfc3339
2021-04-22 10:32:44 +08:00
Shawn
b5edba7729
fix(rule_engine): load hooks to all the nodes in cluster
2021-04-12 09:41:28 +08:00
Zaiming Shi
d8e410e770
fix(emqx_rule_engine): missing calls
...
some calls are for enterprise only
2021-04-11 22:55:39 +02:00
JianBo He
496e5381fb
chore(rule-engine): compatible with the lower case hash string
2021-03-25 09:10:05 +08:00
JianBo He
277cab86d3
refactor: improve the speed of hexstr and binary conversions
2021-03-23 18:25:19 +08:00
wwhai
0d75ea874b
fix(rule-engine): add 'undefined' type for create time
2021-03-19 08:57:19 +08:00
wwhai
f7b34cb098
feat(rule-engine): list rule support order by timestrap
2021-03-12 17:35:13 +08:00
Zaiming Shi
c752f3bec5
Refactor http lib add uri parse ( #4292 )
...
* feat(http_lib): Add uri parse to emqx_http_lib
* fix(webhook): call emqx_http_lib to parse uri
* fix(auth-http): Call emqx_http_lib to parse uri
* fix(rule-engine): call emqx_http_lib to parse uri
2021-03-06 13:35:02 +08:00
z8674558
1504164933
chore(src): fix dialyzer warnings (match values)
2021-03-03 20:06:31 +09:00
Zaiming Shi
8316f8cc34
fix(rule-engin-api): transform input config for update requests
2021-03-03 09:19:07 +08:00
Zaiming Shi
dd06d70bce
refactor(build): Move parse_transform module to root app
...
So we do not have to workaround the compile order issue
2021-03-02 08:40:19 +08:00
Shawn
6081d45d81
fix(rule): reformat some code
...
* fix(rule): reformat some code for rule-engine
* fix(lwm2m): change publish_update_when to publish_update_msg_when
Change the option name publish_update_when -> publish_update_msg_when.
Also change the object_list_changed to contains_object_list, as the
the later describes the default behavior correctly.
* fix(lwm2m): publish_update_msg_when -> update_msg_publish_condition
2021-03-01 20:15:12 +08:00
Shawn
6d83bc3e9b
fix(rule): destroy the actions when disabling the rule ( #4232 )
...
Merge the following PR from enterprise version:
https://github.com/emqx/emqx-rule-engine/pull/231
2021-02-24 13:24:23 +08:00
Shawn
e201484163
fix(rule): incorrect merge for map_get/2,3 and map_put/3
2021-02-22 18:16:24 +08:00
Shawn
196fef0255
chore(rule): migrate rule-engine from enterprise version
2021-02-22 13:53:51 +08:00
Shawn
7778cd8623
Add hooks only when creating the rules ( #4160 )
...
* refactor(rules): add hook only when creating rules
* fix(rule): update hooks after application restarted
* fix(rule): remove the extra guard
2021-02-22 11:16:47 +08:00
Shawn
1e047e84c2
feat(resource): keep restart disconnected resources after emqx bootup ( #4125 )
...
* feat(resource): keep restart disconnected resources after emqx bootup
* feat(resource): improve the restart monitor
* fix(test): improve emqx_rule_monitor_SUITE
* fix(resource): refresh resource should be only applied on local node
* fix(test): improve the test case for restart_resource
* fix(resource): rename some functions
2021-02-20 17:10:50 +08:00
Shawn
c2e1bc039b
feat(rule): add more sql functions #4143 ( #4144 )
2021-02-20 17:10:10 +08:00
Zaiming Shi
4a877a3a69
chore(apps): relocate some apps
...
emqx_telemetry is for opensource onlyh
emqx_rule_engiune is common
2021-02-19 11:24:41 +01:00
Zaiming Shi
8f477e8411
refactor(proj): Move opensource apps to lib-opensource
...
One step closer for better code abstraction for opensorce vs enterprise
So far this relocation is to make opensource to enterprise merges
conflict free.
2021-02-11 16:45:05 +01:00
Shawn
70a490114d
fix(rulesql): proc cassandra cql with apostrophes failed
2021-02-05 15:30:16 +08:00
Shawn
a2fa84255f
fix(rulesql): proc_sql_param_str incorrect with apostrophes #4135 ( #4137 )
2021-02-05 10:41:54 +08:00
wwhai
6eff70a646
fix(rule-engine): reply 500 when update resource failed ( #4120 )
2021-02-01 09:47:08 +08:00
wwhai
a3206f5e0b
fix(rule-engine): reformat code style
2021-01-29 19:32:05 +08:00
wwhai
3973c93534
fix(rule-engine): remove unused code
2021-01-29 17:16:00 +08:00
wwhai
7072355bc1
fix(rule-engine): fix test failure
2021-01-29 15:24:07 +08:00
wwhai
73655369af
fix(rule-engine): reformat some code
2021-01-29 11:52:32 +08:00
wwhai
f0993c6b0f
chore(style): improve the codes style
2021-01-28 20:01:59 +08:00
wwhai
b5c435e211
fix(rule-engine): add format space
2021-01-27 19:01:11 +01:00
wwhai
e7153c4266
fix(rule-engine): add cluster init callback
2021-01-27 15:06:12 +08:00
wwhai
81da182e1b
feat(rule-engine): change init resource to test resource
2021-01-25 19:44:32 +08:00
wwhai
f3420e8810
fix(rule-engine): fix update resource maybe remove resource
2021-01-25 10:56:58 +08:00
bignullnull
67bfb4f10a
fix(rule_engine): resource update problem and add cli ( #3991 )
2021-01-15 09:12:24 +08:00
JianBo He
f2190dd5b5
chore(mnesia): explicitly specify the copy type for table
2021-01-14 15:46:16 +08:00
JianBo He
2a029b71c9
perf(mnesia): unify the copy types of all nodes
2021-01-14 15:46:16 +08:00
ayodele.akingbule
990be9c198
fix(emqx_rule_engine_api): fix dialyzer warnings
2021-01-04 14:14:55 +01:00
Shawn
e518828d8f
fix(rule_engine): mechanism of restarting resources ( #3980 )
2021-01-04 11:52:57 +08:00
Ayodele
26021b37b3
Umbrella fix build ( #3969 )
...
* fix(dialyzer): dialyzer warning.
2021-01-04 09:10:22 +08:00
Shawn
d86b5ef210
fix(rule_engine): compile warnings on the macro RAISE
2020-12-31 17:03:39 +08:00
Shawn
a747cf16bd
fix(resource_cli): update the CLIs for resources ( #3978 )
2020-12-31 13:41:33 +08:00
bignullnull
37974f7376
fix(rule_engine): add resource reconnect check ( #3974 )
...
* fix(rule_engine): add resource reconnect check
* fix(rule_engine): add reason for RAISE macro
2020-12-31 12:51:01 +08:00
wwhai
903ce29ce0
fix(rule_engine): fix resource update maybe failure
2020-12-31 11:43:03 +08:00
bignullnull
efb32e9903
test(rule_engine): add update resource unit test case ( #3964 )
...
* test(rule_engine): add update resource unit test case
* feat(rule_engine): add update resource support
Co-authored-by: wwhai <cnwwhai@gmail.com>
2020-12-28 14:59:28 +08:00
JianBo He
9e22f492c7
refactor(rule-engine): add proc_sql_param_str/2 to handle sql params
2020-12-28 10:51:13 +08:00
Shawn
6b5878cdd0
fix(test): solve verification issue when verify the resource numbers
2020-12-23 16:39:40 +08:00
zhanghongtong
3ef08f9ce3
test(meck): add meck unload after meck load
2020-12-22 13:39:49 +08:00
Shawn
443ff737ed
fix(rule_engine): use rpc in emqx_rule_engine_api
2020-12-22 11:18:16 +08:00
Shawn
e15c0c325e
fix(rule_engine): nested_get value from binary was supported in 4.1
2020-12-22 11:18:16 +08:00
Shawn
86d20b060c
fix(metrics): counters not created before incr 'rule.matched'
2020-12-22 11:18:16 +08:00
Shawn
c3159420bb
feat(funcs): add bitsize/1 and subbits/2,3,6 functions
2020-12-22 11:18:16 +08:00
Shawn
e72cbd22c4
fix(rule_validator): fill default values when validating the params
2020-12-18 11:08:17 +08:00
Shawn
0a44270932
* fix(dialyzer): remove the dialyzer errors
2020-12-17 10:04:49 +08:00
ayodele.akingbule
ec79523ea5
fix(emqx_rule_actions): fix Dialyzer warnings
2020-12-15 11:39:52 +01:00
ayodele.akingbule
8ee98e3f20
fix(emqx_rule_utils): fix Dialyzer warnings
2020-12-15 11:31:55 +01:00
Zaiming Shi
d60212787b
chore(build): remove emqx from app's applications list
2020-12-12 23:02:26 +01:00