Commit Graph

631 Commits

Author SHA1 Message Date
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
Yudai Kiyofuji 56920b6ca6
fix(bridge_mqtt): max_inflight_size -> max_inflight; this enables emqtt.erl to use the value (#3938)
* fix(bridge_mqtt): max_inflight_size -> max_inflight; this enables emqtt.erl to use the value

* chore(bridge_mqtt): fix elvis

* fix(worker): max_inflight_batches -> max_inflight
2020-12-28 13:43:13 +08:00
JianBo He 739e49218f
fix(cm): fix the problem of registering a channel twice (#3831) 2020-12-28 11:03:29 +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
JianBo He d628c49f16 fix(management): make client format function durable 2020-12-28 10:51:13 +08:00
ayodele.akingbule b68a0b3730 fix(emqx_lua_hook): fix dialyzer warnings. 2020-12-25 07:42:01 +08:00
ayodele.akingbule 2126129aee fix(emqx_prometheus): fix Dialyzer warnings 2020-12-25 07:42:01 +08:00
ayodele.akingbule 80cca940c2 fix(emqx_http_client): fix Dialyzer warnings 2020-12-25 07:42:01 +08:00
Shawn 02245aeb7a chore(test): provisionally delete the testcase for SASL
The SASL feature in emqtt is not ready, delete the testcases for now.
2020-12-23 16:42:49 +08:00
Shawn 865c63d82e fix(emqx_mgmt): data export failed on generating the exported filename 2020-12-23 16:41:18 +08:00
Shawn 6b5878cdd0 fix(test): solve verification issue when verify the resource numbers 2020-12-23 16:39:40 +08:00
Shawn ec8cfecdc0 fix(test): typos in emqx_mgmt_api_SUITE 2020-12-23 13:47:22 +08:00
Shawn 60f1b64ad9 fix(test): delete extra emqx_lua_hook:stop() 2020-12-22 22:05:24 +08:00
Shawn 9e3b6da9ca fix(test): delete extra verfication for 'max_age' 2020-12-22 18:22:17 +08:00
Shawn 54ff20ec0e fix(build): remove the extra cowlib deps from emqx_auth_http 2020-12-22 17:50:10 +08:00
zhanghongtong a364758e2a test(emqx_recon): stop emqx correctly in the test case 2020-12-22 13:39:49 +08:00
zhanghongtong 3ef08f9ce3 test(meck): add meck unload after meck load 2020-12-22 13:39:49 +08:00
zhanghongtong 26758d48d1 test(auth mnesia): the initial environment is restored at the end of the test case 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
Yudai Kiyofuji 8a50c70ca3
Merge pull request #3929 from z8674558/feat/coap-acl
feat(coap): use emqx_access_control:check_acl before pub/sub
2020-12-21 16:38:49 +09:00
zhanghongtong 0ef84d2722 fix(auth mnesia): remove the duplicate cli command
style(auth mnesia): fix elvis check failurex

style(auth mnesia): remove the extra symbol
2020-12-19 15:20:46 +08:00
Shawn e72cbd22c4 fix(rule_validator): fill default values when validating the params 2020-12-18 11:08:17 +08:00
z8674558 a564670863 fix(coap): fix the issue the connection with same clientid is not discarded 2020-12-17 15:57:38 +09:00
zhanghongtong fd6cc1a848 test(CI): update actions
add fvt tests

update test cases
2020-12-17 14:23:33 +08:00
Shawn 0a44270932
* fix(dialyzer): remove the dialyzer errors 2020-12-17 10:04:49 +08:00
z8674558 f06ec6baaa chore(lint): fix elvis 2020-12-17 10:55:57 +09:00
z8674558 c89dad559e feat(coap): use emqx_access_control:check_acl before pub/sub 2020-12-17 10:36:51 +09:00
Zaiming Shi d4e7a87807 fix(emqx_stomp): Fix emqx_stomp_protocol xref 2020-12-16 18:39:18 +08:00
Zaiming Shi ab57c19e7a
Merge pull request #3917
Fix dialyzer warnings
2020-12-15 13:50:31 +01:00
ayodele.akingbule 893301db6a fix(emqx_stomp_protocol): fix Dialyzer warnings 2020-12-15 12:45:47 +01:00
ayodele.akingbule ec79523ea5 fix(emqx_rule_actions): fix Dialyzer warnings 2020-12-15 11:39:52 +01:00
ayodele.akingbule 51c62dfe65 fix(emqx_auth_mnesia_api): fix Dialyzer warnings 2020-12-15 11:31:55 +01:00
ayodele.akingbule 8ee98e3f20 fix(emqx_rule_utils): fix Dialyzer warnings 2020-12-15 11:31:55 +01:00
z8674558 66ebcfa301 test(emqx_auth_redis): add test cases for sentinel 2020-12-15 10:35:13 +08:00
JianBo He bddacf5284 test(management): refine the tests 2020-12-14 11:35:05 +08:00
JianBo He 5d98944c94 feat(management): implement the auth-mnesia import/export
All codes picks from emqx-management:dev/e4.2.3
2020-12-14 11:35:05 +08:00
JianBo He 1b016b16f4
Merge branch 'dev/v4.3.0' into refact/avoid_anonymous_funcs 2020-12-14 11:23:13 +08:00
JianBo He 1be1757bbd fix(mongo): avoid function_caluse while query returned other types 2020-12-14 11:13:36 +08:00
JianBo He 27d6b73c37 refactor(mqttsn): avoid saving anonymous functions 2020-12-14 11:13:04 +08:00
Zaiming Shi d60212787b chore(build): remove emqx from app's applications list 2020-12-12 23:02:26 +01:00
Shawn 10dbb5bc96
Fix testcases warns (#3906) 2020-12-11 18:54:48 +08:00
Zaiming Shi 7bdd093ef5 Merge remote-tracking branch 'origin/dev/v4.3.0' into umbrella-fix-build 2020-12-11 08:55:57 +01:00
Zaiming Shi d75b89eadb chore(proj): sync .ci directories 2020-12-11 08:37:14 +01:00
Zaiming Shi 0237abd3d2 chore(emqx_lwm2m): Ensure xml dir copied to build dir 2020-12-11 08:29:45 +01:00
Zaiming Shi 3a91ff8a7b chore(proj): resync apps 2020-12-11 08:19:26 +01:00
ayodele.akingbule b2efcef4b4 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 6ffb20e1d4 fix(emqx_auth_mnesia_api): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 7998ea1703 fix(emqx_auth_mnesia): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 5644fdc1f0 fix(emqx_acl_mnesia): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule b08d9d5d9b fix(emqx_auth_jwt_svr): Dialyzer warnings 2020-12-10 23:34:36 +01:00
Shawn ed510936fe fix(test): revert the code committed by mistake 2020-12-10 21:37:29 +08:00
Ayodele 56d7b3deb1 Umbrella fix build (#8) 2020-12-10 11:25:25 +01:00
Zaiming Shi fb5ad0559f fix(emqx_exproto_conn): dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi d3fda0f944 refactor(emqx_coap): pin gen_coap 0.3.1 for dialyzer warning fix 2020-12-10 11:22:38 +01:00
Zaiming Shi 19edda4136 fix(emqx_lwm2m): bump to lwm2m_coap 1.1.2 2020-12-10 11:22:38 +01:00
Ayodele ff99bc10ad Umbrella fix build (#7)
* fix(emqx_auth_mongo): Dialyzer warnings

* fix(emqx_auth_mnesia_api): Dialyzer warnings

* fix(emqx_exhook): Dialyzer warnings
2020-12-10 11:22:38 +01:00
Ayodele 0cb9cbce71 Umbrella fix build (#6)
* fix(emqx_bridge_rpc): Dialyzer warnings

* fix(emqx_coap_app): Dialyzer warnings

* fix(emqx_coap_mqtt_adapter): Dialyzer warnings

* fix(emqx_lwm2m_json): Dialyzer warnings

* fix(emqx_lwm2m_message): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_mgmt_cli): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_bridge_rpc): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_exproto_gcli): Dialyzer warnings
2020-12-10 11:22:38 +01:00
Ayodele 13b67c0d19 Umbrella fix build (#5)
* fix(emqx_auth_jwt): Dialyzer warnings

* fix(emqx_auth_mnesia_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_auth_redis_sup): Dialyzer warnings

* fix(emqx_bridge_mqtt): Dialyzer warnings

* fix(emqx_auth_pgsql_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_auth_mnesia_cli): Dialyzer warnings
2020-12-10 11:22:38 +01:00
ayodele.akingbule 18ddde0174 fix(emqx_lwm2m_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule a03d7045cf fix(emqx_lwm2m_protocol): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 80f56654e2 fix(emqx_psk_file): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 01fe9d3ee7 fix(emqx_psk_file_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 7116a22fa5 fix(emqx_psk_file): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 1a8baa9d8a fix(emqx_management): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 37e3b11263 fix(emqx_mgmt_api_alarms): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 8ed5dc0b78 fix(emqx_lwm2m_timer): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule a94b70a95e fix(emqx_lua_hook): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 31c6292008 fix(emqx_exproto_conn): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule b0ea0e2ddb fix(emqx_exhook_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule cb4892b8c4 fix(emqx_dashboard_admin): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule d54a5300fc fix(emqx_coap_registry): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 950430d5da fix(emqx_coap_ps_topics): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 822460377c fix(emqx_auth_redis_cli): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule b5e0386c98 fix(emqx_auth_redis_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 0e24e59366 fix(emqx_auth_mysql_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 7ba5c1787b fix(emqx_auth_mnesia_cli): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 4905b98c26 fix(emqx_auth_ldap_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule dc27900260 fix(emqx_auth_jwt_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule d8c9547a5e fix(emqx_auth_http): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi c8b866dc63 fix(emqx_rule_engine): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 5bb1da5896 fix(emqx_rule_engine_sup): discard ets:new return value 2020-12-10 11:22:38 +01:00
ayodele.akingbule 9db6b3b430 fix(emqx_auth_mnesia_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule db25660497 fix(emqx_auth_http_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 39883bdab1 fix(emqx_retainer): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 8bb8dc5363 fix(emqx_rule_engine): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 692f59afaf fix(emqx_rule_events): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 3dc11bc9e1 fix(emqx_rule_funcs): Fix strng:pad calls 2020-12-10 11:22:38 +01:00
Zaiming Shi 526d6f74bb fix(emqx_rule_metrics): Fix type specs 2020-12-10 11:22:38 +01:00
Zaiming Shi a504539097 fix(emqx_rule_registry): Dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi e58abd916c fix(rule_engine.hrl): Type spec, args map is keyed by binary 2020-12-10 11:22:38 +01:00
Zaiming Shi a59218d008 fix(emqx_plugin_template): Dialyzer wanrings 2020-12-10 11:22:38 +01:00
Zaiming Shi bdfcc2da0e fix(emqx_rule_engine_api): Dialyzer warnings for no_match 2020-12-10 11:22:38 +01:00
Zaiming Shi ff55b0ff45 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 42ed274ec3 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 764d5977c1 fix(emqx_rule_engine): Dialyzer warning related to generated code 2020-12-10 11:22:38 +01:00
Zaiming Shi 6a1aae52eb fix(emqx_rule_validator): Dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi 4cfe4e9940 fix(eqmx_sasl): Dialyzer warning 2020-12-10 11:22:38 +01:00
Shawn 02afda2f3b chore(test): testing the github action 2020-12-10 16:49:32 +08:00
Zaiming Shi baaa4e847d fix(emqx_sn_gateway): Dialyzer warnings 2020-12-10 09:49:24 +01:00
Zaiming Shi 8d853a3445 fix(dialyzer/emqx_sn): Fix unmatched return value warning 2020-12-10 09:37:23 +01:00
Zaiming Shi 2e5a0b799d fix(sn): Fix dialyzer warnings 2020-12-10 09:35:35 +01:00
Zaiming Shi 760ef9210a fix(stomp): Fix dialyzer warnings 2020-12-10 09:35:35 +01:00
Zaiming Shi bcae92ae6d fix(telemetry): Fix dialyzer warning about mnesia dirty op race 2020-12-10 09:35:35 +01:00
Zaiming Shi 996b205299 fix(telemetry): Fix dialyzer warning in emqx_telemetry_api 2020-12-10 09:35:35 +01:00
Shawn 12e0028b77 fix(mgmt): remove schema_registry calls from opensource code 2020-12-10 16:30:48 +08:00
Zaiming Shi ecf69b3464 chore(emqx_lwm2m): Add TEST compiler condition for test code 2020-12-10 09:29:46 +01:00
JianBo He 2b1429fe03 test(stomp): cover the emqx_stom_heartbeat:interval/2 2020-12-10 13:08:03 +08:00
JianBo He 713b4c7804 refactor(stomp): remove transaction module 2020-12-10 12:33:55 +08:00
JianBo He 1263a05bbc refactor(stomp): improve code form naming 2020-12-10 12:33:55 +08:00
JianBo He 9e47d31f79 refactor(stomp): avoid anonymous functions 2020-12-10 12:33:52 +08:00
Shawn 15d048d8ec feat(funcs): add bitsize/1 and subbits/2,3,6 functions
Given following Rule SQL:

```
select
  subbits(payload, 1, 8) as firstByte,
  case
    when firstByte = 123 then 't/{'
    when firstByte = 125 then 't/}'
    else 't/' + str(firstByte)
  end as tp
from "t/#"
```

Input Payload: `{x}`
Output: `{"tp": "t/{", "firstByte": 123}`

Input Payload: `}x`
Output: `{"tp": "t/}", "firstByte": 125}`

Input Payload: `a`
Output: `{"tp": "t/97", "firstByte": 97}`
2020-12-10 11:26:07 +08:00
Shawn 573a4b2df8 chore(rule_engine): sync the code from rule-engine/dev/v4.3.0 2020-12-09 17:58:26 +08:00
JianBo He 49d15d974a build(make): add xref, dialyzer command 2020-12-09 14:21:54 +08:00
Zaiming Shi aac3d79b7d fix(build): pre-compile parse_transform modules 2020-12-09 00:28:39 +01:00
Zaiming Shi 80e1d6cc9d chore(apps): delete LICENSE files for apps 2020-12-08 22:28:46 +01:00
Zaiming Shi 6d1cd6b7ea refactor(emqx_password): move the module to emqx application
Future plugins will require emqx as a dependency.
This commit also brings back bcrypt to the system which was temporary
removed when converting to umbrella project
2020-12-08 22:09:59 +01:00
Zaiming Shi 7fdbfba06a Merge branch 'umbrella-for-430-auto-sync' into umbrella-for-430 2020-12-08 22:09:59 +01:00
Zaiming Shi 2fda0a1565 chore(apps): Sync again all apps 2020-12-07 21:30:21 +01:00
Zaiming Shi 036eda27f6 chore(rebar): Delete profiles from apps' rebar.config
otherwise rebar3 crashes
2020-12-05 13:36:56 +01:00
Zaiming Shi 9dc68bc18d chore(emqx_exhook): Delete old app.src file 2020-12-05 03:04:33 +01:00
Zaiming Shi db792ec577 chore(apps): Sync again with 4.3.0 2020-12-05 03:02:35 +01:00
Zaiming Shi 8a12018863 Add more cleanups 2020-12-05 02:45:01 +01:00
Zaiming Shi 0fb5fb31a5 refactor(proj) sync 4.3.0 plugins with tracked files 2020-12-05 02:43:04 +01:00
Zaiming Shi 686c006d6e refactor(proj): Add apps 2020-12-04 22:11:53 +01:00
Zaiming Shi 73d02beace refactor(apps): Merge emqx_libs back to emqx
And move emqx app back to root level

After realising the challenges of developing plugins in standalone
rebar projects. it is perhaps more smooth to keep using emqx as
a rebar dependency
2020-12-04 19:58:58 +01:00
Zaiming Shi 2cbd2bc800 chore(app.src): use semver 4.3.0 for apps version base 2020-12-03 19:59:41 +01:00
Zaiming Shi 9382bed9f5 refactor(proj): Move etc and data dir to apps/emqx/ 2020-12-03 12:53:02 +01:00
Zaiming Shi e236196fa6 refactor(emqx_auth_mnesia): use tag e4.2.2
Removed emqx_auth_clientid and emqx_auth_username
because the new version emqx_auth_mnesia has all the features included
2020-12-03 12:52:59 +01:00
Zaiming Shi 5f0f91bb15 Merge branch 'dev/v5.0' into umbrella-for-430 2020-12-02 17:37:34 +01:00
Zaiming Shi 5bb0cccb53 refactor(build): Clean up app version management
Starting from 5.0.0, all apps in apps dir should follow semver
strictly. Do not use the umbrella project's release tags.

The universal tags made sense when we have applications scattered
in different repos. Now since this is an umbrella project, it is
enough to have a single package level version number corelated with
git tag.
2020-12-01 23:22:33 +01:00
Zaiming Shi 2dce1883d5 refactor(build): Deterministic code generation
The rebar plugin grpcbox_plugin always re-generates modules with a
timestamp, which makes the stamping script to always result in a
new stamp after each build.

Issue has been sent
https://github.com/tsloughter/grpcbox_plugin/issues/12
2020-11-26 21:13:30 +01:00
ayodele.akingbule 4eef9f691e refactor(metrics): Add short, medium and long windowsize and expose stats 2020-11-12 12:43:31 +01:00
Zaiming Shi abb74056bd refactor(metrics): Use modified moving average for topic metrics speed 2020-11-12 12:40:36 +01:00
terry-xiaoyu e586119752 fix(project): point the hrl files to emqx_lib 2020-10-31 12:34:52 +08:00
terry-xiaoyu 0cd1c57a54 Migrate plugins from tag 4.2.2 2020-10-31 12:10:19 +08:00
terry-xiaoyu 4108662ba1 feature(project): add util app emqx_libs 2020-10-31 12:06:44 +08:00
terry-xiaoyu 7bea9920b5 feature(project): point header to emqx_libs 2020-10-31 11:00:12 +08:00
JianBo He 485bffadd6 refactor(exhook): improve the exhook implementation 2020-10-31 10:24:28 +08:00
JianBo He d1a87d38ba refactor(exproto): improve the exproto implementation 2020-10-31 10:21:53 +08:00
terry-xiaoyu 18d6647b03 feature(project): move test to apps/emqx/test 2020-10-31 10:17:47 +08:00
terry-xiaoyu 496a805aef feature(project): move priv to apps/emqx/priv 2020-10-31 10:15:25 +08:00
terry-xiaoyu d90c0dacb1 feature(project): move hrl files and emqx_logger.erl to apps/emqx_libs 2020-10-31 09:33:50 +08:00
terry-xiaoyu 5a8efd9d20 feature(project): move src to apps/emqx/src 2020-10-31 09:19:28 +08:00
Feng Lee 8702ab838c 0.9 project structure 2015-06-22 16:18:33 +08:00
Feng Lee 986bf5d911 0.9.0 project structure 2015-06-22 16:03:05 +08:00
Feng f37de3a4a7 willmsg 2015-06-17 13:30:34 +08:00
Feng Lee 02c773bb3f drop 2015-06-17 11:32:12 +08:00