Commit Graph

9359 Commits

Author SHA1 Message Date
zhongwencool
9d893b49eb
Merge branch 'master' into sync-release-50-to-master 2023-04-26 10:54:46 +08:00
Thales Macedo Garitezi
79cf5cad19
Merge pull request #10378 from thalesmg/pulsar-producer-e50
feat: implement Pulsar Producer bridge (e5.0)
2023-04-25 18:01:43 -03:00
Serge Tupchii
19b5ebff81 chore: bump ekka to 0.15.1
ekka 0.15.1 uses mria 0.5.2, which includes the following changes:
  - fix(mria_membership): call `mria_rlog:role/1` safely
  - feat: add extra field to ?rlog_sync table (for future use)
2023-04-25 23:21:07 +03:00
Thales Macedo Garitezi
b56a158a54 fix(pulsar): fix function return typespec 2023-04-25 14:29:40 -03:00
Thales Macedo Garitezi
f69ebdcd1a test(pulsar): teardown tls group 2023-04-25 14:27:24 -03:00
Thales Macedo Garitezi
4cc4c4ffaa style: format rebar.config file 2023-04-25 14:26:19 -03:00
Thales Macedo Garitezi
a703707803 chore: tag e5.0.3-alpha.3 2023-04-25 10:51:34 -03:00
Thales Macedo Garitezi
fe1c3cd1a7
Merge pull request #10503 from thalesmg/fix-kconsumer-flaky-test-v50
test: attempt to fix flaky test
2023-04-25 09:33:58 -03:00
Thales Macedo Garitezi
3138e2b3a1 chore: un-hide ocsp stapling config
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-25 09:33:24 -03:00
Zhongwen Deng
308056f0fc feat: improved the storage format of Unicode characters in data files 2023-04-25 18:08:34 +08:00
Zhongwen Deng
d6208d8847 test: add test for depreated config file 2023-04-25 14:47:05 +08:00
JianBo He
699bd4b85b
Merge pull request #10451 from HJianBo/update-conf-plugin-readme
chore: update README files
2023-04-25 14:43:55 +08:00
Zhongwen Deng
f84fc6f8b9 fix: can't update authentication when cluster-override.conf 2023-04-25 11:59:06 +08:00
zhongwencool
79a235f8b5
Merge pull request #10491 from zhongwencool/rename-etcd-ssl-to-ssl_options
feat: rename etcd.ssl to etcd.ssl_options
2023-04-25 10:49:09 +08:00
Zhongwen Deng
3f689d0fdf feat: don't do rpc call to check deprecated file 2023-04-25 10:10:56 +08:00
zhongwencool
996d5eee45
Merge pull request #10493 from zhongwencool/remove-dashboard-default-username-conf
chore: remove dashboard's default username from emqx.conf
2023-04-25 09:45:30 +08:00
lafirest
29d3afd692
Merge pull request #10487 from lafirest/fix/limiter_instance
fix(limiter): optimize the instance of limiter
2023-04-25 09:43:04 +08:00
Andrew Mayorov
a420c92d28
fix(ft): fix typing issue 2023-04-24 21:51:54 +03:00
Andrew Mayorov
5efd590ca4
feat(ft): properly propagate config updates
Ensure that:
* Storage config might be removed.
* Local FS GC process is set up when Local FS storage is configured.
* Local FS GC process gets its timer reset on config updates.
* Storage / exporter gets chosen based on `type` only.
* Exporter config updates propagated as before.

Also employ `emqx_ft_schema:translate/1` instead of duplicating
defaults where applicable.
2023-04-24 21:51:54 +03:00
Thales Macedo Garitezi
e9fde12913 test: attempt to fix flaky test
Example failure: https://github.com/emqx/emqx/actions/runs/4789177314/jobs/8517116154#step:7:503
2023-04-24 15:19:33 -03:00
Serge Tupchii
99e892b5c4 chore: bump ekka to 0.15.0
ekka 0.15.0 uses mria 0.5.0, which adds several fixes, enhancements and features:
  - protect `mria:join/1,2` with a global lock
  - implement new function `mria:sync_transaction/4,3,2`, which waits for
    a transaction replication to be ready on the local node
    (if the local node is a replicant)
  - optimize `mria:running_nodes/0`
  - optimize `mria:ro_transaction/2` when called on a replicant node.

Fixes: EMQX-9588 (#10380), EMQX-9102, EMQX-9152, EMQX-9213
2023-04-24 20:52:20 +03:00
Thales Macedo Garitezi
377b143325 refactor: split parse_server into smaller functions, improve return type to use map 2023-04-24 14:17:29 -03:00
lafirest
2845469c48
Merge pull request #10490 from lafirest/fix/rmv_def_conn_limit
fix(limiter): remove the default limit of connect rate
2023-04-24 22:04:29 +08:00
Thales Macedo Garitezi
4f2262129b refactor: rename {first_,}key_dispatch partition strategy option 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
4af6e3eb6e refactor: rm unused modules 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
120d3e70ea chore: bump app vsns 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
1e8dd70a11 chore: fix error message and rename variable 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
180b6acd9e docs: remove auto-generated comment 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
f4a3affd6f docs: change phrasing after review 2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
ad4be08bb2 feat: implement Pulsar Producer bridge (e5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-8398
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
f6da118ebd test: fix flaky test 2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
dc48032309 feat(schema): add support for schemes in server parser/validator 2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
4bcfbea056 refactor(kafka_consumer): follow up refactoring requested from previous pull request
Follow up from https://github.com/emqx/emqx/pull/10273
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
26883eec02 test(kafka): fix innocuous test assertion 2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
8cfb24b5b4 docs(kafka_bridge): minor fixes to license and readme
Fixes https://emqx.atlassian.net/browse/EMQX-9481
2023-04-24 09:28:36 -03:00
lafirest
0e96b5d01e
Merge pull request #10483 from lafirest/fix/resource_aovid_crash
fix(resource): make sure resource will not crash when stopping
2023-04-24 20:16:01 +08:00
firest
6110aad23f chore: bump version && update changes 2023-04-24 18:17:23 +08:00
firest
feeb3df994 fix(api): add limiter API back which deleted by mistake 2023-04-24 18:09:17 +08:00
zhongwencool
22d6a2eaee
Merge pull request #10484 from zhongwencool/fix-copy-conf
fix: copy cluster-override.conf from old version
2023-04-24 17:06:07 +08:00
Zhongwen Deng
275967a49f chore: remove dashboard's default username from emqx.conf 2023-04-24 16:13:42 +08:00
Zaiming (Stone) Shi
366aa53c80
Merge pull request #10462 from zmstone/0430-EMQX-8434-shared-dispatch-ack-deprecated
chore: Hide config shared_dispatch_ack_enabled
2023-04-24 09:42:09 +02:00
Zhongwen Deng
db0c951e30 feat: don't do rpc call to check deprecated file 2023-04-24 15:31:02 +08:00
Ivan Dyachkov
988e4ec1aa
Merge pull request #10476 from id/e5.0.3-alpha.2
chore: e5.0.3-alpha.2
2023-04-24 09:08:29 +02:00
Zhongwen Deng
0b1a2dd193 feat: rename etcd.ssl to etcd.ssl_options 2023-04-24 14:40:30 +08:00
firest
7b51a49f84 fix(limiter): remove the default limit of connect rate 2023-04-24 14:09:23 +08:00
firest
c2e35a42b0 fix(limiter): optimize the instance of limiter
We can reduce a limiter container with all types are `infinity` to just a `infinity` atom
2023-04-24 10:43:55 +08:00
某文
8bfee90322 chore: make static_check happy 2023-04-23 20:06:51 +08:00
某文
6dcecfed40 chore: make static_check happy 2023-04-23 19:47:57 +08:00
某文
b4c16d37c7 chore: make static_check happy 2023-04-23 18:09:51 +08:00
某文
f96c1630e1 chore: pin emqx_conf to 0.17.0 2023-04-23 17:30:07 +08:00
某文
e0fd861863 chore: make static_check happy 2023-04-23 17:24:34 +08:00
某文
5593e38ed3 fix: copy cluster-override.conf from old version 2023-04-23 17:24:24 +08:00
某文
7af9c18caa fix: copy cluster-override.conf from old version 2023-04-23 15:43:18 +08:00
firest
7d2c336ab7 fix(resource): make sure resource will not crash when stopping 2023-04-23 15:31:08 +08:00
firest
5ad5d7ee8d fix(opents): adjust code structure 2023-04-23 14:28:14 +08:00
JianBo He
6e1d6f1991 chore: hide bad links in README files 2023-04-23 11:27:59 +08:00
firest
540518eac3 chore: add README for OpenTSDB bridge 2023-04-23 11:22:48 +08:00
firest
0b46acda87 test(opents): add test cases for OpenTSDB 2023-04-23 11:03:20 +08:00
firest
5074825075 feat(opents): OpenTSDB integration 2023-04-23 09:56:24 +08:00
Ilya Averyanov
69c4ba2a62 feat(ft): use new utils application 2023-04-22 22:50:19 +03:00
Ivan Dyachkov
6beb9e00b6 chore: e5.0.3-alpha.2 2023-04-22 20:09:40 +02:00
Zaiming (Stone) Shi
ceafc52ad6 refactor: use emqx_utils_ets for ets table creation 2023-04-22 09:07:15 +02:00
Ilya Averyanov
ebb75b275e feat(ft): update app versions 2023-04-21 17:52:13 +03:00
Ilya Averyanov
0211bcf030 Merge branch 'master' into file-transfer
* master: (279 commits)
  chore: shorten ct/run.sh script
  chore: rename cassandra_impl to cassandra_connector
  chore: fix mix.exs checking
  refactor(cassandra): move cassandra bridge into its own app
  chore: apply review suggestions
  chore: update changes/ce/fix-10449.en.md
  test: add a test for authn {}
  chore: add changlog for authn_http validation
  fix: always check authn_http's header and ssl_option
  chore: apply suggestions from code review
  fix(emqx_bridge): validate Webhook bad URL and return 'BAD_REQUEST' if it's invalid
  fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
  perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
  ci: simplify find-apps.sh for ee apps
  perf(emqx_resource): don't reactivate alarms on reoccurring errors
  ci: check if Elixir files are formatted in pre-commit hook
  fix(dynamo): fix field name errors
  chore: remove *_collector for prometheus api's example
  chore: make plugins config to low level
  chore: re-split dynamo i18n file
  ...
2023-04-21 17:37:17 +03:00
某文
df31a8a342 test: conf_schema_tests failed 2023-04-21 20:29:14 +08:00
Zaiming (Stone) Shi
701a1f65f9 chore: Hide config shared_dispatch_ack_enabled 2023-04-21 13:59:55 +02:00
JianBo He
b270623c46 chore: rename cassandra_impl to cassandra_connector 2023-04-21 16:49:25 +08:00
JianBo He
cea0502160
chore: update apps/emqx_conf/README.md
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-04-21 16:23:47 +08:00
Zhongwen Deng
1db38de71f chore: apply review suggestions 2023-04-21 15:32:16 +08:00
Zhongwen Deng
dc92b4f63f test: add a test for authn {} 2023-04-21 15:30:17 +08:00
Zhongwen Deng
397e28f5a4 chore: add changlog for authn_http validation 2023-04-21 15:30:05 +08:00
Zhongwen Deng
c1000ccaed fix: always check authn_http's header and ssl_option 2023-04-21 15:29:51 +08:00
JianBo He
5cc28a7b45 chore: fix mix.exs checking 2023-04-21 14:46:09 +08:00
JianBo He
bdce32e713 refactor(cassandra): move cassandra bridge into its own app 2023-04-21 14:45:38 +08:00
JianBo He
6532cfb337
Merge pull request #10452 from thalesmg/refactor-gcp-pubsub-bridge-v50
refactor(gcp_pubsub): move GCP PubSub Bridge to its own app
2023-04-21 14:42:00 +08:00
Zhongwen Deng
fdf9b2a383 chore: apply review suggestions 2023-04-21 12:19:38 +08:00
Zhongwen Deng
1e54d23d31 test: add a test for authn {} 2023-04-21 11:54:45 +08:00
Zhongwen Deng
2aef9ca215 chore: add changlog for authn_http validation 2023-04-21 11:54:45 +08:00
Zhongwen Deng
8e8ba6ce7e fix: always check authn_http's header and ssl_option 2023-04-21 11:54:45 +08:00
SergeTupchiy
0b105dcb8d
Merge pull request #10463 from SergeTupchiy/EMQX-9310-webhook-port-validation
fix(emqx_bridge): validate Webhook bad URL
2023-04-20 20:48:12 +03:00
Ilya Averyanov
8c4b32580e
Merge pull request #10420 from savonarola/0417-authn-authz-fix-path-quoting
Fix path joining and quoting in authn/authz
2023-04-20 18:03:04 +03:00
SergeTupchiy
b38ae7f78f
Merge pull request #10407 from SergeTupchiy/EMQX-9529-resource-manager-crash-on-alarm-timeout
fix(emqx_resource): call emqx_alarm safely and don't reactivate alarm on reoccurring errors
2023-04-20 17:53:56 +03:00
Zaiming (Stone) Shi
82e6ce53be
Merge pull request #10460 from zmstone/0420-sync-release-50-to-masteer
0420 sync release 50 to masteer
2023-04-20 16:41:50 +02:00
JianBo He
de8da7dc37
Merge pull request #10434 from HJianBo/improve-modules-promethues-readme
Improve modules promethues readme
2023-04-20 22:37:54 +08:00
JianBo He
5a7685a341
chore: apply suggestions from code review
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-20 22:26:29 +08:00
Serge Tupchii
45254d7d85 fix(emqx_bridge): validate Webhook bad URL and return 'BAD_REQUEST' if it's invalid
Fixes: EMQX-9310
2023-04-20 17:21:43 +03:00
Serge Tupchii
423a30fbb3 fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
Don't let 'emqx_resource_manager' crash because of emqx_alarm timeouts.

Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Serge Tupchii
b960d2ecb3 perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
Alarms are stored in a local content shard and all 'activate' operations
are serialized as they are called by one process ('emqx_alarm' gen_server), so
using dirty operations gives performance gain without sacrificing consistency.

Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Serge Tupchii
b5eda9f0d1 perf(emqx_resource): don't reactivate alarms on reoccurring errors
Avoid unnecessary calls to activate an alarm if it has been already activated.

Fixes: EMQX-9529/#10357
2023-04-20 16:37:33 +03:00
Thales Macedo Garitezi
3f18c5e2e3
Merge pull request #10455 from thalesmg/fix-late-gen-server-replies-buf-worker-v50
fix(buffer_worker): avoid sending late reply messages to callers
2023-04-20 10:19:06 -03:00
Zhongwen Deng
4464a31fab chore: remove *_collector for prometheus api's example 2023-04-20 18:01:27 +08:00
Zhongwen Deng
bcc8f4313b chore: make plugins config to low level 2023-04-20 18:00:19 +08:00
zhongwencool
72685beb72
Merge pull request #10457 from HJianBo/hide-statsd
chore: deprecate statsd
2023-04-20 17:19:33 +08:00
Zaiming (Stone) Shi
415830a0a2 Merge remote-tracking branch 'origin/release-50' into 0420-sync-release-50-to-masteer 2023-04-20 11:03:39 +02:00
Kjell Winblad
7d3367467a
Merge pull request #10408 from kjellwinblad/kjell/rule_engine/add_missing_mongo_date_functions/EMQX-9244
feat: add mongo_date functions to the rule engine
2023-04-20 09:46:45 +02:00
JianBo He
794ddd8d73 chore: update changes 2023-04-20 14:23:55 +08:00
JianBo He
712f7b7454 chore: deprecate statsd 2023-04-20 14:15:09 +08:00
Thales Macedo Garitezi
cb995e2033 fix(buffer_worker): avoid sending late reply messages to callers
Fixes https://emqx.atlassian.net/browse/EMQX-9635

During a sync call from process `A` to a buffer worker `B`, its call
to the underlying resource `C` can be very slow.  In those cases, `A`
will receive a timeout response and expect no more messages from `B`
nor `C`.  However, prior to this fix, if `B` is stuck in a long sync
call to `C` and then gets its response after `A` timed out, `B` would
still send the late response to `A`, polluting its mailbox.
2023-04-19 18:27:10 -03:00
Thales Macedo Garitezi
a9bd91fcff refactor(gcp_pubsub): move GCP PubSub Bridge to its own app
Fixes https://emqx.atlassian.net/browse/EMQX-9536

Note: since GCP PubSub is not shared by any authn/authz backend,
there's no need to separate its connector into another app.
2023-04-19 13:24:32 -03:00
Andrew Mayorov
f06300cbed
fix(s3): mark S3 secrets as sensitive in schema 2023-04-19 19:05:12 +03:00
Andrew Mayorov
04523b3f81
fix(ft): restrict max filename length in transfers
Reject transfers with too long filenames right away, during `init`
handling, to avoid having to deal with filesystem errors later.
2023-04-19 18:48:40 +03:00
lafirest
8ccfbe9e16
Merge pull request #10448 from lafirest/fix/limiter_compatibility
fix(limiter): fix compatibility problem of configuration
2023-04-19 23:19:19 +08:00
JianBo He
eda2f0819d
chore: apply suggestions from code review 2023-04-19 21:22:01 +08:00
JianBo He
bd935e34e6
chore: update apps/emqx_modules/README.md 2023-04-19 21:12:24 +08:00
JianBo He
13f50b2ba9 chore: update README files 2023-04-19 21:05:10 +08:00
Thales Macedo Garitezi
cb3ef65775
Merge pull request #10439 from thalesmg/unhide-ocsp-config-v50
chore: un-hide ocsp stapling config
2023-04-19 09:21:10 -03:00
firest
4f0c891aa6 chore: bump version && update changes 2023-04-19 15:45:31 +08:00
firest
5455500647 fix(limiter): fix compatibility problem of configuration 2023-04-19 15:12:55 +08:00
lafirest
4591020ac3
Merge pull request #10435 from lafirest/fix/slow_subs_readme
chore: add README for slow subscriptions
2023-04-19 10:06:03 +08:00
JianBo He
d947b66327
chore: update apps/emqx_slow_subs/README.md 2023-04-19 09:51:19 +08:00
JianBo He
628a5e6eaf
Merge pull request #10402 from HJianBo/prepared-bridges-apps
chore: create dirs and README template for all ee bridges
2023-04-19 09:37:53 +08:00
Thales Macedo Garitezi
6a1ef5e68a
Merge pull request #10422 from thalesmg/fix-plugin-sync-single-node-v50
fix(plugins): attempt to extract plugin from current node on startup
2023-04-18 14:39:02 -03:00
Thales Macedo Garitezi
199cbc60d9 chore: un-hide ocsp stapling config
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-18 14:38:03 -03:00
Zaiming (Stone) Shi
f361870ca7 refactor: hide sysmon.top config 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
12e549a3a2 refactor: change exhook config importance level from hidden to low 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
be70c7d385 refactor: change rule_engine config importance level from hidden to low 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
30fd9b10f7 refactor: change bridges config importance level from hidden to low 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
d51cc750de refactor: hide psk user_lookup_fun 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
4d67312bab refactor: set authz config at 'high' importance level
and authorization.sources at 'low' level
prior to this commit, the root was set to 'hidden'
which is not ideal because some may still want to configure
the sources from files
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
6bc33e86be refactor: set rpc config at 'low' importance level instead of 'hidden' 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
a30e08d06a refactor: set authn config at 'low' prio instead of 'hidden' 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
9efbb71ae8
Merge pull request #10441 from zmstone/0418-fix-flakyness
test: pick random port number for gcp pubsub mock server
2023-04-18 19:11:30 +02:00
Ivan Dyachkov
c858fba9d4 chore: v5.0.23 2023-04-18 17:34:28 +02:00
Ivan Dyachkov
dc78ecb41c chore: merge upstream/master 2023-04-18 17:33:32 +02:00
JianBo He
7de6c5b392 chore: update prometheus README 2023-04-18 22:47:26 +08:00
JianBo He
acea64790b chore: add README for emqx_modoules 2023-04-18 22:47:26 +08:00
JianBo He
46bbcf93f4
Merge pull request #10426 from zhongwencool/conf-changelog
chore: update config's changelog and emqx_conf.template
2023-04-18 22:16:45 +08:00
Thales Macedo Garitezi
89cd6cfede fix(plugins): attempt to extract plugin from current node on startup
Fixes https://emqx.atlassian.net/browse/EMQX-9605

Fixes https://github.com/emqx/emqx-elixir-plugin/issues/25

If an user happens to configure a plugin in a lone-node cluster via
environment variables, it would fail to start up as there are no other
nodes to copy the plugin from.  Here, we attempt to check if the
package is present in the current node but not yet extracted.
2023-04-18 11:10:23 -03:00
Andrew Mayorov
75813683be
Merge pull request #10371 from ft/EMQX-9257/resource-pool-switch
feat(respool): switch to `emqx_resource_pool`
2023-04-18 16:58:17 +03:00
Zaiming (Stone) Shi
97b8f00508 test: pick random port number for gcp pubsub mock server 2023-04-18 15:07:57 +02:00
zhongwencool
59182ee0fc
chore: update apps/emqx_conf/etc/emqx_conf.conf
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-18 21:07:16 +08:00
zhongwencool
9ca09383ba
chore: remove desc from emqx.conf
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-18 21:07:02 +08:00
某文
444196922c chore: update emqx.conf's note 2023-04-18 20:18:46 +08:00
某文
fbadfc06e4 feat: change exhook, rule_engine, bridge to low importance level instead of hidden 2023-04-18 20:15:19 +08:00
Zhongwen Deng
22a1d05d7b feat: hide ssl_options.user_lookup_fun 2023-04-18 20:13:44 +08:00
Zhongwen Deng
e3d6fa1f21 chore: update config's changelog and emqx_conf.template 2023-04-18 20:13:44 +08:00
Zaiming (Stone) Shi
d0a7e7c406
Merge pull request #10421 from zmstone/0417-refine-authn-schema-namespace
0417 refine authn schema namespace
2023-04-18 14:04:20 +02:00
ieQu1
c0d8e9c402
Merge pull request #10369 from ieQu1/fix-stats-api
fix(emqx_management): Ignore results from the nodes that are down
2023-04-18 12:36:55 +02:00
Andrew Mayorov
21e19a33ce
feat(respool): switch to emqx_resource_pool
Which was previously known as `emqx_plugin_libs_pool`. This is part
of the effort to get rid of `emqx_plugin_libs` application.
2023-04-18 12:51:14 +03:00
zhongwencool
4240720753
Merge pull request #10431 from zhongwencool/delete-trace-limiter-api
feat: delete trace/limiter config's hot update api
2023-04-18 17:40:39 +08:00
firest
69e334a77d chore: reorganize the README to follow template 2023-04-18 17:25:11 +08:00
firest
f3614b2c65 chore: add README for slow subscriptions 2023-04-18 17:13:06 +08:00
ieQu1
a6688ed07a refactor(emqx_management): Use emqx:running_node function 2023-04-18 10:24:39 +02:00
Zhongwen Deng
d0f30d2f7c feat: delete trace/limiter config's hot update api 2023-04-18 16:13:17 +08:00
Kjell Winblad
29584ca721 feat: add mongo_date functions to the rule engine
This commit adds mong_date built-in functions to the rule engine
SQL-like language. Corresponding functions already existed in EMQX 4.4
and this commit makes sure that EMQX 5.X also has these functions.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9244
2023-04-18 10:01:35 +02:00
Zaiming (Stone) Shi
cd1197925f test: fix unit tests after type names changed 2023-04-18 09:48:28 +02:00
Zaiming (Stone) Shi
6dd7befaab refactor: unify authn authz type names 2023-04-18 09:48:28 +02:00
firest
721125a9f6 fix(retainer): mark flow-control as non-importance field 2023-04-18 15:34:42 +08:00
ieQu1
282bfee8ff feat(emqx): Add an API that returns the list of running nodes 2023-04-18 09:22:58 +02:00
ieQu1
a947df1ea3 fix(emqx_management): Ignore results from the nodes that are down 2023-04-18 09:22:56 +02:00
JianBo He
c53ccfea61 chore: fix typos 2023-04-18 13:48:55 +08:00
JianBo He
8cb9389d21 chore: apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-18 09:36:42 +08:00
JianBo He
ec8d8b805f chore: add ee bridge apps 2023-04-18 09:36:41 +08:00
JianBo He
7eacbffae9 chore: create dirs and README template for all ee bridges 2023-04-18 09:36:41 +08:00
zhongwencool
ad3e529994 chore: update changes/ce/feat-10389.en.md
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-18 09:34:01 +08:00
某文
933e6727ba feat: node array support array(atom()) and comma_separated_atoms 2023-04-18 09:28:36 +08:00
Ilya Averyanov
88ca94b417 fix(auth): fix uri path handling
Fix uri path handling `emqx_connector_http`,
 HTTP authentication and authorization backends.
2023-04-17 23:57:56 +03:00
Kjell Winblad
0c727fc9b2
Merge pull request #10392 from kjellwinblad/kjell/rule_engine/add_missing_datetime_function/EMQX-9245
freat: add date_to_unix_ts/3 function to the rule engine
2023-04-17 18:09:44 +02:00
Ivan Dyachkov
c03a94bae9 chore: e5.0.3-alpha.1 2023-04-17 16:48:07 +02:00
Zaiming (Stone) Shi
466a28daf2 test: fix test cases to work with new exctption 2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
373e7b33f9 test: allow tests to run without desc cache 2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
6969c2a670 refactor: not leagal -> invalid 2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
1aa5b528e9 feat: generate hotconf and bridge schema on the fly 2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
56b9667436 refactor(emqx_conf): prepare for dynamic api schema generation 2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
18974a8e11 refactor: make schema dump and swagger spec work with split desc files 2023-04-17 13:58:11 +02:00
JianBo He
f2fae16d3b fix(gw): load emqx applications before hocon configs checking 2023-04-17 13:56:39 +02:00
Ivan Dyachkov
9712aad7a8
Merge pull request #10413 from id/0416-e5.0.3-code-freeze
0416 e5.0.3 code freeze
2023-04-17 13:51:58 +02:00
zhongwencool
35c36e8872
Merge pull request #10415 from zhongwencool/authz-rule-and-or-improve
chore: short-circuit expressions on authz‘s and/or rules.
2023-04-17 18:21:04 +08:00
Kjell Winblad
37f42a486c test: improve proper test so it generates more cases 2023-04-17 12:03:13 +02:00
JianBo He
19eda3bc5f
Merge pull request #10410 from HJianBo/fix-load-gw-from-confs
fix(gw): load emqx applications before hocon configs checking
2023-04-17 18:01:31 +08:00
某文
e9e0ae7f0a chore: When matching authz's and/or rules, check the simple ones first to improve efficiency 2023-04-17 17:23:39 +08:00
Ivan Dyachkov
9fc8a498f8 chore: bump apps versions 2023-04-17 09:09:08 +02:00
firest
02f8d073f8 test(limiter): fix test errors and make spellcheck happy 2023-04-17 10:06:43 +08:00
firest
55376144ce fix(limiter): simplify the configuration of the limiter 2023-04-17 10:06:36 +08:00
zhongwencool
69d1a35c90
Merge pull request #10156 from zhongwencool/conf-refactor
feat: configuration priority ENV > emqx.conf > API
2023-04-16 13:45:35 +08:00
zhongwencool
bcbeae1da5
Merge pull request #10405 from zhongwencool/hide-dashboard-conf
feat: hide dashboard's default_username/default_password conf
2023-04-16 13:35:34 +08:00
Zhongwen Deng
98e8287260 fix: hidden password in dashboard https's shema 2023-04-16 13:30:12 +08:00
Zhongwen Deng
ad65fefac2 fix: rename emqx_misc to emqx_utils 2023-04-16 10:27:23 +08:00
Zhongwen Deng
782649020b Merge remote-tracking branch 'upstream/master' into deprecated-stats-conf 2023-04-16 10:17:38 +08:00
zhongwencool
3510ac63b9
Merge pull request #10406 from zhongwencool/hide-node
feat: hide node advance config
2023-04-16 09:57:42 +08:00
JianBo He
3a511c6229 fix(gw): load emqx applications before hocon configs checking 2023-04-15 19:41:07 +08:00
Zhongwen Deng
8461551f51 test: rename module from emqx_map_lib to emqx_utils_maps 2023-04-15 06:56:33 +08:00
zhongwencool
a00daa4d97
Merge branch 'master' into deprecated-stats-conf 2023-04-15 06:47:28 +08:00
zhongwencool
494ffe86ad
Merge branch 'master' into conf-refactor 2023-04-15 06:40:38 +08:00
Stefan Strigler
7df0493312
Merge pull request #10390 from sstrigler/EMQX-9549-new-emqx-utils-app-to-collect-utility-modules
New emqx_utils app to collect utility modules
2023-04-14 20:33:11 +02:00
Thales Macedo Garitezi
0e3a6d7f22
Merge pull request #10404 from thalesmg/buffer-mem-only-v50
feat(buffer_worker): set default queue mode to `memory_only`
2023-04-14 15:18:12 -03:00
Stefan Strigler
17d84fb5e0 Merge branch 'EMQX-9549-new-emqx-utils-app-to-collect-utility-modules' of github.com:sstrigler/emqx into EMQX-9549-new-emqx-utils-app-to-collect-utility-modules 2023-04-14 18:53:47 +02:00
Stefan Strigler
9ccfa643ce
style: fix wording
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-14 18:51:51 +02:00
Stefan Strigler
a20797160e style: remove unnecessary ifdef(TEST) 2023-04-14 18:45:25 +02:00
Zhongwen Deng
97a936ad4f test: fix failed test 2023-04-14 23:46:05 +08:00
Zhongwen Deng
8948be49e7 feat: hide node advance config 2023-04-14 23:29:41 +08:00
Stefan Strigler
16c49b2cc1 fix: undo wrong thinking about returned types from decode 2023-04-14 17:21:38 +02:00
Zhongwen Deng
8facd130f6 chore: update cluster_hocon_file/0 function 2023-04-14 23:19:38 +08:00
Stefan Strigler
24df1045de fix: test not updated after rebase 2023-04-14 16:40:25 +02:00
Thales Macedo Garitezi
e073bc90bc refactor(buffer_worker): rename s/queue/buffer/g 2023-04-14 11:37:19 -03:00
Thales Macedo Garitezi
14ed4a7ada feat(buffer_worker): set default queue mode to memory_only
Fixes https://emqx.atlassian.net/browse/EMQX-9367

For better user experience and performance for the average bridge, we
should change the default queue mode to `memory_only`, as was the
behavior of most bridges in e4.x.  This leads to better performance
when message rate is high enough and the remote resource is not
keeping up with EMQX.

Also, we set the default segment size to equal max queue bytes.
2023-04-14 11:37:19 -03:00
zhongwencool
7c5dead03a
chore: update cluster_hocon_file doc
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-14 22:30:35 +08:00
Stefan Strigler
53871e3a2c fix: stale ref to emqx_json after rebase 2023-04-14 16:30:27 +02:00
zhongwencool
bcce989906
chore: update has_deprecated_file doc
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-14 22:30:11 +08:00
Stefan Strigler
a9976287b5 fix: force proper calling decode to return proplist 2023-04-14 16:26:32 +02:00
Zhongwen Deng
99d6c5e179 feat: hide dashboard's default_username/default_password conf 2023-04-14 21:57:09 +08:00
Zhongwen Deng
3789ca2622 chore: revert stats desc 2023-04-14 21:31:34 +08:00
Zhongwen Deng
7934a1cea1 feat: hide overload_protection,conn_congestion,flapping_detect 2023-04-14 21:29:27 +08:00
某文
e5b85916b6 feat: hidden stats config 2023-04-14 21:29:27 +08:00
Zhongwen Deng
c0e6e79bcd feat: don't remove default value when save config 2023-04-14 21:17:34 +08:00
Zhongwen Deng
c21744c260 fix: hocon_pp crash when atom_key 2023-04-14 20:51:58 +08:00
Zhongwen Deng
fa753cf333 fix: failed ct test 2023-04-14 20:51:58 +08:00
Zhongwen Deng
7f870257b2 test: fix failed ct 2023-04-14 20:51:58 +08:00
Zhongwen Deng
a271ba5ff9 feat: don't check_permission on local.conf 2023-04-14 20:51:58 +08:00
Zhongwen Deng
5f4ea3b6d8 feat: deprecated cluster-override.conf 2023-04-14 20:51:58 +08:00
Zhongwen Deng
180f571765 feat: configuration priority ENV > emqx.conf > API 2023-04-14 20:51:58 +08:00
zhongwencool
57e8e2dae2
Merge pull request #10401 from zhongwencool/hide-conf-04-14
feat: hide shared_subscription_group,rpc,slow_subs
2023-04-14 20:36:10 +08:00
Thales Macedo Garitezi
4de13d2800 feat(buffer_worker): change default max queue bytes to 256 MB 2023-04-14 09:31:33 -03:00
Stefan Strigler
a295d0f134 fix: add rebar3_path_deps plugin 2023-04-14 14:29:25 +02:00
Stefan Strigler
1bad6ca67d fix: jiffy pretty print is a bit different from jsx 2023-04-14 13:41:34 +02:00
Stefan Strigler
92ca2f66f5 style: add original copyright header 2023-04-14 13:41:34 +02:00
Stefan Strigler
0f162fb50a test: add tests for emqx_utils_binary from original site 2023-04-14 13:41:34 +02:00
Stefan Strigler
badf962800 fix: stale call to emqx_misc 2023-04-14 13:41:34 +02:00
Stefan Strigler
d98f7222ff style: add comment to binary_string/1 2023-04-14 13:41:34 +02:00
Stefan Strigler
90520a5382 docs: add an actual README 2023-04-14 13:41:34 +02:00
Stefan Strigler
4f80690162 fix: byebye jsx 2023-04-14 13:41:34 +02:00
Stefan Strigler
19981757ae fix: add is_json 2023-04-14 13:41:34 +02:00
Stefan Strigler
062ce5f819 refactor: rename emqx_map_lib to emqx_utils_maps 2023-04-14 13:41:34 +02:00
Stefan Strigler
6e8665365b refactor: rename emqx_tables to emqx_utils_ets 2023-04-14 13:41:33 +02:00
Stefan Strigler
d0df086c80 refactor: rename emqx_api_lib to emqx_utils_api 2023-04-14 13:41:33 +02:00
Stefan Strigler
9c11bfce80 refactor: rename emqx_misc to emqx_utils 2023-04-14 13:41:27 +02:00
Stefan Strigler
1880da0a2e refactor: move binary_util to emqx_utils_binary 2023-04-14 13:35:15 +02:00
Stefan Strigler
f8e9e54393 refactor: move emqx_json to emqx_utils_json 2023-04-14 13:31:27 +02:00
JianBo He
a0cfac3a1a
Merge pull request #10386 from HJianBo/refactor-directoires
refactor(gw): rename all gateway application name
2023-04-14 19:26:53 +08:00
Kjell Winblad
a66d01d6f0
style: remove code duplication
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-14 12:48:03 +02:00
JimMoen
790d841697
Merge pull request #10363 from JimMoen/feat-mssqlserver-birdge
feat: implement Microsoft SQL Server bridge (e5.0)
2023-04-14 17:55:48 +08:00
Andrew Mayorov
5e92ba6fa9
Merge pull request #10359 from ft/EMQX-9136/no-ask-metrics
feat(resource): ask for metrics only when needed
2023-04-14 12:28:52 +03:00
Zhongwen Deng
be35ae2132 feat: hide shared_subscription_group,rpc,slow_subs 2023-04-14 17:14:11 +08:00
zhongwencool
1e07f37ab0
Merge pull request #10354 from zhongwencool/straightforward-log-info
feat: more straightforward log for force_shutdown reason
2023-04-14 10:15:32 +08:00
JimMoen
5841969877
feat: implement Microsoft SQL Server bridge (e5.0) 2023-04-14 10:02:45 +08:00
JimMoen
8ceeafb0de
chore: fix file license in lib-ee 2023-04-14 09:56:59 +08:00
zhongwencool
0553facfca
Merge pull request #10391 from zhongwencool/04-13-hide-conf
feat: hide ex_hook/rewrite/topic_metric/persistent_session_store
2023-04-14 09:39:29 +08:00
zhongwencool
626e814e9a
Merge pull request #10385 from zhongwencool/hide-conf
feat: hide data items from configuration files and documentation.
2023-04-14 09:38:34 +08:00
zhongwencool
835f66a8d2
Merge pull request #10375 from zhongwencool/trace-conf
feat: deprecated trace config
2023-04-14 09:22:12 +08:00
Ilya Averyanov
92ff2b7d6e feat(ft): make timeouts configurable 2023-04-14 01:58:14 +03:00
ieQu1
c5ad3c8f41 docs(emqx_machine): Improve README 2023-04-13 22:57:30 +02:00
Ilya Averyanov
e22c1c01ec feat(s3): make acl optional 2023-04-13 19:47:12 +03:00
JianBo He
9f99a72594 chore: refine tests 2023-04-14 00:45:22 +08:00
Thales Macedo Garitezi
9acfe00498
Merge pull request #10347 from thalesmg/refactor-kafka-bridge-dirs-v50
refactor(kafka_bridge): move kafka bridge into its own app
2023-04-13 13:26:36 -03:00
JianBo He
1759dd1157
Merge pull request #10368 from HJianBo/improve-gateway-readme
docs: update gateway README
2023-04-14 00:14:01 +08:00
Kjell Winblad
d3ccd8a65d feat: add date_to_unix_ts/3 function to the rule engine
Fixes:
https://emqx.atlassian.net/browse/EMQX-9245
2023-04-13 16:14:03 +02:00
zhongwencool
2334917e35
chore: apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-13 21:59:26 +08:00
某文
58e31d5efd feat: hide ex_hook/rewrite/topic_metric/persistent_session_store/overload_protection 2023-04-13 21:52:35 +08:00
某文
c1163d1952 chore: share emqx_trace.hrl between code and test 2023-04-13 20:51:14 +08:00
某文
dd7dcfe373 fix: fix dialyzer warning 2023-04-13 20:04:03 +08:00
JianBo He
c7054886b1 chore: refine test cases 2023-04-13 17:50:58 +08:00
JianBo He
4dd0080e82 chore: fix unreachable links 2023-04-13 17:19:47 +08:00
JianBo He
40e4419a62
chore: update apps/emqx_gateway/README.md
Co-authored-by: Stefan Strigler <stefan@strigler.de>
2023-04-13 16:18:46 +08:00
JianBo He
aa9292e37e
chore: update apps/emqx_gateway/README.md
Co-authored-by: Stefan Strigler <stefan@strigler.de>
2023-04-13 16:18:34 +08:00
JianBo He
0a62d6c556 refactor(gw): rename all gateway application name 2023-04-13 14:53:47 +08:00
zhongwencool
cf2f00c937
Merge pull request #10381 from zhongwencool/hiden-auto-subscribe-conf
feat: hiden auto_subscribe conf
2023-04-13 14:42:59 +08:00
Zhongwen Deng
cc2beda37a feat: hiden rule_engine/bridge/authz/authn from doc/example 2023-04-13 14:42:21 +08:00
Zhongwen Deng
4ba4c6bf62 chore: only hiden root keys 2023-04-13 14:23:25 +08:00
Zhongwen Deng
a70930fed0 feat: hiden auto_subscribe conf 2023-04-13 09:26:16 +08:00
Thales Macedo Garitezi
871ee90b3e refactor(kafka_bridge): move kafka bridge into its own app
Fixes https://emqx.atlassian.net/browse/EMQX-9481
2023-04-12 13:54:45 -03:00
Ivan Dyachkov
1e33600190 chore: bump version to v5.0.22 2023-04-12 17:33:53 +02:00
Ivan Dyachkov
f01e2f358b
Merge pull request #10367 from id/0411-sync-release-50-back-to-master
0411 sync release 50 back to master
2023-04-12 17:23:17 +02:00
Ivan Dyachkov
bdffa925db chore: merge upstream/master release-50 2023-04-12 15:30:20 +02:00
Andrew Mayorov
9c9f39d0f7
feat(resman): also move out metrics collection for debugging
Now `emqx_resource:list_instances_verbose/0` will populate the metrics
for each instance, for the sake of simplicity.
2023-04-12 16:14:42 +03:00
JianBo He
d16b5c40d6
Merge pull request #10356 from HJianBo/async-batch-cassa
feat: support async and batch callback for cassandra connector
2023-04-12 20:59:36 +08:00
JianBo He
9774ad2cdd
chore: update apps/emqx_gateway/README.md 2023-04-12 20:54:08 +08:00
Zhongwen Deng
45254c5936 chore: add changelog for create trace 2023-04-12 17:59:14 +08:00
Stefan Strigler
f668ad7b9e
Merge pull request #10336 from sstrigler/EMQX-8507-rule-engine-need-a-new-api-to-crud-rule-engines-setting-configs
feat: add `/rule_engine` API endpoint
2023-04-12 11:44:42 +02:00
Zhongwen Deng
f161399bcc feat: deprecated trace config 2023-04-12 17:07:45 +08:00
lafirest
a49eea5838
Merge pull request #10355 from lafirest/fix/auto_sub_doc
chore: update README for auto subscribe
2023-04-12 15:47:58 +08:00
JianBo He
80f964bdbe
chore: update apps/emqx_gateway/README.md
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-12 10:44:37 +08:00
Thales Macedo Garitezi
914184697e
Merge pull request #10337 from thalesmg/schema-registry-v50
feat: implement schema registry for 5.0 (avro)
2023-04-11 16:46:27 -03:00
Stefan Strigler
e6f8682c47 fix: ensure we don't return 'rules' in rule_engine 2023-04-11 15:42:56 +02:00
ieQu1
bc463a1b1c
Merge pull request #10343 from ieQu1/emqx-machine-readme
doc(emqx_machine): Add readme
2023-04-11 15:15:32 +02:00
Stefan Strigler
8ef36f29ce fix: add 'rule_engine' as possible tag() value for spec 2023-04-11 12:03:42 +02:00
Stefan Strigler
b48fb17f4a fix: CHECK_PARAMS macro defines unused var 2023-04-11 12:03:42 +02:00
JianBo He
945c6bc757 docs: update gateway README 2023-04-11 17:26:33 +08:00
Andrew Mayorov
e70deae1c3
feat(resource): ask for metrics only when needed 2023-04-11 12:00:19 +03:00
JianBo He
aee85dc328 chore: fix flaky tests 2023-04-11 14:49:07 +08:00
JianBo He
d501c1ee9c chore: update changes 2023-04-11 14:04:41 +08:00
Ivan Dyachkov
a711ce6b93 chore: bump version to e5.0.2 2023-04-10 18:10:31 +02:00
Andrew Mayorov
37a520d797
fix(i18n): relocate i18n files to rel/i18n 2023-04-10 16:02:34 +03:00
firest
5a58dfc3a4 chore: update README for auto subscribe 2023-04-10 14:39:13 +08:00
Zhongwen Deng
c68909767a feat: more straightforward log for force_shutdown reason 2023-04-10 11:21:07 +08:00
ieQu1
c2ca9089ca docs(emqx_machine): Add readme 2023-04-08 13:22:52 +02:00
JianBo He
e186477531
Merge pull request #10278 from HJianBo/refactor-gw-dir
Refactor gateway application dirs
2023-04-08 09:42:14 +08:00
Andrew Mayorov
8daa38ef06
feat(ft-s3): store metadata in ASCII-safe format
Also ensure consistent encoding and decoding filenames throughout
the `emqx_ft` application.
2023-04-07 22:20:20 +03:00
Andrew Mayorov
0d86ef8d3a
fix(ft-s3): use AWS4 signed urls for S3 export URIs
This will ensure that the S3 export URIs are valid in all AWS regions.
2023-04-07 22:15:01 +03:00
Ilya Averyanov
b2fd2dcbc1 fix(ft): make configs user friendlier 2023-04-07 17:36:47 +03:00
Ilya Averyanov
7eeba32619 fix(s3): fix typings 2023-04-07 17:36:47 +03:00
Ilya Averyanov
52f3189779 fix(ft): fix default ft config 2023-04-07 17:36:47 +03:00
Ilya Averyanov
eae2478678 fix(ft): add descriptions for missing ft schema fields 2023-04-07 17:36:47 +03:00
Ilya Averyanov
bd7250cb13 fix(s3): fix hash pool type 2023-04-07 17:36:47 +03:00
Ilya Averyanov
4a144044b7 fix(ft): set default ft config in tests 2023-04-07 17:36:47 +03:00
Ilya Averyanov
918bdcae7d fix(ft): fix schema descriptions 2023-04-07 17:36:47 +03:00
Ilya Averyanov
8b13d249eb fix(ft): fix detection of ee apps in mix 2023-04-07 17:36:47 +03:00
Ilya Averyanov
7bcb60a84a fix(ft): fix config update tests 2023-04-07 17:36:47 +03:00
Ilya Averyanov
6e50b168a0 fix(ft): add empty strings for zh translations 2023-04-07 17:36:47 +03:00
Ilya Averyanov
f6461fe287 fix(ft): fix typings 2023-04-07 17:36:47 +03:00
Ilya Averyanov
2f1970adbc fix(ft): make ee schema aware of ee fields 2023-04-07 17:36:47 +03:00
Ilya Averyanov
18aa39f892 fix(ft): add emqx_ft_schema to ee schemas 2023-04-07 17:36:47 +03:00
Ilya Averyanov
d333187c5a docs(s3): update readme 2023-04-07 17:36:47 +03:00
Ilya Averyanov
820e06d756 fix(ft-s3): make controllable use of max_retries and request_timeout arguments 2023-04-07 17:36:47 +03:00
Ilya Averyanov
be99242e32 fix(ft-s3): fix review comments 2023-04-07 17:36:47 +03:00
Ilya Averyanov
d7a85242de fix(ft-s3): fix s3 listing 2023-04-07 17:36:47 +03:00
Ilya Averyanov
7d13862da5 fix(ft-s3): use uploader specific headers only for object creation 2023-04-07 17:36:47 +03:00
Ilya Averyanov
c7865e5eae fix(ft-s3): fix dependency dependencies 2023-04-07 17:36:45 +03:00
Ilya Averyanov
4fbabe5a76 fix(ft-s3): fix atom and variable naming 2023-04-07 17:27:01 +03:00
Ilya Averyanov
07ae50a54b fix(ft-s3): fix release settings 2023-04-07 17:25:23 +03:00
Ilya Averyanov
3ffa01e160 feat(ft-s3): fix logging level 2023-04-07 17:25:23 +03:00
Ilya Averyanov
ca22f11161 feat(ft-s3): fix logging 2023-04-07 17:25:23 +03:00
Ilya Averyanov
9bb72ee020 feat(ft-s3): fix behaviour specification 2023-04-07 17:25:23 +03:00
Ilya Averyanov
43f9737420 feat(ft-s3): integrate list API 2023-04-07 17:25:23 +03:00
Ilya Averyanov
5ac3543a76 feat(ft-s3): integrate exporter configs 2023-04-07 17:25:22 +03:00
Ilya Averyanov
8361223648 feat(ft-s3): extract checksum verification 2023-04-07 17:25:22 +03:00
Ilya Averyanov
818a5cacf2 feat(ft-s3): add initial integration 2023-04-07 17:25:22 +03:00
Ilya Averyanov
31b441a46e feat(s3): add S3 client application 2023-04-07 17:25:22 +03:00
Andrew Mayorov
28d87ca62d fix(ft-fs): move default config to the backend impl 2023-04-07 17:25:22 +03:00
Andrew Mayorov
258fabbf8b fix(fs-exp): reply with error when listing failed everywhere 2023-04-07 17:25:22 +03:00
Andrew Mayorov
11edfc1c6a fix(ft): comment out some clauses as "unreachable" 2023-04-07 17:25:22 +03:00
Andrew Mayorov
bef5cc9c0f fix(fs-fold): avoid folding through symlinked directories
Also a testsuite that verifies multilevel fold behaviour.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
6ad7ce55d2 fix(ft-conf): separate local segments storage settings
To make things less ambiguous.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
45e3b62dc4 refactor(ft): prefer plain files over exports in generic APIs
So there's no more `exports` magically becomings `files` in the
REST API which was slightly confusing.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
c24c7eca34 fix(ft-test): unbreak testcase by inhibiting local fs storage GC 2023-04-07 17:25:22 +03:00
Andrew Mayorov
23cd78b8d6 refactor(ft-asm): turn state data record into a map
Which should be more future-proof.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
b6b044f429 feat(ft): move out exporter concept into dedicated modules 2023-04-07 17:25:22 +03:00
Andrew Mayorov
54e54cc63d feat(api): provide utility to qualify API URIs 2023-04-07 17:25:22 +03:00
Andrew Mayorov
64f15f1fdb fix(ft-gc): ensure directories of complete transfers are GCed 2023-04-07 17:25:22 +03:00
Andrew Mayorov
2707b4500f feat(ft-fs): ensure filsystem-safe handling of client input
Also restrict the filenames clients may specify in a filemeta to some
safe subset, as a future proofing measure.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
9aec01e7a3 fix(ft-asm): use regular map for meta fragments
There's actually no need to use an ordered data structure at all.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
4132f5a5fb feat(ft): introduce exporter concept in local storage backend
The exporter is responsible for keeping fully transferred and
successfully assembled files. This was on the local storage itself
before. This abstraction is needed to give us an ability to
support S3 destinations more easily, just by swapping the storage
exporter.

Also implement local filesystem exporter and reimplement parts of
the `emqx_ft` API on top of it.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
2880c8f4eb fix(ft): unwrap error details when reader fails to start 2023-04-07 17:25:22 +03:00
Andrew Mayorov
45f00e14a9 feat(ft): ensure that clientid is always binary
For the sake of simplicity (e.g. transfer ids are now easier to
compare).
2023-04-07 17:25:22 +03:00
Andrew Mayorov
4f2600b9f1 feat(ft-gc): treat all transfer as incomplete
Since the concept of _complete transfers_ is being split out into
the _export_ concept, we lose knowledge of completeness in the GC.
Instead of asking exporters for transfer statuses we just treat all
transfer as incomplete when GCing.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0d39546080 feat(wdgraph): add fold/3 which folds over graph edges 2023-04-07 17:25:22 +03:00
Andrew Mayorov
0c821cd3bd test(ft): inject configs through hocon subsystem
So that relevant parts of config would be initialized with defaults.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
e1dc48fa2b feat(fs-gc): wire gc up with emqx config 2023-04-07 17:25:22 +03:00
Andrew Mayorov
50c6eef2bc fix(fs-gc): do not hide enoents
Also use `file:read_link_info/2`, it actually fetches any file info
while also not following symlinks automatically, which is better for
GC usecases.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
bcd2099ce1 fix(fs-gc): make deletion empty transfer directories safer 2023-04-07 17:25:22 +03:00
Andrew Mayorov
344799f100 fix(fs-gc): add testcase on incomplete transfers GC
And fix logic that made GC delete incomplete segments prematurely.
2023-04-07 17:25:22 +03:00
Ilya Averyanov
15dc7c3e84 fix(test): fix node helper usage 2023-04-07 17:25:22 +03:00
Andrew Mayorov
715816e67b feat(ft): add GC logic and process for the FS storage backend 2023-04-07 17:25:22 +03:00
Andrew Mayorov
e9f98adca2 test: make content_gen emit meta with each chunk
Which will also contain total content size, to increase this tool's
utility.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
788e76ed2d test: make assembly proptests waste less memory 2023-04-07 17:25:22 +03:00
Andrew Mayorov
8e6f960c09 refactor(ft): employ emqx_wdgraph for coverage computation
Also describe how coverage problem maps to shortest path problem.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
b189ee463c feat: add weighted directional graph ADT with shortest path
Basically, separate what abstraction was in `emqx_ft_assembly` into
dedicated module with a compact interface and a basic testsuite.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
130601376a perf(ft-asm): express coverage through shortest path on graph
Coverage becomes the shortest path problem on graph where nodes are
offsets and edges are nodes' segments. Implement a simple Dijkstra
algorithm to find one.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0c84fc28b0 perf(asm-ft): tradeoff optimality for computational complexity
Through squashing segments table into consecutive "runs".
2023-04-07 17:25:22 +03:00
Andrew Mayorov
97cfdf8eef test(ft-asm): add property tests for file assembly 2023-04-07 17:25:22 +03:00
Andrew Mayorov
0af7e2a002 perf(ft-asm): optimize away remote segments identical to local 2023-04-07 17:25:22 +03:00
Andrew Mayorov
15d967459c feat(ft): add segment checksum validation
Also downgrade validation errors to mere info messages.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
5998961f9f fix(ft): log errors where they might get lost 2023-04-07 17:25:22 +03:00
Andrew Mayorov
5014cc15f4 test(ft): do not rely on fs backend implementation details 2023-04-07 17:25:22 +03:00
Andrew Mayorov
93865a79e9 fix(ft): disallow empty fileids 2023-04-07 17:25:22 +03:00
Andrew Mayorov
75070102ec fix(ft): improve typespecs 2023-04-07 17:25:22 +03:00
Andrew Mayorov
2b925aa60b fix(ft): drop unrelated TODO 2023-04-07 17:25:22 +03:00
Andrew Mayorov
7ff253e80d test(ft): attempt to avoid gen_rpc config reset hacks 2023-04-07 17:25:22 +03:00
Andrew Mayorov
a3f47641f3 test(ft): describe the complex test case with comments
In order to make the test client model and behavior clearer.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
10d4c4305a feat(maybe): add basic tests for the new module 2023-04-07 17:25:22 +03:00
Andrew Mayorov
2cf2a2d952 fix(ft): make fin packet parser stricter + safer 2023-04-07 17:25:22 +03:00
Andrew Mayorov
58115715dd fix(ft): require final size in fin packet
Otherwise there are situations when it's not entirely clear if a
transfer is really ready to be assembled. Since the `size` field
in a filemeta is not required (and rightly so), we need client to
tell us the final transfer size at the end of the process.

Also synthesize a testcase to show why it's needed.

Also worth noting that right now `fin` packets require final size,
even if a client already told us the size through filemeta. The
latter is regarded as serving informational purposes only (which
means that, for example, it might differ from the final size, or
some tranfer progress might show >100% somewhere because of that).
2023-04-07 17:25:22 +03:00
Ilya Averyanov
c073914f75 chore(ft): fix gen_rpc flakyness 2023-04-07 17:25:22 +03:00
Ilya Averyanov
228bf1a0ce chore(ft): fix typing issues 2023-04-07 17:25:22 +03:00
Ilya Averyanov
2c9cd1397d chore(ft): fix ?tp calls 2023-04-07 17:25:22 +03:00
Ilya Averyanov
1c61165a91 fix(ft): fix emqx_cm takover 2023-04-07 17:25:22 +03:00
Ilya Averyanov
c6b3f2c2ca feat(ft): add schema descriptions 2023-04-07 17:25:21 +03:00
Ilya Averyanov
bc0a15afd7 feat(ft): fix test for CI 2023-04-07 17:25:21 +03:00
Ilya Averyanov
16fa55e19a feat(ft): add API tests 2023-04-07 17:25:21 +03:00
Andrew Mayorov
6d9f780313 chore: remove unused code 2023-04-07 17:25:21 +03:00
Andrew Mayorov
f896fefa59 feat(ft): make storage backend fully async-aware
Introduce an ad-hoc concept of tasks that need to be kicked off
manually. Rework filesystem backend to accomodate for this change.
Adapt responder logic for that "kickoff" protocol.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
2cdf486bf4 feat(ft): simplify responder mechanism
Make responder short-lived process responsible for a single task, and
manage them with supervisor + gproc.
2023-04-07 17:25:21 +03:00
Ilya Averyanov
f6a0598f27 feat(ft): add file transfer tests 2023-04-07 17:25:21 +03:00
Ilya Averyanov
2e889f4ac7 feat(ft): add emqx_ft tests and fixes 2023-04-07 17:25:21 +03:00
Ilya Averyanov
1d48a97fd2 feat(ft): fix remote reader handling of gen_rpc errors 2023-04-07 17:25:21 +03:00
Ilya Averyanov
c44fe92ef1 feat(ft): add assembler tests 2023-04-07 17:25:21 +03:00
Ilya Averyanov
eae3dc7b4b feat(ft): update BPAPI 2023-04-07 17:25:21 +03:00
Ilya Averyanov
bcfa22f343 fix(ft): use correct supervison strategy for emqx_ft_sup 2023-04-07 17:25:21 +03:00
Ilya Averyanov
9e4a37a398 fix(ft): fix typespecs 2023-04-07 17:25:21 +03:00
Ilya Averyanov
836ec213c9 feat(ft): add responder tests 2023-04-07 17:25:21 +03:00
Ilya Averyanov
8038a3fd4a feat(ft): add tests for remote reader 2023-04-07 17:25:21 +03:00
Ilya Averyanov
b7d0bad970 feat(ft): improve remote reader 2023-04-07 17:25:21 +03:00
Ilya Averyanov
0aefd4a8c7 feat(ft): add streaming of file content when downloading 2023-04-07 17:25:21 +03:00
Ilya Averyanov
197ce32669 feat(ft): add proxy module for emqx_ft_storage_fs 2023-04-07 17:25:21 +03:00
Ilya Averyanov
04e5378bda feat(ft): add API 2023-04-07 17:25:21 +03:00
Andrew Mayorov
92670bfe3d feat(ft): add fs storage bpapi and use it in assembler 2023-04-07 17:25:21 +03:00
Andrew Mayorov
7ed06b0a2a feat(ft-fs): allow to list all transfers in storage
This is rather simplistic and thus, temporary solution.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
429eeaf029 feat(ft-fs): make list / read more generic
And usable in wider contexts as a consequence, for example querying and
fetching resulting files from remote nodes.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
1308fa0e6b fix(ft-fs): put fragments into separate directories
In order to avoid potential filename collisions.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
8298236908 refactor(ft): bring back userdata to filemeta schema 2023-04-07 17:25:21 +03:00
Ilya Averyanov
b4a42a447c feat(ft): removed replicated data 2023-04-07 17:25:21 +03:00
Ilya Averyanov
72e3eee6c9 feat(ft): add config & backend behaviour 2023-04-07 17:25:21 +03:00
Andrew Mayorov
97b831a160 fix(ft-fs): add missing read_segment/5 + fix atomic write 2023-04-07 17:25:21 +03:00
Andrew Mayorov
14b2a1013b fix(ft-asm): follow proper segment fragment type 2023-04-07 17:25:21 +03:00
Andrew Mayorov
1fedae8a16 fix(ft-asm): ensure module follows statem behaviour 2023-04-07 17:25:21 +03:00
Andrew Mayorov
7b77e96ab9 test(ft): add some basic assembler tests 2023-04-07 17:25:21 +03:00
Ilya Averyanov
cbff2e2309 feat(ft): improve robustness of asynchronous acks
* add auto ack after timeout
* add fin file transfer packet registration to avoid
duplication and multiple acks
2023-04-07 17:25:21 +03:00
Ilya Averyanov
d36ca18bff feat(ft): tie file transfer frontend and backend together 2023-04-07 17:25:21 +03:00
Andrew Mayorov
81e04ce93a feat(ft): introduce simple filesystem storage backend + assembler 2023-04-07 17:25:21 +03:00
Ilya Averyanov
aaaef30be6 feat(ft): add file transfer app and bootstrap replicated ft data structure 2023-04-07 17:25:21 +03:00
Ilya Averyanov
d976943f99 feat(ft): add basic hooks 2023-04-07 17:25:21 +03:00
JianBo He
502cc2b8b8 chore: fix common tests 2023-04-07 15:34:16 +08:00
Thales Macedo Garitezi
7c05304ff4 chore: bump version to e5.0.2-rc.6 2023-04-06 16:53:55 -03:00
Thales Macedo Garitezi
33100ecca6 feat: implement schema registry for 5.0 (avro)
Part of https://emqx.atlassian.net/browse/EMQX-9251

This ports part of the Schema Registry app from 4.x to 5.0.  Here,
only support for Avro is added.  Subsequent PRs will follow to add
support for other formats.
2023-04-06 16:28:45 -03:00
Thales Macedo Garitezi
4c24b08244 fix(rule_action): fix metrics for bridges returning async_return
Kafka Producer, when called asynchronously, will return
`{async_return, {ok, pid()}}`, which currently counts as an unknown failure.
2023-04-06 16:00:01 -03:00
Zaiming (Stone) Shi
11a7770d16 chore: bump version to e5.0.2-rc.5 2023-04-06 11:57:39 +02:00
JimMoen
bbb3fdb49e
fix: make emqx_api_lib compatible 2023-04-06 17:03:39 +08:00
Kjell Winblad
1938882f16
Merge pull request #10318 from kjellwinblad/kjell/feat/rule_engine_from_clause_support_both_string_types
feat(rule engine sql): enable both ' and " strings in FROM clause
2023-04-06 09:19:44 +02:00
JimMoen
ab807fba51
Merge pull request #10329 from kjellwinblad/kjell/EMQX-9138-e-5-0-2-ensure-that-the-error-messages-returned-are-consistent
fix: create consistent interface 'with_node' for API access
2023-04-06 14:47:42 +08:00
JianBo He
702ecbcb6e Merge remote-tracking branch 'upstream/master' into refactor-gw-dir 2023-04-06 10:44:59 +08:00
Stefan Strigler
b799af1f71 fix: don't create virtual type "rule_engine_api" 2023-04-05 16:46:19 +02:00
Stefan Strigler
9cfe9cc709 fix: don't allow rules to be set from /rule_engine 2023-04-05 16:28:54 +02:00
Serge Tupchii
9810c9f7e3 refactor(rule_engine): test 'ok' results in one dedicated function 2023-04-05 16:55:43 +03:00
Stefan Strigler
5cd8865a93 fix: deprecate and hide jq_implementation_module 2023-04-05 15:34:42 +02:00
Stefan Strigler
aea870f319 feat: add /rule_engine API endpoint 2023-04-05 15:19:31 +02:00
Stefan Strigler
f3446c48f7
Merge pull request #10315 from sstrigler/EMQX-8945-crash-for-bad-param-value-to-mqtt-delayed-messages-api-call
EMQX 8945 crash for bad param value to mqtt delayed messages api call
2023-04-05 13:44:22 +02:00
JianBo He
a3262486e5 chore: delete all LICENSE files under gateway dirs 2023-04-05 15:25:08 +08:00
Stefan Strigler
a39312e892
Merge pull request #10292 from sstrigler/EMQX-9253-readme-refine-emqx-management
EMQX Management README
2023-04-05 09:00:34 +02:00
Zaiming (Stone) Shi
a9bf633e03
Merge pull request #10320 from zmstone/0403-sync-release-50-back-to-master
0403 sync release 50 back to master
2023-04-04 23:31:24 +02:00
Thales Macedo Garitezi
5d5b7ea215
Merge pull request #10306 from thalesmg/enable-async-buffer-workers-all-bridges-v50
feat(bridges): enable async query mode for all bridges with buffer workers
2023-04-04 17:10:46 -03:00
Ivan Dyachkov
9d1a16aae1 feat: add emqx_rpc:multicall_on_running
also move emqx:is_running multicall to emqx_proto_v2:are_running
2023-04-04 20:40:47 +02:00
Ivan Dyachkov
3d7ceb01a0 fix(mgmt): fix stats api by applying filter to running_nodes 2023-04-04 19:58:43 +02:00
Ivan Dyachkov
c20da5ffa6 fix(emqx_dashboard): fix monitor_current api 2023-04-04 19:58:43 +02:00
Stefan Strigler
04626ce9cc fix: create consistent interface 'with_node' for API access 2023-04-04 16:54:14 +02:00
Zaiming (Stone) Shi
68c15ffd48 Merge remote-tracking branch 'origin/release-50' into 0403-sync-release-50-back-to-master 2023-04-04 16:42:58 +02:00
Zaiming (Stone) Shi
d25db3ace4 chore: bump version to e5.0.2-rc.4 2023-04-04 16:38:25 +02:00
Zaiming (Stone) Shi
9e17064e47
Merge pull request #10325 from zmstone/0404-delay-config-change-replay-until-handler-is-ready
0404 delay config change replay until handler is ready
2023-04-04 16:37:35 +02:00
SergeTupchiy
877b828d4a
Merge pull request #10327 from SergeTupchiy/EMQX-8786-fix-unknown-counter-inc-on-unrecoverable-err
fix(rule_engine): don't increment unknown counter on unrecoverable er…
2023-04-04 16:51:34 +03:00
Zaiming (Stone) Shi
5925ff07c2 test(emqx_cluster_rpc): fix test cases 2023-04-04 15:20:30 +02:00
Zaiming (Stone) Shi
eeb7b32bc8
Merge pull request #10317 from zmstone/0403-refactor-hide-listener-level-authentication
0403 refactor hide listener level authentication
2023-04-04 15:04:35 +02:00
Serge Tupchii
aca65ca2d4 fix(rule_engine): don't increment unknown counter on unrecoverable errors
Closes: EMQX-8786
2023-04-04 15:59:53 +03:00
Zaiming (Stone) Shi
196ca43fbb fix(emqx_conf_app): call the right API to retrieve core nodes 2023-04-04 14:19:48 +02:00
Thales Macedo Garitezi
0b6fd7fe14 fix(buffer_worker): check request timeout and health check interval
Port of https://github.com/emqx/emqx/pull/10154 for `release-50`

Fixes https://emqx.atlassian.net/browse/EMQX-9099

Originally, the `resume_interval`, which is what defines how often a
buffer worker will attempt to retry its inflight window, was set to
the same as the `health_check_interval`.  This had the problem that,
with default values, `health_check_interval = request_timeout`.  This
meant that, if a buffer worker with those configs were ever blocked,
all requests would have timed out by the time it retried them.

Here we change the default `resume_interval` to a reasonable value
dependent on `health_check_interval` and `request_timeout`, and also
expose that as a hidden parameter for fine tuning if necessary.
2023-04-04 08:58:36 -03:00
Zaiming (Stone) Shi
8fd9dd741e fix(emqx_conf_app): wait for tables ready beofre starting apps 2023-04-04 13:50:50 +02:00
Kjell Winblad
0e66eb5f3f feat(rule engine sql): enable both ' and " strings in FROM clause
This commit upgrades the rulesql dependency to version 1.5 instead of
1.4. The difference between these two versions is that strings surrounded
by ' and " are supported in FROM clauses in version 1.5, but in version
1.4, only strings surrounded by " are supported.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9243
2023-04-04 10:36:48 +02:00
Zaiming (Stone) Shi
b16c516e6b refactor: rename cluster_rpc_handler to cluster_rpc_cleaner
this reflects what is actually does
2023-04-04 10:28:47 +02:00
firest
6b2419998d chore: bump emqx_authn version 2023-04-04 16:06:23 +08:00
firest
11b3264251 fix: redact the password to ****** in API examples
fix #10222
2023-04-04 16:02:45 +08:00
Thales Macedo Garitezi
a8f8228a12
Merge pull request #10308 from thalesmg/test-increase-peer-timeout-v50
test(peer): increase init and startup timeout for peer nodes
2023-04-03 15:46:13 -03:00
Zaiming (Stone) Shi
429b3d9efd Merge remote-tracking branch 'origin/master' into 0403-sync-release-50-back-to-master 2023-04-03 20:32:33 +02:00
Zaiming (Stone) Shi
2f2e8b8218 chore: bump version to e5.0.2-rc.3 2023-04-03 20:23:31 +02:00
Thales Macedo Garitezi
06048ae4ff
Merge pull request #10316 from thalesmg/flaky-crl-emqtt-test-v50
test(crl): fix flaky test (v5.0)
2023-04-03 15:12:36 -03:00
Thales Macedo Garitezi
f3ffc02bff feat(bridges): enable async query mode for all bridges with buffer workers
Fixes https://emqx.atlassian.net/browse/EMQX-9130

Since buffer workers always support async calls ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.

For bridges that currently only allow sync query modes, we should
allow them to be configured with async.  That means basically all
bridge types except Kafka Producer.
2023-04-03 14:49:51 -03:00
Thales Macedo Garitezi
8b5a717a1f test(peer): increase init and startup timeout for peer nodes
Attempt to stabilize tests that use cluster nodes.
2023-04-03 13:20:22 -03:00
Zaiming (Stone) Shi
2d6ca69ffb refactor: no support for listener level authentication for now 2023-04-03 16:49:35 +02:00
Zaiming (Stone) Shi
e978d86c86 chore: add doc_lift for authorization.sources
doc_lift is to make the doc render application to lift
this field to the root level and force the field's doc
to refernec it instead of expanding the structs in a nested way
2023-04-03 16:49:35 +02:00
Thales Macedo Garitezi
ed25ee6fec test(crl): fix flaky test (v5.0) 2023-04-03 10:58:31 -03:00
Stefan Strigler
0efa9c7a11 fix: pretty format error responses 2023-04-03 15:48:52 +02:00
Stefan Strigler
c1cb5357e1 fix: enable schema check 2023-04-03 15:48:33 +02:00
Thales Macedo Garitezi
ec1871ffde test(janitor): catch each callback invocation 2023-04-03 10:20:19 -03:00
JimMoen
53712e6146
fix: running nodes should not include replica nodes 2023-04-03 20:01:37 +08:00
Zaiming (Stone) Shi
5f6d318cf0 fix(i18n): fix missing docs for gateway configs 2023-04-03 13:12:24 +02:00
Zaiming (Stone) Shi
36000abf51 refactor: relocate i18n files for apps/emqx 2023-04-03 13:12:24 +02:00
JianBo He
205e97fdca chore(gw): update README files 2023-04-03 14:30:41 +08:00
zhongwencool
d63680cf25
Merge pull request #10307 from emqx/release-50
Sync release-50 back to master
2023-04-02 11:36:41 +08:00
Zaiming (Stone) Shi
b17548f382
Merge pull request #10265 from HJianBo/improve-some-options-desc
docs: improve some mqtt options description
2023-04-01 16:43:15 +02:00
JianBo He
b2d018f249 chore: fix test cases 2023-04-01 18:51:39 +08:00
JianBo He
3a3879f99f chore: update gateways deps 2023-04-01 12:59:43 +08:00
JianBo He
9577beaa4e chore: update rebar.conf in emqx_exproto 2023-04-01 12:24:09 +08:00
JianBo He
b24ff9bc6e test(gateway): refine all test cases 2023-04-01 12:24:09 +08:00
JianBo He
a70545b64a chore: split out exproto gateway 2023-04-01 12:24:09 +08:00
JianBo He
b58ce09658 chore: split out lwm2m 2023-04-01 12:24:09 +08:00
JianBo He
40c413ac05 chore: fix dialyzer warnings 2023-04-01 12:24:09 +08:00
JianBo He
0b6c5c4c91 refactor: split out emqx_coap application 2023-04-01 12:24:09 +08:00
JianBo He
786f030958 test: move tests into splited gateway dirs 2023-04-01 12:24:09 +08:00
JianBo He
159bcf329c refactor: make Stomp and MQTT-SN gateway as an independent apps 2023-04-01 12:24:09 +08:00
Thales Macedo Garitezi
53d760ec69
Merge pull request #10300 from thalesmg/fix-plugin-upload-v50
fix(plugins): create directory before uploading
2023-03-31 16:28:18 -03:00
Thales Macedo Garitezi
246a792965
Merge pull request #10273 from thalesmg/refactor-kprod-start-error-msg-rv50
fix: return friendly message when kafka producer and consumer fails to start (rv5.0)
2023-03-31 16:25:26 -03:00
Thales Macedo Garitezi
5011486b18 fix(kafka_consumer): return better error messages when probing kafka consumer bridge
Fixes https://emqx.atlassian.net/browse/EMQX-9422
2023-03-31 11:33:15 -03:00
Zaiming (Stone) Shi
9bbca07943
Merge pull request #10298 from emqx/release-50
Merge release-50 back to master
2023-03-31 15:35:51 +02:00
Zaiming (Stone) Shi
abf0329b60 test(emqx_banned_SUITE): fix flaky test case 2023-03-31 13:03:00 +02:00
Zaiming (Stone) Shi
bcde52383b docs: fix max batch size desc 2023-03-31 12:35:27 +02:00
William Yang
d9bec63733
Merge pull request #10284 from qzhuyan/docs/william/shared-subs
chore(docs): update shared_subscription_strategy
2023-03-31 09:44:12 +02:00
Stefan Strigler
7e31e60e90
style: fix wording 2023-03-31 09:19:48 +02:00
Stefan Strigler
1ff96f5314
style: fix wording
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-31 09:18:39 +02:00
Thales Macedo Garitezi
a2b82dae69 fix(plugins): create directory before uploading
Fixes https://emqx.atlassian.net/browse/EMQX-9434

Fixes https://github.com/emqx/emqx-elixir-plugin/issues/23
2023-03-30 17:51:16 -03:00
Zaiming (Stone) Shi
36043dd651
Merge pull request #10286 from zmstone/0330-exit-with-non-zero-code-if-conf-init-failed
0330 exit with non zero code if conf init failed
2023-03-30 17:41:14 +02:00
Stefan Strigler
7c597bfaa9 docs: give a better idea of what this application is supposed to do 2023-03-30 16:57:16 +02:00
Stefan Strigler
87a262edff docs: add README for EMQX Dashboard 2023-03-30 16:53:27 +02:00
Thales Macedo Garitezi
632bffd451 fix: return friendly message when kafka producer fails to start (rv5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-9392

The returned information does not allow to diagnose the issue (i.e.: a
connection issue due to the wrong host and port, the wrong password
failing authn).  However, such information is printed to the logs.

This changes the returned error to the API so that the user is hinted
at looking at the logs for further investigation of the error.
2023-03-30 11:51:36 -03:00
Thales Macedo Garitezi
ad28d8418d
Merge pull request #10274 from thalesmg/fix-subs-api-egress-mqtt-v50
fix: handle subscription list api when there are `emqx:subscribe` internal subscriptions
2023-03-30 11:16:31 -03:00
lafirest
0af226dd5b
Merge pull request #10276 from lafirest/fix/banned_api
fix(i18n): fix the description error about the default value of `until`
2023-03-30 20:26:32 +08:00
William Yang
3c52faa55e chore(docs): update shared_subscription_strategy 2023-03-30 13:32:45 +02:00
William Yang
65ef9c9086
Merge pull request #10077 from qzhuyan/dev/william/quic-cert-password
feat(quic): support TLS password protected keyfile
2023-03-30 12:59:50 +02:00
Zaiming (Stone) Shi
494e4b639a chore: exit with non-zero status if config initialization failed 2023-03-30 12:52:51 +02:00
firest
f794666c7f fix(i18n): fix the description error about the default value of until 2023-03-30 17:12:45 +08:00
JianBo He
1ff8ecf604 chore: fix typos 2023-03-30 15:10:10 +08:00
JianBo He
3c495f8fd2
chore: update apps/emqx/i18n/emqx_schema_i18n.conf 2023-03-30 08:44:28 +08:00
JianBo He
758e610059
chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-30 08:42:08 +08:00
Thales Macedo Garitezi
806ee716ee fix(redis): remove required meta from schema
Since there's a default value, this field shouldn't be marked as
required.
2023-03-29 16:43:52 -03:00
Thales Macedo Garitezi
916ce99fd5 fix: handle subscription list api when there are emqx:subscribe subscriptions 2023-03-29 14:56:40 -03:00
Thales Macedo Garitezi
5089449203
Merge pull request #10260 from thalesmg/minor-refactor-basic-usage-rule-rv50
refactor(rule_engine): use more helper functions
2023-03-29 09:44:23 -03:00
Zaiming (Stone) Shi
80eb9d7542
Merge pull request #10252 from emqx/release-50
0327 merge release-50 to master
2023-03-29 12:33:17 +02:00
Kjell Winblad
8e0d315b7b
Merge pull request #10197 from kjellwinblad/0321-fix-inflight-window-hand-over-to-kjell
fix: add inflight window setting to the clickhouse bridge
2023-03-29 09:38:24 +02:00
JianBo He
fee4ff6a07
Merge pull request #10257 from HJianBo/gw-lwm2m-fixes
Fixed the issue where `auto_observe` was not working in LwM2M Gateway
2023-03-29 15:20:46 +08:00
JianBo He
27aa3f49aa docs: improve some mqtt options description 2023-03-29 15:02:01 +08:00
Zaiming (Stone) Shi
11c120f87c chore: bump emqx app vsn 2023-03-28 21:19:03 +02:00
Zaiming (Stone) Shi
4b428f7a29 chore: bump version to e5.0.2-rc.2 2023-03-28 21:18:21 +02:00
Thales Macedo Garitezi
64faccf50b test: fix flaky kafka consumer test 2023-03-28 14:50:55 -03:00
Thales Macedo Garitezi
d126c7dc62 refactor(rule_engine): use more helper functions
Follow up to
https://github.com/emqx/emqx/pull/10251#discussion_r1150710899 and
https://github.com/emqx/emqx/pull/10251#discussion_r1150720420
2023-03-28 13:46:56 -03:00
William Yang
ecc2cd1a94 test: password cert for SSL listener 2023-03-28 17:15:59 +02:00
Thales Macedo Garitezi
1824e7efcc fix(rule_engine): count referenced bridges in from clauses as dependencies (rv5.0)
Fixes https://emqx.atlassian.net/browse/EMQX-9325

Currently, ingress bridges referenced in the `FROM` clause of rules
are not being accounted as dependencies.

When we try to delete an ingress bridge that's referenced in a rule
like `select * from "$bridges/mqtt:ingress"`, that bridge does not
trigger an UI warning about dependent actions.
2023-03-28 10:31:10 -03:00
Zaiming (Stone) Shi
f5e9d3eab2 test: use valid config for jq function timeout 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
3f9ed08308 fix(emqx_schema): ocsp field use 'importance' to replace 'hidden' 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
d07987288a chore: add some example annotations for config importance level 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
5a19b6f73e chore: pin hocon 0.38.0 (with config importance level annotation) 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
486352eb6f fix(swagger): do not generate scheam for hidden args 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
fb29f8035b feat: make possible to dump full schema (including hidden fields) 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
c302405408 fix: fail fast if not able to load config 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
813ccd7df1 chore: hide node.perf configs
these configs are rarely needed by regular users
and if they are to be changed, it should be done by
someone who really understands what they mean
2023-03-28 14:29:24 +02:00
JianBo He
6db5a4872a test(lwm2m): cover auto_observe mechanism 2023-03-28 18:31:20 +08:00
JianBo He
6750618d9a fix(lwm2m): ignore unknown ObjectId to auto observe 2023-03-28 17:44:33 +08:00
Xinyu Liu
c607e4ed92
Merge pull request #10243 from terry-xiaoyu/remove-peercert-from-conninfo50
chore: remove peercert from the state of connection processes
2023-03-28 17:22:57 +08:00
Stefan Strigler
193905c7b9
Merge pull request #10237 from sstrigler/EMQX-9138-e-5-0-2-ensure-that-the-error-messages-returned-are-consistent
fix: create consistent interface 'with_node' for API access
2023-03-28 10:41:10 +02:00
Andrew Mayorov
89108594f0
Merge pull request #10212 from keynslug/test/EMQX-9269/cluster-env
test(bridge-api): also run testcases in cluster environment
2023-03-28 11:36:48 +03:00
Andrew Mayorov
40f7fd691e
test(dashboard): reuse emqx_mgmt_api_test_util in testsuites
To reduce the init / teardown complexity.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
b14a420885
fix(test): delete mnesia schema in-between test suites
When using `emqx_common_test_helpers` at least. This should help
reduce the need for superfluous cleanups and test failures due to
unclean state.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
d942a531e6
fix(test): avoid unnecessary cleanups
This might make some noise in the logs, depending on the testsuite
configuration, because some test setup might be missing required
applications.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
11b5b7b638
test(bridge-api): also run testcases in cluster environment
Excluding a couple of testcases which does not make much sense running
in the cluster. Also try to reduce amount of "noise" in the testcases,
making them easier to comprehend.

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-27 23:41:08 +03:00
Zaiming (Stone) Shi
7a6494cda6
Merge pull request #10242 from zmstone/0326-fix-logging-avoid-using-pid-as-log-data-field
fix: avoid uisng 'pid' as log data field
2023-03-27 16:13:50 +02:00
Stefan Strigler
64a1d84a44 fix: create consistent interface 'with_node' for API access 2023-03-27 12:14:48 +02:00
William Yang
cec77c2b65 test(quic): chasing flaky tc. 2023-03-27 11:54:08 +02:00
William Yang
169cc9f822 chore(quic): unhide TLS certfile password 2023-03-27 11:54:08 +02:00
Andrew Mayorov
9a93b745fc
fix(dashboard): use correct default for listeners map 2023-03-27 12:38:07 +03:00
firest
5c9538086f chore: bump emqx_plugin_libs.app.src 2023-03-27 13:54:38 +08:00
JianBo He
bfa5922209
Merge pull request #10140 from HJianBo/cassa
feat: support cassandra data bridge
2023-03-27 10:23:02 +08:00
JimMoen
798597c834
Merge pull request #10217 from JimMoen/conn-health-check-with-worker
fix: for connection used ecpool, let worker do health check fun
2023-03-27 09:51:52 +08:00
JianBo He
b77aeb69cb
Merge pull request #10172 from HJianBo/fix-typos-acl-file
fix(acl): fix wrong default ACL rules
2023-03-27 09:51:02 +08:00
Shawn
07ac2cd57a chore: remove peercert from the state of connection processes 2023-03-27 09:33:17 +08:00
Zaiming (Stone) Shi
19e136bb66 fix: avoid uisng 'pid' as log data field
Since it clashes with log metad data field
2023-03-26 10:33:18 +02:00
Zaiming (Stone) Shi
dd996ad1dc chore: bump app vsns 2023-03-24 21:47:15 +01:00
Zaiming (Stone) Shi
b37f186142 Merge remote-tracking branch 'origin/master' into 0324-merge-release-50-back-to-master 2023-03-24 21:47:15 +01:00
Thales Macedo Garitezi
ff272a2071
Merge pull request #10206 from thalesmg/decouple-buffer-worker-query-call-mode-v50
feat(buffer_worker): decouple query mode from underlying connector call mode
2023-03-24 13:49:00 -03:00
Zaiming (Stone) Shi
bf29919708
Merge pull request #10160 from thalesmg/hide-ocsp-v50
chore(ocsp): hide ocsp from schema for now
2023-03-24 15:32:47 +01:00
SergeTupchiy
f4472f66de
Merge pull request #10225 from SergeTupchiy/EMQX-9290-fix-plugin-name-clash
fix(emqx_management): resolve plugin name clashes
2023-03-24 16:17:20 +02:00
Serge Tupchii
b02d0088ea fix(emqx_management): resolve plugin name clashes
Allow installing a plugin if its name matches the beginning of another (already installed) plugin name.
For example: if plugin "emqx_plugin_template_a" is installed, it must not block installing plugin "emqx_plugin_template".

Closes: #10213, EMQX-9290
2023-03-24 16:11:31 +02:00
Stefan Strigler
8d084ed13b
Merge pull request #10226 from sstrigler/EMQX-9273-e-5-0-2-creating-a-data-bridge-the-name-verification-returned-an-incorrect-error-code-of-500
fix(emqx_bridge): don't crash on validation error
2023-03-24 14:48:03 +01:00
Thales Macedo Garitezi
166191abd6 chore(ocsp): hide ocsp from schema for now
We're going to release it in a later version.  So, for now, we'll just
hide it.
2023-03-24 10:04:16 -03:00
Stefan Strigler
fbfdaf44e0 fix(emqx_bridge): don't crash on validation error 2023-03-24 11:46:41 +01:00
Stefan Strigler
a8cfc1c7a1 fix(emqx_bridge): filter status_reason in config update 2023-03-24 11:46:41 +01:00
Stefan Strigler
4f63982d13
Merge pull request #10195 from sstrigler/EMQX-8982-html-tags-are-displayed-in-http-api-doc
fix: add summary to schemas where description has html
2023-03-24 08:56:34 +01:00
Ivan Dyachkov
0208fc8296 chore: e5.0.2-rc.1 2023-03-24 08:55:31 +01:00
Zaiming (Stone) Shi
9870f4834e
Merge pull request #10179 from kjellwinblad/kjell/fix/rule_engine_app_readme
docs: refine README.md for the emqx_rule_engine app
2023-03-24 08:28:11 +01:00
JimMoen
65f468f706
fix: for connection used ecpool, let worker do health check fun
let it be same with ecpool:pick_and_do/3 for checkfun use format as {M,F,A}
2023-03-24 10:39:58 +08:00
Thales Macedo Garitezi
f8d5d53908 feat(buffer_worker): decouple query mode from underlying connector call mode
Fixes https://emqx.atlassian.net/browse/EMQX-9129

Currently, if an user configures a bridge with query mode sync, then
all calls to the underlying driver/connector ("inner calls") will
always be synchronous, regardless of its support for async calls.

Since buffer workers always support async queries ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.

There are two situations when we want to force synchronous calls to
the underlying connector even if it supports async:

1) When using `simple_sync_query`, since we are bypassing the buffer
workers;
2) When retrying the inflight window, to avoid overwhelming the
driver.
2023-03-23 13:40:31 -03:00
Stefan Strigler
678400bc0a fix: add summary to schemas where description has html 2023-03-23 16:40:43 +01:00
Stefan Strigler
ba49316ec5 fix: use lower-case 2023-03-23 16:08:27 +01:00
William Yang
7e15f90bf5 chore(test): check openssl cmd returns 2023-03-23 15:06:21 +01:00
William Yang
88731fd145 feat(quic): support TLS password protected keyfile 2023-03-23 15:06:21 +01:00
Stefan Strigler
2803aff798
Merge pull request #10207 from sstrigler/EMQX-9286-use-label-from-i-18-n-files-as-summary-for-open-api-spec
feat(emqx_dashboard): use label as summary in OpenAPI spec
2023-03-23 14:58:21 +01:00
Kjell Winblad
35474578ca refactor: rename async_inflight_window to inflight_window everywhere 2023-03-23 14:21:57 +01:00
Kjell Winblad
9d3f369cca
docs: fix spelling mistake
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-23 14:09:57 +01:00
Serge Tupchii
e3541d8947 test: move dashboard specific cleanup call from emqx_common_test_helpers to the relevant test suite 2023-03-23 11:59:43 +02:00
Serge Tupchii
50bbf4f231 chore: bump ekka to 0.14.6
ekka 0.14.6 uses mria 0.4.2, which unregisters mnesia_hook upon stopping mria.
This fixes mnesia_hook errors on restarting mria.

Closes: EMQX-9101
2023-03-23 11:59:43 +02:00
JianBo He
8cbbc9f271 Merge remote-tracking branch 'upstream/master' into cassa 2023-03-23 11:53:17 +08:00
Thales Macedo Garitezi
ddffba0355
Merge pull request #10154 from thalesmg/fix-buffer-worker-default-req-timeout
fix(buffer_worker): calculate default `resume_interval` based on `request_timeout` and `health_check_interval`
2023-03-22 20:21:04 -03:00
Thales Macedo Garitezi
84f7e9c320
Merge pull request #10209 from thalesmg/fix-lwt-banned-then-kicked-v50
fix(last_will_testament): don't publish LWT if client is banned when kicked out
2023-03-22 18:30:31 -03:00
Thales Macedo Garitezi
cb65cded88 fix(last_will_testament): don't publish LWT if client is banned when kicked
Fixes https://emqx.atlassian.net/browse/EMQX-9288

Related issue:
https://github.com/emqx/emqx/issues/10192#issuecomment-1478809900
2023-03-22 16:47:58 -03:00
Thales Macedo Garitezi
8844b22c80
docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-22 15:32:09 -03:00
Thales Macedo Garitezi
127a075b66 test(dynamo): attempt to fix dynamo tests
Those tests in the `flaky` test are really flaky and require lots of
CI retries.

Apparently, the flakiness comes from race conditions from restarting
bridges with the same name too fast between test cases.  Previously,
all test cases were sharing the same bridge name (the module name).
2023-03-22 14:34:37 -03:00
Stefan Strigler
2662f79ec0 feat(emqx_dashboard): use label as summary in OpenAPI spec 2023-03-22 16:29:51 +01:00
Thales Macedo Garitezi
61cb03b45a fix(buffer_worker): change the default resume_interval value and expose it as hidden config
Also removes the previously added alarm for request timeout.

There are situations where having a short request timeout and a long
health check interval make sense, so we don't want to alarm the user
for those situations.  Instead, we automatically attempt to set a
reasonable `resume_interval` value.
2023-03-22 11:47:36 -03:00
lafirest
84def357a9
Merge pull request #10143 from lafirest/feat/rocketmq
feat(bridges): integrate RocketMQ into data bridges
2023-03-22 20:43:22 +08:00
Zaiming (Stone) Shi
e43aa5d841
Merge pull request #10199 from zmstone/0321-merge-release-50-to-master
0321 merge release 50 to master
2023-03-22 10:20:48 +01:00
Zaiming (Stone) Shi
db6afb40b0
Merge pull request #10174 from zmstone/0320-upgrade-esockd-to-5.9.6
fix: upgrade esockd from 5.9.4 to 5.9.6
2023-03-22 09:50:38 +01:00
Andrew Mayorov
af7b2215ca
fix(bridge-api): unflatten nodes' bridge lists back
Bridge lists were erroneously flattened in cad6492c. This causes
bridge listing fail in emqx clusters consisting of more than 1 node.
2023-03-22 11:35:09 +03:00
firest
9853d00cad feat(bridges): integrate RocketMQ into data bridges 2023-03-22 10:36:52 +08:00
JianBo He
65c2da7ef5 Merge remote-tracking branch 'ce/master' into cassa 2023-03-22 09:30:50 +08:00
Andrew Mayorov
bf35419b52
Merge pull request #10190 from keynslug/fix/EMQX-9269/bridge-list
fix(bridge-api): unflatten nodes' bridge lists back
2023-03-22 00:53:03 +03:00
Zaiming (Stone) Shi
e6091db351 Merge remote-tracking branch 'origin/release-50' into 0321-merge-release-50-to-master 2023-03-21 22:03:31 +01:00
Stefan Strigler
6c24b3a77d
Merge pull request #10196 from sstrigler/EMQX-9201-the-case-is-not-correct-for-some-of-menu
Emqx 9201 the case is not correct for some of menu
2023-03-21 19:42:10 +01:00
Thales Macedo Garitezi
4bbbaf8b13
Merge pull request #10164 from thalesmg/crl-v50-mkIII
feat(crl): add crl check support
2023-03-21 14:42:01 -03:00
Kjell Winblad
27b8445337 fix: add inflight window setting to the clickhouse bridge
This commit makes sure the inflight window setting is present for the
clickhouse bridge. It also changes emqx_resource_schema that previously
removed the inflight window setting from resources with query mode
`always_sync`. We don't need to do that because all bridges that uses
the buffer worker queue will get async call handling even if the bridge
don't support the async callback.

Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 17:14:03 +01:00
Stefan Strigler
327b782210 style: lower case in descriptions 2023-03-21 17:04:42 +01:00
Andrew Mayorov
d9b1b1c802
fix(bridge-api): unflatten nodes' bridge lists back
Bridge lists were erroneously flattened in cad6492c. This causes
bridge listing fail in emqx clusters consisting of more than 1 node.
2023-03-21 18:59:27 +03:00
Stefan Strigler
981268911a style: make summary lower-case 2023-03-21 16:56:37 +01:00
Stefan Strigler
3880862c81 fix(emqx_bridge): return 503 for inconsistency in bridge setup 2023-03-21 15:07:43 +01:00
Stefan Strigler
4b0ea562a2 refactor(emqx_bridge): consistently use macros for http response 2023-03-21 15:07:41 +01:00
Stefan Strigler
84fc64822e style: fix wording for nxdomain and malformed_username_or_password
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 15:02:29 +01:00
Stefan Strigler
8af3fb4ee7 feat: move human readable error translations to emqx_misc 2023-03-21 15:02:29 +01:00
Stefan Strigler
c1384b6e6e feat(emqx_resource): include error with alarm for resource_down 2023-03-21 15:02:29 +01:00
Stefan Strigler
53825b9aba fix(emqx_bridge): propagate connection error to resource status 2023-03-21 15:02:29 +01:00
Zaiming (Stone) Shi
fd23800370
Merge pull request #10180 from zmstone/0320-add-emqx_ctl-readme
docs: add readme for emqx_ctl app
2023-03-21 11:33:16 +01:00
William Yang
7d8fc3d2ad
Merge pull request #10185 from qzhuyan/dev/william/bump-quicer
chore(build): Support fetching binary for macOS M1 [quicer 0.0.114]
2023-03-21 11:32:33 +01:00
William Yang
092daf409a chore(testlib): update include for CI of emqtt lib 2023-03-21 09:03:31 +01:00
William Yang
b6e583143f chore: bump quicer 0.0.114
for fetching quicer binary for macOS M1 builds.
2023-03-21 09:01:25 +01:00
Kjell Winblad
89782e6d21
docs: add info about that rule engine can handle different types of structured data
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 06:26:04 +01:00
JianBo He
b059bad08a
chore(acl): fully match dashboard username
Co-authored-by: Ilya Averyanov <av@rubybox.dev>
2023-03-21 09:06:46 +08:00
Thales Macedo Garitezi
f2b54588e7 docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-20 18:09:38 -03:00
Thales Macedo Garitezi
7a71d64686 feat(crl): add crl check support 2023-03-20 18:09:38 -03:00
Ilya Averyanov
ee403423b9
Merge pull request #10166 from savonarola/0318-mix-build
chore(mix): fix mix builds
2023-03-20 22:37:21 +02:00
Zaiming (Stone) Shi
c739d9957c docs: add readme for emqx_ctl app 2023-03-20 19:35:17 +01:00
Zaiming (Stone) Shi
6f71898546 fix: upgrade esockd from 5.9.4 to 5.9.6
changes in esockd are

* 5.9.5: added API to retrieve SNI
* 5.9.6: avoid error log if socket is closed before sending
         proxy protocol headers
2023-03-20 19:27:32 +01:00
Kjell Winblad
08e249dc4d docs: refine README.md for the emqx_rule_engine app
This commit adds more content to the readme file of the `emqx_rule_engine`
app. The aim of the changes are to make it easier to understand what the
rule engine is and what it does.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9229
2023-03-20 16:53:55 +01:00
Erik Timan
2d75c7d6d9 fix(emqx_bridge): remove metrics from non-dedicated bridge API endpoints
Metrics should only be exposed via the /bridges/:id/metrics endpoint,
and not in other operations such as getting the list of all bridges, or
in the response when a bridge has been created. This commit removes all
traces of metrics for the non-dedicated API endpoints.
2023-03-20 09:43:11 +01:00
JianBo He
377127ce72 fix(acl): fix wrong default ACL rules 2023-03-20 13:53:57 +08:00
JianBo He
12942b676d Merge remote-tracking branch 'upstream/master' into cassa 2023-03-20 09:50:27 +08:00
zhongwencool
6a668c35db
Merge pull request #10167 from zhongwencool/fix-swagger-doc-500-crash
fix: swagger doc 500 crash
2023-03-19 16:28:32 +08:00
Zhongwen Deng
b529a0bce1 test: add swagger.json api test 2023-03-19 13:05:32 +08:00
Zhongwen Deng
f8573ae8d7 fix: swagger doc 500 crash 2023-03-19 12:34:06 +08:00
Ilya Averyanov
39f22585d0 chore(mix): fix mix builds 2023-03-19 01:39:56 +02:00
Zaiming (Stone) Shi
149afe863f chore: e5.0.2/v5.0.21 code freeze 2023-03-17 13:19:44 +01:00
Thales Macedo Garitezi
cf1cce011b
Merge pull request #9564 from thalesmg/kafka-source-ee50
feat: implement kafka consumer (ee5.0)
2023-03-17 09:04:53 -03:00
Zaiming (Stone) Shi
1bf72c4d2e
Merge pull request #10155 from zmstone/0316-build-schema-dump-per-lang
build: generate per-lang schema dump
2023-03-17 11:45:35 +01:00
Zhongwen Deng
3c1254d873 fix: newly created listeners have no limiter restrictions 2023-03-17 14:32:42 +08:00
JianBo He
c0a216a740 feat(bridge): support cassandra bridge 2023-03-17 11:34:48 +08:00
Zaiming (Stone) Shi
ad1deedd0e build: generate per-lang schema dump 2023-03-16 21:25:21 +01:00
Thales Macedo Garitezi
20414d7373 fix(buffer_worker): check request timeout and health check interval
Fixes https://emqx.atlassian.net/browse/EMQX-9099

The default value for `request_timeout` is 15 seconds, and the default
resume interval is also 15 seconds (the health check timeout, if
`resume_interval` is not explicitly given).  This means that, in
practice, if a buffer worker ever gets into the blocked state, then
almost all requests will timeout.

Proposed improvement:

- `request_timeout` should by default be twice as much as
health_check_interval.
- Emit a alarm if `request_timeout` is not greater than
`health_check_interval`.
2023-03-16 13:46:45 -03:00
Thales Macedo Garitezi
966276127e test: trying to make tests more stable 2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
3954b7bde2 fix(bridges): function clause when a non-ingress bridge coexists with an egress bridge
This was not caught by our tests because we always test bridge types
in isolation.  So, if the config only contains ingress-only bridges,
the `on_message_publish` hook is never installed.

In a real system, if there are bridges of mixed types in the config,
the hook might be installed, and `emqx_bridge:get_matched_bridge_id`
would crash when iterating over the ingress bridges.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
947e014132 test: improve cluster node helpers
* Add option to start autocluster.  This is useful for scenarios where
a cluster is already running and has some configurations set (via
config handler/cluster rpc) and later another node joins.

* Improve mnesia data directory isolation for nodes.  A new dir is set
so that we may avoid intra and inter-suite flakiness due to dirty
tables and schema.

* The janitor is now called synchronously.  This ensures the cleanup
is done before the test pid dies.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
d464e2aad5 refactor: rename test resource prefix
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
66eb4ef069 test: fix inter-suite flakiness 2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
f31f15e44e chore(kafka_producer): make schema changes more backwards compatible
This will still require fixes to the frontend.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
03342923b9 fix(bridge): use the same dry run prefix
Kafka Producer and Consumer bridges rely on this prefix for detecting
a dry run and avoid leaking atoms.  At some point, this prefix was
changed, effectively disabling the check in Kafka Producer.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
1f31a87974 fix(bridge): improve macro var usage
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
969fa03ecc feat: implement kafka consumer 2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
094e4a2eeb chore: fix typespec 2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
b9e92173cf test: improve cluster helper
1) Make each node have its own isolated data dir to avoid false
negatives.
2) Allow parameterizing the peer module.
3) Fix cluster RPC after a node joins the cluster.
2023-03-16 13:42:59 -03:00
Thales Macedo Garitezi
561c25f0e3 feat: update snabbkaffe -> 1.0.7 2023-03-16 13:42:38 -03:00
Thales Macedo Garitezi
91a57faa95
Merge pull request #10128 from thalesmg/ocsp-v50-mkII
feat: add ocsp stapling support to mqtt ssl listener (5.0)
2023-03-16 13:10:48 -03:00
JimMoen
1688cb7df2
Merge pull request #10152 from JimMoen/refine-changes
chore: refine changes for merged PRs
2023-03-16 21:11:52 +08:00
Thales Macedo Garitezi
a614bdc94a chore(ocsp): catch unexpected error when fetching ocsp response 2023-03-16 09:55:52 -03:00
Thales Macedo Garitezi
d1f58d6e2d refactor: replace macro by simple function 2023-03-16 09:32:40 -03:00
Thales Macedo Garitezi
e5645a7b21 refactor: rename macros 2023-03-16 09:18:16 -03:00
Kjell Winblad
884dddec79
Merge pull request #10136 from kjellwinblad/kjell/fix/default_value_ui
fix: schema default value so that it shows up correctly in UI
2023-03-16 12:20:08 +01:00
JimMoen
afd29b69c4
chore: refine i18n doc punctuation 2023-03-16 18:22:29 +08:00
Ivan Dyachkov
e3d4deb8a0
Merge pull request #10147 from id/chore-minor-improvements
Chore minor improvements
2023-03-16 08:18:43 +00:00
Andrew Mayorov
816667d85c
Merge pull request #10123 from fix/EMQX-9136/lookup-busy-resources
perf(bridge-api): ask nodes' bridge listings in parallel
2023-03-16 00:07:12 +03:00
Ivan Dyachkov
5258b4c6e9 chore: bump ekka to 0.14.5
to make use of erlang-rocksdb 1.7.2-emqx-9
2023-03-15 19:54:55 +01:00
Thales Macedo Garitezi
164440fe83 test(resource): fix flaky test
Sometimes this test might retry more times, so we check the prefix
of the trace only.
2023-03-15 14:25:55 -03:00
Thales Macedo Garitezi
03b95073fc test: fix inter-suite flakiness 2023-03-15 14:25:41 -03:00
Andrew Mayorov
a9bc8a4464
refactor(resman): rename ets_lookup → lookup_cached
That way we hide the impementation details + the interface becomes
cleaner and more obvious.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
29907875bf
test(bufworker): set batch_time for batch-related testcases
By default it's `0` since e9d3fc51. This made a couple of tests prone
to flapping.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
e411c5d5f8
refactor(resman): work with state cache atomically
Also ensure that cache entries are always consistent with `Data`,
so that most of the code could rely on reading the cached entry
most of the time.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
b3e7e51094
test(bridge): drop unnecessary cleanup routines
Since `end_per_testcase` cleans out all the resources anyway.
2023-03-15 19:17:29 +03:00
Andrew Mayorov
cad6492c99
perf(bridge-api): ask bridge listings in parallel
Also rename response formatting functions to better clarify their
purpose.
2023-03-15 19:17:29 +03:00
Thales Macedo Garitezi
0deb9925c1 docs: improve descriptions
Co-authored-by: William Yang <mscame@gmail.com>
2023-03-15 10:30:02 -03:00
Zhongwen Deng
60677bc400 chore: remove unuse code 2023-03-15 20:40:54 +08:00
Ivan Dyachkov
c9b736ae23
Merge pull request #10141 from id/0315-chore-merge-release-50-to-master
0315 chore merge release 50 to master
2023-03-15 12:11:54 +00:00
Kjell Winblad
13a35cc045 fix: schema default value so that it shows up correctly in UI
This complements PR https://github.com/emqx/emqx/pull/10124.
The default values for duration_ms() fields needs to be formatted
as a binary string with unit to show up correctly in the dashboard
UI.
2023-03-15 11:04:16 +01:00
Thales Macedo Garitezi
04378f242c feat(ocsp_cache): give ocsp cache table an heir 2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
f6707d1dd0 test: fix how ocsp client is run in tests
For some yet unknown reason the old test version using `open_port`
does not work in OTP 25, but works fine in OTP 24.  There are no
messages at all received from The openssl client port program in OTP
25.
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
63ef2f9b79 feat: save uploaded OCSP issuer pem like other ssl certs 2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
158f054187 docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
57e38c8502 refactor(ocsp): add reusable type for normalized binary URLs 2023-03-14 16:09:05 -03:00
Thales Macedo Garitezi
067747c2de docs: improve descriptions
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
52263a0448 feat: add ocsp stapling and crl support to mqtt ssl listener 2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
422597a441 test: fix flaky tests 2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
65fee34fe4 test: fix inter-suite test teardowns 2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
4880a849b9 chore: update emqtt -> 1.8.5
Needed for OCSP / CRL tests because of a bug that makes emqtt hang
forever on TLS handshake errors.
2023-03-14 16:08:47 -03:00
SergeTupchiy
9f9d16dd48
Merge pull request #10117 from SergeTupchiy/EMQX-8889_copy_plugins_on_joining_a_cluster
fix: copy plugins to a new node joining a cluster
2023-03-14 21:07:12 +02:00
Zaiming (Stone) Shi
6cbc17f110
Merge pull request #10135 from zmstone/0314-upgrade-to-hocon-0.37.0
chore: upgrade to hocon 0.37.0
2023-03-14 19:55:41 +01:00
Stefan Strigler
255117f2c4 chore: bump vsn e5.0.2-alpha.1 2023-03-14 19:51:35 +01:00
Serge Tupchii
bde4215a11 fix: copy plugins to a new node joining a cluster
Closes: EMQX-8889
2023-03-14 20:42:57 +02:00
William Yang
fffb92ebb7 test(quic): make tc run independent 2023-03-14 11:46:24 +01:00
William Yang
4c28b9f839 chore(test): use power of 2 recvbuff size in quic test
Make msquic assertions happy while in debug mode.
2023-03-14 11:46:24 +01:00
Zaiming (Stone) Shi
18b145ab67 chore: upgrade to hocon 0.37.0
hocon 0.37.0 introduced schema field aliases
this change does not impact anything until we start using aliases
2023-03-14 11:39:55 +01:00
zhongwencool
4f1da5e9fa
Merge pull request #10132 from zhongwencool/systemd-stop-crash-log
fix: stop port apps when emqx_machine_terminator shutdown
2023-03-14 17:40:26 +08:00
zhongwencool
d853085259
Merge pull request #10119 from zhongwencool/fix-statsd-empty-server
fix: don't allow empty string in server_port schema
2023-03-14 16:37:15 +08:00
Zhongwen Deng
0738444da9 fix: stop port apps when emqx_machine_terminator shutdown 2023-03-14 15:39:50 +08:00
Andrew Mayorov
a530ccbe3d
Merge pull request #10095 from fix/EEC-782/mysql-prepstmt-exhaustion
fix(mysql): be explicit that batch queries are parameterless
2023-03-14 10:21:45 +03:00
Zhongwen Deng
80205d9704 chore: apply code review 2023-03-14 10:54:05 +08:00
Zhongwen Deng
ee2847dcd9 test: make schema test happy 2023-03-14 09:17:45 +08:00
Zhongwen Deng
5be4d97c42 fix: don't allow empty string in server_port schema 2023-03-14 09:17:45 +08:00
Thales Macedo Garitezi
823128dfc7
Merge pull request #10127 from thalesmg/rm-rebar3-emqx-app-master
chore: remove committed rebar3 binary
2023-03-13 16:33:57 -03:00
Kjell Winblad
87ede1b1f7
Merge pull request #10124 from kjellwinblad/kjell/mongodb/default_heartbeat
fix: increase heartbeat time to avoid extreme MongoDB logging
2023-03-13 18:56:49 +01:00
Thales Macedo Garitezi
25c28eab81 chore: remove committed rebar3 binary
We already set up our custom rebar3 binary in CI, so this doesn't need
to be committed.  It is also outdated with our currently used version.
2023-03-13 14:11:39 -03:00
Stefan Strigler
62aec87c56
Merge pull request #10107 from sstrigler/EMQX-9147-bridges-api-fix-handling-unknown-bridge-id
Bridges API: fix handling unknown bridge-id
2023-03-13 16:40:46 +01:00
Kjell Winblad
1cf01197bb fix: increase heartbeat time to avoid extreme MongoDB logging
Our MongoDB driver creates a new temporary connection, for every active
connection, to just do a single heartbeat test. There is configurable
delay between every heartbeat test. When the user has an EMQX cluster
with a MongoDB bridge (to a MongoDB replica set), there will be a lot of
connections. Furthermore, as MongoDB creates a log entry every time a
new connection is created, the log will be flooded with info about new
connection. One user have reported more than 1MB of log data in a 10
minute period.

This commit tries to fix this by increasing the default delay between
heartbeats. A better fix would be to change the MongoDB driver so that
it does not create a new connection just to do a heartbeat check, but
this is more complicated so we leave this to the future. We might also
swap out the current MongoDB driver to something better.

Fixes:
https://github.com/emqx/emqx/issues/9851
2023-03-13 14:58:53 +01:00
Zaiming (Stone) Shi
0c5ab5183a
Merge pull request #10109 from zmstone/0308-stop-releasing-schema.json-in-rel-package
0308 stop releasing schema.json in rel package
2023-03-13 14:27:15 +01:00
Andrew Mayorov
53bc27e0f4
refactor(bridge): avoid unnecessary maps:to_list/1 when listing 2023-03-13 14:49:38 +03:00
Andrew Mayorov
686bf8255b
fix(bridge): reply emqx_resource:get_instance/1 from cache
The resource manager may be busy at times, so this change ensures that
getting resource instance state will not block. Currently, no users of
`emqx_resource:get_instance/1` do seem to be relying on state being
"as-actual-as-possible" guarantee it was providing.
2023-03-13 14:35:08 +03:00
Kjell Winblad
baf39fe080
Merge pull request #10098 from kjellwinblad/kjell/fix/mongo_authz_crash
fix: mongodb authz crash
2023-03-13 10:46:49 +01:00
Stefan Strigler
c1adf0de1f test(emqx_bridge): increase coverage by adding common edge cases 2023-03-13 10:40:47 +01:00
Stefan Strigler
478601ee41 fix(emqx_bridge): remove unreachable code paths 2023-03-13 10:40:47 +01:00
Stefan Strigler
dba95ec0fa style(emqx_bridge): fix wording 2023-03-13 10:40:47 +01:00
Stefan Strigler
71ec77a2f2 fix(emqx_bridge): for node operation check if node is part of cluster
This fixes the case where we returned `501 NOT IMPLEMENTED` in the past.
2023-03-13 10:40:47 +01:00
Stefan Strigler
7124600a71 docs(emqx_bridge): add start as operation to bridge 2023-03-13 10:38:51 +01:00
Stefan Strigler
1bcc5623ed fix(emqx_bridge): check if bridge enabled before calling op 2023-03-13 10:38:49 +01:00
Stefan Strigler
a325133391 fix(emqx_bridge): don't crash checking if bridge enabled 2023-03-13 10:37:28 +01:00
Stefan Strigler
80b81748df fix(emqx_bridge): handle bridge not found in call_operation 2023-03-13 10:37:28 +01:00
Stefan Strigler
fb3d101b3a refactor(emqx_bridge): fix var names 2023-03-13 10:37:28 +01:00
Stefan Strigler
e31f4d6091 refactor(emqx_bridge): add BAD_REQUEST macro and minor cleanups 2023-03-13 10:37:28 +01:00
lafirest
e8cf604ad4
Merge pull request #9893 from lafirest/feat/filiter_banned
feat(banned): filter out banned messages from mqueue
2023-03-13 09:58:39 +08:00
ieQu1
e3595f2e79 chore(mria): Bump version to 0.4.0 2023-03-11 00:37:25 +01:00
Andrew Mayorov
e571b602b8
chore: bump app versions + add changelog
Bump `emqx_plugin_libs` app version to 4.3.7.
2023-03-10 18:43:19 +03:00
Andrew Mayorov
781942cc4f
chore: drop unused macrodefs 2023-03-10 18:42:04 +03:00
Andrew Mayorov
0a7f6c7d03
fix(mysql): ensure proper escaping in batch inserts
Also hexencode non-utf8 binaries. This is essentially an heuristic.
We don't know column types in runtime, and there's no simple way
to find them out. Since we're already doing full binary scan during
escaping it should be cheap to bail out on non-utf8 strings and
hexencode them instead.

Also introduce separate function to highlight that this escaping
is MySQL-specific.
2023-03-10 18:42:04 +03:00
Andrew Mayorov
fc37d9b3cd
fix(mysql): be explicit that batch queries are parameterless
So that mysql client won't attempt to prepare them automatically, thus
trashing the server's prepared statements table and making interaction
overall heavier.
2023-03-10 18:42:04 +03:00
Andrew Mayorov
a86d06f043
chore: bump app versions following last merge-back 2023-03-10 16:44:15 +03:00
Ilya Averyanov
5650ad20f8
Merge pull request #10100 from savonarola/0308-fix-scram-auth
Fix channel crash for slow clients with enhanced authentication
2023-03-10 12:58:43 +02:00
Ivan Dyachkov
951e89134c Merge remote-tracking branch 'upstream/release-50' into 0310-merge-release-50-to-master 2023-03-10 08:48:32 +01:00
Zaiming (Stone) Shi
3f461f312a chore: bump version to e5.0.1 and v5.0.20 2023-03-09 18:34:26 +01:00
Zaiming (Stone) Shi
6ebc31a929
Merge pull request #10104 from JimMoen/refine-changes-for-release-50
Refine changes for release 50
2023-03-09 18:33:00 +01:00
Ilya Averyanov
cba0287439 fix(mqtt): fix channel crash for slow clients with enhanced authn 2023-03-09 17:27:24 +02:00
Kjell Winblad
aa57ea9ee1 fix: mongodb authz crash
This fixes a crash with an error in the log file (see below) that
happened when the MongoDB authorization module queried the database. The
reason is that the collection name that was sent to the mongodb
connection was an atom. This is fixed by making sure it is not an atom.

2023-03-08T17:16:34.215523+01:00 [error] msg: query_mongo_error, mfa:
emqx_authz_mongodb:authorize/4, line: 95, peername: 127.0.0.1:53212,
clientid: client123, collection: mqtt_acl, filter: #{username =>
<<"emqx_u">>}, reason: {resource_error,#{msg => #{error =>
{error,{error_cannot_parse_response,{op_msg_response,#{<<"code">> =>
73,<<"codeName">> => <<"InvalidNamespace">>,<<"errmsg">> => <<"Failed to
parse namespace element">>,<<"ok">> => 0.0}}}},id =>
<<"emqx_authz_mongodb:3">>,name => call_query,request =>
{find,mqtt_acl,#{username => <<"emqx_u">>},#{}},stacktrace =>
[{mc_connection_man,reply,1,[{file,"mc_connection_man.erl"},{line,123}],
...]}, reason => exception}}, resource_id: <<"emqx_authz_mongodb:3">>

Fixes: https://github.com/emqx/emqx/issues/9783
2023-03-09 16:01:23 +01:00
Zaiming (Stone) Shi
3463cd0d37 refactor: generate document related artifacts to _build/docgen 2023-03-09 09:32:03 +01:00
JimMoen
842cb7fadc
fix: debug log for rulesql parse failed
See also: PR#10059.
The other error logs will be printed in `emqx_rule_runtime:apply_rule/3`
2023-03-09 11:28:27 +08:00
Zaiming (Stone) Shi
fe27604010 Merge remote-tracking branch 'origin/release-50' into 0308-merge-release-50-back-to-master 2023-03-08 16:46:45 +01:00
Zaiming (Stone) Shi
c773f5f5e1 chore: bump version to e5.0.1-rc.2 2023-03-08 13:55:37 +01:00
firest
b8b1a78025 feat(bridges): integrate the DynamoDB into data bridges 2023-03-08 11:13:38 +08:00
Zaiming (Stone) Shi
158b4a95df
Merge pull request #10079 from qzhuyan/fix/william/i18n-broker_shared_subscription_strategy
fix: i18n desc of broker_shared_subscription_strategy
2023-03-07 21:57:07 +01:00
Zaiming (Stone) Shi
26b29185b2 test(emqx_bridge_webhook_SUITE): fix flakyness in test web server 2023-03-07 20:57:38 +01:00
Kjell Winblad
163b33ab28 test: remove unnecessary dependencies of ee apps 2023-03-07 20:57:38 +01:00
Kjell Winblad
ca947e3e70 fix: lost messages when HTTP connection times out
When using async mode with the webhook bridge, queued messages that are
not fully processed when the connection times out could be lost. This
commit fixes this by letting the bridge return a recoverable_error when
this happen. The message send will then be retried in sync mode by the
emqx_resource_buffer_worker.

Fixes: https://emqx.atlassian.net/browse/EMQX-8974
2023-03-07 20:57:19 +01:00
Stefan Strigler
609cd01a35
Merge pull request #10085 from sstrigler/EMQX-8552-authorization-sources-type-status-move-shouldnt-exist-when-authorization-sources-type-doesnt-exist
emqx_authz API: return 404 for all requests on non existent source
2023-03-07 16:19:28 +01:00
Stefan Strigler
b54f444263 fix(emqx_authz): return 404 for requests on non existent source 2023-03-07 13:51:06 +01:00
Stefan Strigler
a7605fba94 test(emqx_authz): use snabbkaffe:retry instead of timer:sleep
also use emqx_json rather than jiffy or jsx directly
2023-03-07 13:49:46 +01:00
ieQu1
6f88cb7d9e chore(ekka): Bump version to 0.14.3 2023-03-07 12:07:07 +01:00
zhongwencool
0a5b221984
Merge pull request #10055 from zhongwencool/fix-max-awaiting-rel
fix: update max_awaiting_rel in session
2023-03-07 18:37:20 +08:00
SergeTupchiy
9949c87b91
Merge pull request #10069 from SergeTupchiy/ci/EMQX-9055-configuration-item-flush-time-interval-used-for-stats-d-integration-not-work
fix: EMQX-9055 configuration item flush time interval used for statsd integration not work
2023-03-07 11:43:57 +02:00
William Yang
2b1cf2fa52
Merge pull request #10058 from qzhuyan/dev/william/deprecated-unsupp-quic-TLS-options
fix: deprecate unsupp quic TLS options
2023-03-07 09:29:52 +01:00
William Yang
422f8e3be3
Merge pull request #10078 from qzhuyan/fix/william/inval-listener-options-segfault
fix: inval listener option cause segfault
2023-03-07 09:26:27 +01:00
Zaiming (Stone) Shi
133734b345 chore: bump version number to e5.0.1-rc.1 and v5.0.20 2023-03-07 08:41:13 +01:00
Thales Macedo Garitezi
eef65fba60 fix(buffer_worker): handle request_timeout = infinity case
The current schema allows `infinity` for `request_timeout`, so we have
to take that into account.  It's not currently possible to set
`batch_time = infinity`, so there's no need to treat that case.
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
18ab7ed197 chore: bump app vsns 2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
0e707e837f docs(buffer_worker): improve description of request_timeout 2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
e17ad320ee fix(bridge): do not log in converter 2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
e9d3fc511f chore(buffer_worker): change default batch_time to 0 and improve docs 2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
2fa4e8e21a
Merge pull request #10068 from thalesmg/fix-flaky-mqtt-bridge-test
test: fix flaky mqtt bridge test
2023-03-06 13:06:37 -03:00
William Yang
7c65f6f9a9 fix: i18n desc of broker_shared_subscription_strategy 2023-03-06 15:09:56 +01:00
William Yang
abb5271177 test(quic): start listener with invalid parameter 2023-03-06 14:58:35 +01:00
Stefan Strigler
a81d1a4618
Merge pull request #10066 from sstrigler/EMQX-8932-bridge-api-reports-500-for-most-errors-when-starting-a-resource
fix: return human readable error message for most common cases
2023-03-06 14:13:34 +01:00
Thales Macedo Garitezi
f95a30ae89 fix(webhook): convert request_timeouts in root and resource_opts 2023-03-06 10:12:38 -03:00
Thales Macedo Garitezi
167b7a212f refactor(buffer_worker): avoid starting 0-time timers 2023-03-06 10:12:38 -03:00
Thales Macedo Garitezi
e9ffabf936 fix(buffer_worker): add batch time automatic adjustment
To avoid message loss due to misconfigurations, we adjust `batch_time`
based on `request_timeout`.  If `batch_time` > `request_timeout`, all
requests will timeout before being sent if the message rate is low.
Even worse if `pool_size` is high.  We cap `batch_time` at
`request_timeout div 2` as a rule of thumb.
2023-03-06 10:12:38 -03:00
William Yang
27c5389fdc fix(quic): inval listener option casue segfault
bump quicer to 0.0.113
2023-03-06 14:05:33 +01:00
Thales Macedo Garitezi
8fbb948b6f test: fix flaky mqtt bridge test
Sometimes, this test fails because the metrics are still in the
inflight phase.
2023-03-06 09:09:33 -03:00
Stefan Strigler
d0ea7f4647 fix(emqx_authz): check if type param matches type in body 2023-03-06 11:10:31 +01:00
Zhongwen Deng
f498a3538b fix: update max_awaiting_rel in session 2023-03-06 17:06:40 +08:00
Zaiming (Stone) Shi
a4aece396a
Merge pull request #10052 from zmstone/0301-optimize-boot-error-log
0301 optimize boot failure logs
2023-03-06 08:32:15 +01:00
Kjell Winblad
a638cc6566
Merge pull request #9985 from kjellwinblad/kjell/feat/clickhouse_bridge_2/EMQX-8391
feat: add clickhouse database bridge
2023-03-04 07:05:05 +01:00
Serge Tupchii
b3907128e8 fix: set statsd flush_time_interval = max(flush_time_interval, sample_time_interval)
flush_time_interval is used to calculate statsd sampling rate:
    rate = sample_time_interval / flush_time_interval
This means that flush_time_interval must always be greater than (or equal to)
sample_time_interval, otherwise, the sampling rate will be invalid (> 1).

Relates to EMQX-9055
2023-03-03 22:24:00 +02:00
Serge Tupchii
bff087f40a fix: restart emqx_statsd with the updated configuration
emqx_config_handler:post_config_update/5 cb is called before an updated config is saved.
Thus, a process being restarted in that callback cannot get the latest config by calling
emqx_conf:get/2, because that update is not saved yet.

Relates to EMQX-9055
2023-03-03 22:24:00 +02:00
Stefan Strigler
570bf165af fix: return human readable error message for most common cases 2023-03-03 16:49:09 +01:00
Ivan Dyachkov
c01f62a1c1 chore: bump apps versions 2023-03-03 13:58:32 +01:00
Stefan Strigler
6ebd3dc747 feat(emqx_rule_engine): decompose error tuples
sqltester for instance returns sth like {"...sytnax error...", OrigSql}
2023-03-03 09:59:24 +01:00
Stefan Strigler
44eca1fa72 fix(emqx_rule_engine): don't crash if we can't encode json 2023-03-03 09:36:13 +01:00
Stefan Strigler
64b5e9585e feat(emqx_rule_engine): API format errors in a human readable way 2023-03-02 16:49:11 +01:00
Zaiming (Stone) Shi
4eb9a69df0 feat(bin/emqx): diagnose boot failure
Prior to this change, when EMQX daemon mode failed to start
it's not quite easy for users to understand what went wrong.
All the know is the node did not start in time
and then instructed to boot the node in 'console' mode wishing
for some logs.
However, the node might actuay be running, causing 'console' mode
to fail with a different reason.

With this change, after a filure of daemon mode boot,
we issue a diagnosis.
1. if node can not be found from ps -ef, instruct the user
   to find information in erlang.log.N
2. if the node is found running, but not responding to pings
   instruct the user to check if the node name is
   resolvable and reachable
3. if the node is responding to pings but emqx app is not
   running, then it's likely a bug. so the user is advised
   to report a github issue.
2023-03-02 14:46:09 +01:00
William Yang
baf01617cd fix(quic): mark unsupp TLS options deprecated 2023-03-02 14:03:44 +01:00
Kjell Winblad
67acdf0888 feat: add clickhouse database bridge
This commit adds a Clickhouse bridge to EMQX 5. The bridge is similar to
the Clickhouse bridge in the 4.4, but adds the possibility to use
different formats (such as JSON) for values to be inserted.
2023-03-02 12:22:11 +01:00
Stefan Strigler
39e1cf9502 fix(emqx_bridge): let it crash instead of 400 on failed reset 2023-03-02 11:23:07 +01:00
Stefan Strigler
4c23ab097d fix(emqx_bridge): return 400 if operation not possible 2023-03-02 11:23:07 +01:00
Stefan Strigler
9fb74bfc87
Merge pull request #10050 from sstrigler/EMQX-9063-bridges-api-consistently-return-404-if-resource-does-not-exist
fix: consistently return 404 in case bridge is not found or invalid
2023-03-02 11:20:56 +01:00
Stefan Strigler
680a4362d1 fix: match macro variables 2023-03-02 10:12:56 +01:00
Stefan Strigler
76f97010bb style: change wording 2023-03-02 09:14:52 +01:00
Serge Tupchii
77dea0c77a fix: Handle obfuscated fields in bridges_probe API 2023-03-01 22:05:23 +02:00
Stefan Strigler
3f324f85bc fix: consistently return 404 in case bridge is not found or invalid
Also: fix some typos and be more verbose
2023-03-01 18:03:49 +01:00
Zaiming (Stone) Shi
a5f31d0bf4 Merge remote-tracking branch 'origin/master' into 0301-merge-release-50-to-master 2023-03-01 14:04:29 +01:00
Zaiming (Stone) Shi
0185c81f69 chore: bump opensource edition version to v5.0.19 2023-03-01 11:53:24 +01:00
Zaiming (Stone) Shi
fdc0ad6669
Merge pull request #10044 from zmstone/0228-fix-node-info-format
fix(emqx_mgmt): format stoped nodes correctly
2023-03-01 11:39:09 +01:00
Zaiming (Stone) Shi
083330ad80 Merge remote-tracking branch 'origin/master' into 0301-merge-release-50-to-master 2023-03-01 08:53:03 +01:00
Zaiming (Stone) Shi
2b06089250 test: stop apps in end_per_suite 2023-03-01 08:48:23 +01:00
Zaiming (Stone) Shi
469071df00 fix(emqx_management): ensure binary string for log_path 2023-03-01 07:45:36 +01:00
Zaiming (Stone) Shi
d369e3167b fix(emqx_mgmt): format stoped nodes correctly 2023-02-28 21:38:30 +01:00
ieQu1
f80c4e4084 chore(ekka): Bump version to 0.14.2 (mria 0.3.3) 2023-02-28 20:14:13 +01:00
Zaiming (Stone) Shi
b3100ca8ae
Merge pull request #9956 from zmstone/0210-fix-bridge-status
0210 docs: fix bridge status
2023-02-28 19:44:07 +01:00
William Yang
427e65bf21 fix: bump hocon to 0.36.0 disallow dup fields 2023-02-28 14:55:45 +01:00
William Yang
7136cc94f4 chore(quic): remove dup handshake_idle_timeout_ms 2023-02-28 14:55:45 +01:00
Zaiming (Stone) Shi
56279f6305 docs: fix bridge status report 2023-02-28 11:56:46 +01:00
William Yang
f3e1860562 test: fix flaky olp tcs
Leave only one scheduler online to make test result stable.
2023-02-27 20:01:29 +01:00
Andrew Mayorov
7dce152ffd
Merge pull request #10032 from keynslug/fix/EMQX-9019/no-metrics-disconnected
fix(bridgeapi): anticipate node responses w/o metrics
2023-02-27 16:43:25 +04:00
Andrew Mayorov
7c573d9365
fix(bridgeapi): anticipate node responses w/o metrics
When some resource manager is busy with trying to estabilish a
connection with remote, we hit the "read-from-cache" codepath so the
resource data will not contain any metrics.
2023-02-27 14:55:41 +03:00
William Yang
6dd99b3331
Merge pull request #10030 from qzhuyan/test/william/fix-quic-flaky-tc
chore: fix quic flaky tc
2023-02-27 10:04:12 +01:00
firest
7d762593f6 fix(connector): redact the http body in error logs for security reasons 2023-02-27 11:41:34 +08:00
William Yang
58af936120 test: fix flaky emqx_broker_helper_SUITE:t_shard_seq 2023-02-24 21:21:12 +01:00
William Yang
60532569a2 test(quic): fix flaky 2023-02-24 21:21:12 +01:00
Zaiming (Stone) Shi
5150407f7b chore: bump to version v5.0.18 2023-02-24 20:06:43 +01:00
Zaiming (Stone) Shi
b3f3bdeafe Merge remote-tracking branch 'origin/master' into release-50 2023-02-24 20:05:59 +01:00
Zaiming (Stone) Shi
df7e9db057
Merge pull request #10019 from qzhuyan/dev/william/quic-hidden-low-level-tunings
230222 feat(quic): add hidden low level settings for listeners.
2023-02-24 20:03:31 +01:00
Zaiming (Stone) Shi
80afb69bb2
Merge pull request #10015 from zmstone/0220-faile-fast-if-cookie-is-obviously-wrong
0220 fail fast if cookie is obviously wrong
2023-02-24 19:54:35 +01:00
Zaiming (Stone) Shi
79bf77c2f1
Merge pull request #10020 from zmstone/0222-fix-bridge-async-mode-counters
fix(bridge): fix dropped counter and inflight gauge
2023-02-24 19:51:24 +01:00
Andrew Mayorov
c883e4b36a
test: drop custom loop_wait in favor of snabkaffe's ?retry 2023-02-24 18:16:35 +03:00
Andrew Mayorov
2b4e49e7df
fix(bufworker): handle replies of simple async queries
Before that change, simple queries were treated as "retries"
essentially, thus skipping all the reply processing there is.
2023-02-24 15:06:49 +03:00
William Yang
fde19e2b4b docs(quic): fix typos 2023-02-24 10:20:28 +01:00
William Yang
f61c3c47ca docs(quic): add zh 2023-02-24 10:20:28 +01:00
William Yang
681fd80cab docs(quic): move desc to i18n. 2023-02-24 10:20:28 +01:00
William Yang
ee77c113aa test(quic): tuned listener 2023-02-24 10:20:28 +01:00
William Yang
ea65ec10bf feat(quic): add hidden low level settings for listeners. 2023-02-24 10:20:28 +01:00
Zaiming (Stone) Shi
c97d17cc91 test: refactor to loop wait for counters 2023-02-24 09:02:03 +01:00
Zaiming (Stone) Shi
a10dbba084 refactor(buffer_worker): less defensive on inflight counter decrement 2023-02-23 21:23:10 +01:00
Ilya Averyanov
5bfd690df6 fix(dashboard): fix swagger spec generation 2023-02-23 22:09:36 +02:00
Zaiming (Stone) Shi
7a6465e2cf fix(buffer_worker): ensure flush timer reset in blocked state 2023-02-23 21:06:38 +01:00
Zaiming (Stone) Shi
3a6dbbdd05 refactor(buffer_worker): ensure flsh message is never missed 2023-02-23 20:11:00 +01:00
Zaiming (Stone) Shi
dbfdeec5e9 fix(buffer_worker): log unknown async replies 2023-02-23 12:55:49 +01:00
Zaiming (Stone) Shi
356a94af30 fix(buffer_worker): ensure async flush message is sent
This is a new issue introduced in the previous fix commits
after handling the partial expiry correctly, the
IsFullBefore check is no longer the state before the reply
is received but the state after a partially-expired batch
is shrinked.
The fix is simple, move the check to the entry-point of
where async reply callback enters, then send an async
'flush' notification regardless of the handling result.
2023-02-23 09:47:34 +01:00
Zaiming (Stone) Shi
e9787c3ee3
Merge pull request #9966 from zmstone/0213-port-blackbox-cover-report-from-v4
feat: add new module emqx_cover.erl
2023-02-23 09:44:11 +01:00
Zaiming (Stone) Shi
3413af76be fix(emqx_misc): ensure flatten list for safe dir 2023-02-23 09:05:52 +01:00
Zaiming (Stone) Shi
713220f88b refactor(buffer_worker): more generic process for all_expired 2023-02-23 00:04:20 +01:00
Zaiming (Stone) Shi
036f69cd6e test: ensure batch size > 1 is covered in expiration test 2023-02-22 23:26:04 +01:00
Zaiming (Stone) Shi
bf8becd521 test: make sure gauge return to 0 in test cases 2023-02-22 23:07:12 +01:00
Zaiming (Stone) Shi
3458aee296
Merge branch 'master' into 0213-port-blackbox-cover-report-from-v4 2023-02-22 22:21:44 +01:00
Zaiming (Stone) Shi
fc614e16e5 fix(bridge): update inflight items after partial expiry 2023-02-22 22:05:56 +01:00
ieQu1
b0777ca73b chore(ekka): Bump version 2023-02-22 20:55:04 +01:00
Stefan Strigler
0cfa5e2ce1
Merge pull request #9994 from sstrigler/EMQX-3688-emqx-mgmt
emqx mgmt code coverage and cleanup
2023-02-22 14:30:36 +01:00
Zaiming (Stone) Shi
6a1085a842 chore: change 'emqx_ctl' usage to 'emqx ctl' 2023-02-22 13:57:55 +01:00
Zaiming (Stone) Shi
bb13d0708f fix(bridge): fix dropped counter and inflight gauge
Prior to this fix there were two metrics issues
1. if a batch is all requests expired when receiving a reply
   it only bumped 1 instead of the batch size for 'late_reply'
2. when a batch is partially delivered (or expired), the
   dropped requests were not decremented from the inflight size gauge
2023-02-22 13:20:58 +01:00
Zaiming (Stone) Shi
a1ba7bc004
Merge pull request #9976 from zmstone/0215-docs-improve-bridge_mode-description
docs: improve bridge_mode description
2023-02-21 20:55:20 +01:00
Stefan Strigler
967369075f
Merge pull request #10014 from sstrigler/EMQX-7822-5-0-get-api-v-5-monitor-nodes-node-must-return-404-when-node-is-not-responding
fix: return `404` for unknown node names
2023-02-21 17:09:03 +01:00
Stefan Strigler
a0589d5b95 fix: return 404 for unknown node names 2023-02-21 16:23:38 +01:00
Stefan Strigler
965d63f4f5 fix: schema for /gateways/:name/clients was missing top-level structure 2023-02-21 15:33:56 +01:00
Stefan Strigler
bf978efc83
Merge pull request #10009 from sstrigler/EMQX-7994-get-trace-name-log-bytes-xxx-does-not-do-input-validation
get trace name log bytes xxx does not do input validation
2023-02-21 14:12:57 +01:00
William Yang
969cbecf91
Merge pull request #10010 from qzhuyan/dev/william/new-emqtt-quicer
chore: bump quicer 0.0.111 and emqtt 1.8.2
2023-02-21 13:30:27 +01:00
Stefan Strigler
28382ec26b test: add test for pubsub api 2023-02-21 13:11:34 +01:00
William Yang
0a207856aa chore: bump quicer 0.0.111 and emqtt 1.8.2 2023-02-21 10:36:15 +01:00
Stefan Strigler
e78c2c2869 fix: return 404 in case node is not found 2023-02-21 10:20:34 +01:00
Stefan Strigler
9ecf154a71 fix: limit bytes param to signed 32bit int
We still need to check if chunk we're reading fits in memory
2023-02-21 10:20:14 +01:00
Stefan Strigler
8ae4440061 style: fix API description for bytes parameter 2023-02-21 09:41:32 +01:00
Stefan Strigler
81fad58f12 fix: re-add list_subscriptions/0
Created a ticket to add an actual working implementation
2023-02-21 09:41:00 +01:00
Stefan Strigler
71f3efb2ce style: fix empty line 2023-02-21 09:41:00 +01:00
Stefan Strigler
c44c7fcbce style: remove unused macro 2023-02-21 09:41:00 +01:00
Stefan Strigler
0482f43802 test: add test for banned and alarms 2023-02-21 09:41:00 +01:00
Stefan Strigler
0d357f7038 refactor: cleanup list subscriptions 2023-02-21 09:41:00 +01:00
Stefan Strigler
0d2ce85776 fix: return 'not found' for subscriptions of unknown client 2023-02-21 09:41:00 +01:00
Stefan Strigler
f3ced5d5eb refactor: kickout_client doesn't need a format fun 2023-02-21 09:41:00 +01:00
Stefan Strigler
a6d88c3caa test: more tests 2023-02-21 09:41:00 +01:00
Stefan Strigler
fc33bce40d test(emqx_mgmt): test list_nodes/0 2023-02-21 09:41:00 +01:00
Stefan Strigler
777ca72ad5 fix: don't crash on broker_info() 2023-02-21 09:41:00 +01:00
Stefan Strigler
f9895a33b6 refactor: rename max_row_limit to default_row_limit 2023-02-21 09:41:00 +01:00
Zaiming (Stone) Shi
9316690c29 fix(schema): binary string for default values
A lot of the string value fields had default value defined in
schema as list-string rather than binary-string.
This caused the generated schema dump (in JSON format)
to have raw_default field as an integer array.
2023-02-21 09:09:51 +01:00
William Yang
31cfd728c4 ci(quic): bump to quicer 0.0.109 for ubuntu22.04 prebuilds 2023-02-20 14:50:35 +01:00
William Yang
bd4a84ac0a test(quic): adapt to new emqtt reconnect mechanism. 2023-02-20 14:48:39 +01:00
William Yang
296e271b97 fix(quic): bump to emqtt 1.8.1 2023-02-20 10:53:51 +01:00
William Yang
cf72947f0a test(quic): use quic.ssl_options 2023-02-20 10:53:42 +01:00
William Yang
ebd0fb74a3 test(quic): by default, bind to port not IPv4 2023-02-20 10:43:24 +01:00
William Yang
3f7032fbe9 chore(quic): troubleshooting large payload 2023-02-20 10:43:21 +01:00
William Yang
fef0a9375c chore(quic): make spell check happy 2023-02-20 10:43:17 +01:00
William Yang
b81b62c639 chore(quic): doc about deprecated fields. 2023-02-20 10:43:17 +01:00
William Yang
45718dd77f chore(quic): debug flaky large payload tc. 2023-02-20 10:43:17 +01:00
William Yang
f106f30a96 chore: fix comments in emqx_connection 2023-02-20 10:43:17 +01:00
William Yang
c6c3bd0396 chore(quic): schema format fix 2023-02-20 10:42:55 +01:00
William Yang
0e40f6cf48 feat(quic): listener use common server ssl_options 2023-02-20 10:42:55 +01:00
William Yang
fc3e8715a1 feat(quic): bump to emqtt 1.8.0 2023-02-20 10:42:55 +01:00
William Yang
04f502fb54 feat(quic): support mTLS with 'verify' and 'cacertfile' 2023-02-20 10:42:55 +01:00
William Yang
c7efccb996 chore: bump emqtt 1.7.1-pre2 & quicer 0.0.108 2023-02-20 10:42:55 +01:00
William Yang
c457c1092b fix(quic): show QUIC listeners in dashboard 2023-02-20 10:42:55 +01:00
William Yang
3c73c6b7c6 feat(quic): bump quicer to 0.0.107 2023-02-20 10:42:55 +01:00
William Yang
0351b32cf4 test(quic): disable shutdown policy for large payload test 2023-02-20 10:42:55 +01:00
William Yang
f4f346e387 test(quic): fix flaky test 2023-02-20 10:42:55 +01:00
William Yang
db544cf9ad fix: emqtt vsn in rebar after rebase 2023-02-20 10:42:55 +01:00
William Yang
dc26790495 test(quic): trace why we get verify_peer 2023-02-20 10:42:55 +01:00
William Yang
f8fd201a8c test(quic): fix flaky test 2023-02-20 10:42:55 +01:00
William Yang
d8fa65ea09 fix(quic): handle timeout event in data stream 2023-02-20 10:42:55 +01:00
William Yang
38247a9d62 feat(quic): bump quicer to 0.0.106 2023-02-20 10:42:55 +01:00
William Yang
381eb8ec68 chore(quic): fix dialyzer 2023-02-20 10:42:55 +01:00
William Yang
282d1a6829 ci: build dialyzer PLT with quicer, jq and bcrypt 2023-02-20 10:42:55 +01:00
William Yang
88cdfcc4a6 test(quic): excl. multistream SUITE when BUILD_WITHOUT_QUIC 2023-02-20 10:42:55 +01:00
William Yang
de810e04fd chore(quic): clean test code 2023-02-20 10:42:55 +01:00
William Yang
98a72d40ce fix(emqx_connection): do not raise an exception for normal shutdown 2023-02-20 10:42:55 +01:00
William Yang
1692a16778 feat(quic): handle ctrl stream normal shutdown 2023-02-20 10:42:55 +01:00
William Yang
2a6cdd9da6 test(quic): enhance large payload test 2023-02-20 10:42:55 +01:00
William Yang
00f615a1e3 chore(quic): clean code 2023-02-20 10:42:55 +01:00
William Yang
22dcf5907e feat(quic): bump to quicer 0.0.104 2023-02-20 10:42:55 +01:00
William Yang
f65ac5422e test(quic): improve coverage 2023-02-20 10:42:55 +01:00
William Yang
5764994436 feat(quic): bump to quicer 0.0.103 2023-02-20 10:42:55 +01:00
William Yang
1e8b2e247e feat(quic): 0-RTT multi-streams data 2023-02-20 10:42:55 +01:00
William Yang
71d3148544 feat(quic): stream use active_n 10 2023-02-20 10:42:55 +01:00
William Yang
0173121a30 feat(quic): improve coverage and remove unused code 2023-02-20 10:42:55 +01:00
William Yang
0544a3ca0c fix(quic): setops on stream and handle peer needs stream
- setopts should go for stream
- handle peer_needs_streams for none msquic clients
2023-02-20 10:42:55 +01:00
William Yang
ceac5a0ec7 feat(quic): bump to quicer 0.0.101 2023-02-20 10:42:55 +01:00
William Yang
1840a7f923 test(quic): improve coverage 2023-02-20 10:42:55 +01:00
William Yang
5bdcb0562d feat(quic): workaround to flushing the send buffer after conn shutdown
Could not find a way to ensure msquic flush the send buffer after
calling ConnectionShutdown.

So just close the ctrl stream and let conn owner shutdown the conn.
2023-02-20 10:42:55 +01:00
William Yang
04a8a49dbe test: update testcase for new emqtt 2023-02-20 10:42:55 +01:00
William Yang
7d9bd33de9 feat(quic): bump quicer version to 0.0.100 2023-02-20 10:42:55 +01:00
William Yang
9b52beaee9 fix(quic): handle fast_close while handshake fail 2023-02-20 10:42:55 +01:00
William Yang
9f696928b6 feat(quic): multi streams 2023-02-20 10:42:55 +01:00
William Yang
a51c886908 fix: prepare for multi stream 2023-02-20 10:42:55 +01:00
William Yang
2d09a054e3 chore: add some typing 2023-02-20 10:42:55 +01:00
William Yang
00b59b4939 feat(quic): WIP multi-stream 2023-02-20 10:42:55 +01:00
Zaiming (Stone) Shi
6f1eaca253 chore: bump version to e5.0.1-alpha.1 2023-02-20 08:28:14 +01:00
ieQu1
388c33395e
Merge pull request #9939 from ieQu1/mria-replicant-manual-join
Mria replicant manual join
2023-02-17 11:32:58 +01:00
ieQu1
d9554c36ac chore: Bump umbrealla app versions 2023-02-17 09:50:50 +01:00
ieQu1
794bedef9f fix(emqx_ctl): Start CLI before ekka 2023-02-17 09:50:50 +01:00
Erik Timan
056bc71af2 chore: bump VSN version 2023-02-16 15:05:38 +01:00
Erik Timan
2442a4dea7 test(emqx_resource): add regression test for recursive flushing 2023-02-16 14:17:16 +01:00
Erik Timan
dcf70e0e68 refactor(emqx_resource): add more trace points for flushing 2023-02-16 14:17:16 +01:00
Thales Macedo Garitezi
6bf385793c
Merge pull request #9978 from thalesmg/fix-psql-tls-v50
fix(pgsql): fix ssl option for pgsql connector to match previous behavior (5.0)
2023-02-16 09:20:32 -03:00
Zhongwen Deng
82b2f9f245 chore: include emqx_management in emqx_prometheus/emqx_statsd 2023-02-16 11:37:00 +08:00
Thales Macedo Garitezi
dbda504f2c fix(pgsql): fix ssl option for pgsql connector to match previous behavior (5.0)
Fixes https://github.com/emqx/emqx/issues/9907

At v5.0.14, we changed the `ssl` option for the Postgres connector
from `true` to `required`, but there was another transformation in
`conn_opts/2` that led to an incorrect configuration.  This change
ended up preventing users from connecting to Postgres with their
previous configurations after upgrading EMQX.
2023-02-15 14:06:33 -03:00
Zaiming (Stone) Shi
719e02cc96 fix(metrics): use the same data source for RAM usage info 2023-02-15 16:11:39 +01:00
Zaiming (Stone) Shi
1cf88ea0b4 docs: improve bridge_mode description 2023-02-15 15:24:10 +01:00
Stefan Strigler
293df88f36
Merge pull request #9965 from sstrigler/EMQX-3689-emqx-mgmt-api
EMQX 3689 emqx mgmt api
2023-02-15 15:13:17 +01:00
Stefan Strigler
921b5b2c5c style: rename function for compliance 2023-02-15 13:38:14 +01:00
Stefan Strigler
21b8ff6d14 test: use unit test to test paginate 2023-02-15 13:31:48 +01:00
lafirest
3108b6f9dc
Merge pull request #9932 from lafirest/feat/tdengine
feat(bridges): add TDengine
2023-02-15 20:01:50 +08:00
William Yang
02f15be20f
Merge pull request #9967 from qzhuyan/perf/william/add-tls-common-conf-hibernate-after
perf: add tls common conf hibernate after
2023-02-15 12:02:05 +01:00
Stefan Strigler
9be73bfff0 fix: support ipv6 at ip_port 2023-02-15 10:37:13 +01:00
William Yang
4e6c7bfcbe chore: changelog for hibernate_after 2023-02-14 16:26:58 +01:00
William Yang
d424d77e84 chore(TLS): hibernate_after default to 5s, follow version 4.x 2023-02-14 16:26:58 +01:00
William Yang
572e50e0a2 perf: add TLS config hibernate_after, reduce memory footprint 2023-02-14 16:26:55 +01:00
firest
81adb02402 chore: bump apps version 2023-02-14 22:04:29 +08:00
firest
530b21268a feat(bridges): add TDengine 2023-02-14 22:04:23 +08:00
Stefan Strigler
4417ea9db7 style: missing comma 2023-02-14 09:13:45 +01:00
JianBo He
0d63cfdc97 chore: remove changes to 5.0.18 2023-02-14 15:34:12 +08:00
JianBo He
36b1c3eb5b fix(api): fix bad return error message if client id is not found 2023-02-14 15:30:55 +08:00
Zaiming (Stone) Shi
ba65cf48c3 feat: add new module emqx_cover.erl 2023-02-13 22:31:18 +01:00
Stefan Strigler
8b47acd58d test: page overflow and bad rpc in cluster 2023-02-13 17:46:26 +01:00
Stefan Strigler
8d34a72ab6 test: add test for clustered badrpc 2023-02-13 17:14:15 +01:00
Stefan Strigler
a28588ebf0 fix: bad spec 2023-02-13 17:14:02 +01:00
Stefan Strigler
89630a8a74 test: query bad node 2023-02-13 16:09:04 +01:00
Stefan Strigler
0c87d238e9 chore: bump version 2023-02-13 15:46:27 +01:00
Stefan Strigler
9e954585ae test: add node query tests and some more 2023-02-13 15:45:37 +01:00
Stefan Strigler
0e9289e48c refactor: remove unused clause 2023-02-13 15:45:37 +01:00
Stefan Strigler
743ced17c9 test: add test for more types in schema 2023-02-13 15:45:37 +01:00
Stefan Strigler
28560e4603 refactor: remove unused code 2023-02-13 15:45:37 +01:00
Zaiming (Stone) Shi
7d9b0f4826 chore: bump version to v5.0.17 2023-02-13 08:53:09 +01:00
Zaiming (Stone) Shi
a11217aa0f chore: bump version to v5.0.17 2023-02-12 11:36:53 +01:00
Zaiming (Stone) Shi
72fe10f18b chore: fix spell check errors 2023-02-10 19:41:14 +01:00
Zaiming (Stone) Shi
fb61c2b266 perf: avoid getting metrics (gen_server:call) for each resource lookup 2023-02-10 19:40:37 +01:00
Andrew Mayorov
fe450ca2d9
Merge pull request #9938 from keynslug/feat/mqtt-bridge-async-errors
feat(mqtt-bridge): report recoverable errors of async queries
2023-02-10 20:40:58 +04:00
Andrew Mayorov
2ed54e560f
Merge pull request #9952 from keynslug/fix/mqtt-bridge-no-qos2-clean-start
fix(mqtt-bridge): disallow QoS 2 on ingress bridges
2023-02-10 20:40:37 +04:00
Andrew Mayorov
cbb2885499
fix(mqtt-bridge): allow to configure clean_start for ingresses 2023-02-10 19:15:48 +03:00
Stefan Strigler
be615a2bb1
Merge pull request #9951 from sstrigler/EMQX-8929-handle-error-results-in-bridge-api-for-multicall-operations
fix(emqx_bridge): unwrap rpc multicall result
2023-02-10 16:26:50 +01:00
Andrew Mayorov
7002fe2ef4
fix(mqtt-bridge): disallow QoS 2 on ingress bridges 2023-02-10 17:17:59 +03:00
Zaiming (Stone) Shi
5d59fcbf23
Merge pull request #9950 from zhongwencool/prometheus_push_server_url_check
fix: add push_gateway_server's  validator
2023-02-10 12:41:50 +01:00
Stefan Strigler
e196d6f42a fix(emqx_bridge): unwrap rpc multicall result 2023-02-10 12:00:20 +01:00
Zhongwen Deng
53488b4377 fix: add push_gateway_server's validator 2023-02-10 17:52:16 +08:00
Andrew Mayorov
8bd7c0eb3f
feat(mqtt-bridge): report recoverable errors of async queries
This should help to avoid delivery failures of messages which could
be safely retried, in the event of intermittent connectivity loss
for example.

It should now be safe since 73d5592b.
2023-02-10 12:26:59 +03:00
Zaiming (Stone) Shi
d1eb788ee1
Merge pull request #9916 from qzhuyan/fix/william/bridge-mqtt-TLS-verify-wildcard-peer
fix(mqtt-bridge): support verify TLS wildcard cert
2023-02-10 09:39:35 +01:00
Zaiming (Stone) Shi
3e85cb3804
Merge pull request #9946 from zmstone/0209-fix-add-back-deprecate-field
fix(config): add back reconnect_interval field as deprecated
2023-02-10 09:19:12 +01:00
Zaiming (Stone) Shi
40f719a34d
Merge pull request #9936 from id/feat-disable-disksup
feat: disable disksup by default
2023-02-10 09:17:13 +01:00
Zaiming (Stone) Shi
42dfaf3ef2
Merge pull request #9910 from sstrigler/EMQX-8861-improve-bridge-restart-button-behaviour
EMQX 8861 improve bridge restart button behaviour
2023-02-09 18:00:48 +01:00
Zaiming (Stone) Shi
4e71f1cbc5
Merge pull request #9940 from zmstone/0208-ensure-no-leading-br-in-docs
Add style checks for i18n.conf files
2023-02-09 17:37:44 +01:00
Zaiming (Stone) Shi
5328955ff4 fix(config): add back reconnect_interval field as deprecated 2023-02-09 17:30:09 +01:00
Erik Timan
3dea6b7913
Merge pull request #9930 from olcai/add-live-connections-to-prometheus-v5
feat(emqx_prometheus): expose live_connections stats to prometheus
2023-02-09 16:48:42 +01:00
Andrew Mayorov
48efe552d1
test(mqtt-bridge): manage test flaps by waiting for flush events 2023-02-09 14:31:42 +03:00
Zaiming (Stone) Shi
157c919ba1 ci: add i18n style check script 2023-02-09 11:41:52 +01:00
ieQu1
123fea44de chore(ekka): Bump version to 0.14.0 2023-02-08 17:35:14 +01:00
Zaiming (Stone) Shi
5df667738a docs: fix bad i18n files 2023-02-08 17:25:22 +01:00
Ivan Dyachkov
fdb802975c feat: disable disksup by default 2023-02-08 15:33:35 +01:00
Stefan Strigler
f89ac54b17 style: remove stale comment 2023-02-08 14:04:09 +01:00
Stefan Strigler
a3fd0897bc refactor: less code duplication 2023-02-08 14:04:09 +01:00
Stefan Strigler
502f62e18d fix: try old 'restart' behavior if 'start' is not implemented 2023-02-08 13:19:41 +01:00
Andrew Mayorov
81b1bab11e
chore: bump emqx_resource version to 0.1.7
Also add the changelog entry.
2023-02-08 14:21:30 +03:00
Andrew Mayorov
c6fc0ec8cd
fix(bufworker): do not avoid retry if inflight table is full
Otherwise there's no other piece of code that would retry the inflight
queries in that case.
2023-02-08 14:08:04 +03:00
Andrew Mayorov
d8d06a260f
test(buffer): add test on inflight overflow w/ async queries
This testcase should verify that the buffer will retry all inflight
queries failed with recoverable errors + flush all outstanding queries.

Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-02-08 14:08:04 +03:00
Stefan Strigler
cec8afe1b4
Merge pull request #9875 from sstrigler/EMQX-7119-fix-upload-broken-plugin
EMQX 7119 fix upload broken plugin
2023-02-08 09:38:52 +01:00
Zaiming (Stone) Shi
d628aba079
Merge pull request #9718 from zmstone/0108-refactor-authn-schema-union-member-selector
0108 refactor authn schema union member selector
2023-02-07 16:45:47 +01:00
William Yang
6113d467c1 fix(mqtt-bridge): support verify TLS wildcard cert 2023-02-07 16:40:55 +01:00
Erik Timan
784ec0c0a5 chore: bump VSN 2023-02-07 15:54:01 +01:00
Erik Timan
19c2288a4b feat(emqx_prometheus): expose live_connections stats to prometheus 2023-02-07 15:42:55 +01:00
Stefan Strigler
86f3f5787f feat: allow to manually re-connect disconected bridge 2023-02-07 11:58:30 +01:00
Zaiming (Stone) Shi
537ff30550 chore: update code comment 2023-02-07 11:40:17 +01:00
Zaiming (Stone) Shi
d487299b75 refactor: remove dead code 2023-02-07 08:34:10 +01:00
Zaiming (Stone) Shi
4653ca65f7 fix(logger): fix REPORT_CB/2 CRASH logs 2023-02-06 23:46:49 +01:00
Zaiming (Stone) Shi
dc8f0c5101 refactor(authn): no need to check config at app boot 2023-02-06 18:19:22 +01:00
Zaiming (Stone) Shi
83e66da2aa fix(authn): throw exception on invalid config from the API 2023-02-06 14:12:50 +01:00
Stefan Strigler
758d19f1e0 chore: bump vsn 2023-02-06 10:44:06 +01:00
Stefan Strigler
4e12a44ee6 fix: return 204 instead of 200 if there's no body content 2023-02-06 09:47:07 +01:00
Stefan Strigler
847f899fa0 test: ensure bad plugin upload gets deleted 2023-02-06 09:46:16 +01:00
Stefan Strigler
e135f8654c test: enable basic plugins API tests 2023-02-06 09:46:16 +01:00
Stefan Strigler
a866c995f5 test: add test for arbitrary content in tar file 2023-02-06 09:46:16 +01:00
Stefan Strigler
70c4e12b68 fix: cleanup after upload of broken plugin 2023-02-06 09:46:16 +01:00
Stefan Strigler
618ec04340 style: fix comment 2023-02-06 09:46:16 +01:00
Zaiming (Stone) Shi
a9c650da66 refactor: for better test coverage 2023-02-04 07:59:49 +01:00
Zaiming (Stone) Shi
2ebc89e339 refactor: authn schema union selector 2023-02-04 07:58:43 +01:00
Zaiming (Stone) Shi
4f91bf415c fix: schema check error reason pattern 2023-02-04 07:58:06 +01:00
Zaiming (Stone) Shi
65319567cc chore: no type check for 3rd party auth 2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi
fbc52330f3 refactor: do not re-check config in post_config_update
now that the type is not lazy, it should have already been checked
when reaching the post_config_update step
2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi
6aaff6211f feat: use union member selector for authn config schema 2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi
15035f7eb0 refactor: remove lazy type for authentication
The idea of using lazy type for authentication was to make the
config check easy to extend at runtime. However the reality
is: it's overly complicated.

It's more likely that people will just continue to implementing
the auth hook callbacks instead of injecting config schema
at runtime.
2023-02-04 07:56:29 +01:00
Zaiming (Stone) Shi
ccb0c7ebaa Merge remote-tracking branch 'origin/release-50' into 0202-merge-release-50-back-to-master 2023-02-03 16:12:11 +01:00
Zhongwen Deng
d45a0cb2ee chore: remove <<>> when logging username 2023-02-03 16:54:18 +08:00
Zaiming (Stone) Shi
1e0fe270bc chore: bump emqx app vsn to 5.0.17 2023-02-02 20:32:09 +01:00
Zaiming (Stone) Shi
94768c9f44 Merge remote-tracking branch 'origin/master' into 0202-merge-release-50-back-to-master 2023-02-02 20:21:26 +01:00
Zaiming (Stone) Shi
5fe3a0b1b3
Merge pull request #9898 from zmstone/0202-upgrade-to-dashboard-e1.0.3
chore: upgrade dashboard to v1.1.7 for ce and e1.0.3 for ee
2023-02-02 17:41:52 +01:00
Zaiming (Stone) Shi
42462db8b8 chore: bump version to v5.0.16 and e5.0.0 2023-02-02 17:26:00 +01:00
Zaiming (Stone) Shi
3d6756cbe8 test: fix addrinuse errors in listeners API test SUITE 2023-02-02 16:37:56 +01:00
Zaiming (Stone) Shi
a71d983ff8 test: fix assertMatch patter to make rebar3 fmt work 2023-02-02 16:37:45 +01:00
Zaiming (Stone) Shi
7ea140599a
Merge pull request #9894 from id/ci-always-run-static-checks
ci: always run static_checks
2023-02-02 16:33:19 +01:00
Zaiming (Stone) Shi
feca4cc0a5
Merge pull request #9892 from zmstone/0202-docs-cosmetic
0202 docs cosmetic
2023-02-02 15:43:58 +01:00
Zaiming (Stone) Shi
85fb53dcf0 refactor: use compile switch to diff functions between ce and ee 2023-02-02 15:15:31 +01:00
Zaiming (Stone) Shi
0d7cd2f0c5
docs: Update apps/emqx_conf/i18n/emqx_conf_schema.conf
Co-authored-by: Ivan Dyachkov <dev@dyachkov.org>
2023-02-02 14:20:07 +01:00
Zaiming (Stone) Shi
980ba2fd35
docs: Update apps/emqx/i18n/emqx_schema_i18n.conf
Co-authored-by: Ivan Dyachkov <dev@dyachkov.org>
2023-02-02 14:19:37 +01:00
Zaiming (Stone) Shi
0e299642cb chore: function renamed but forgot to update xref excemption 2023-02-02 14:16:23 +01:00
Zaiming (Stone) Shi
58627b7958 chore(emqx_resource_manager): ignore unused return value for dialyzer 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi
9a9943d35d chore(emqx_mgmt_cache): ignore unused return value for dialyer 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi
1c748070c1 fix(emqx_connector_mqtt_worker): publish_async can only return ok # Please enter the commit message for your changes. Lines starting 2023-02-02 14:11:12 +01:00
Zaiming (Stone) Shi
c0d478bd41 fix(buffer_worker): type spec 2023-02-02 14:11:12 +01:00
zhongwencool
ee852d8204
Merge pull request #9886 from zhongwencool/mongo-connection-default-async
fix: remove async mode from mongodb/redis/mysql/pgsql bridge
2023-02-02 21:08:01 +08:00
Zaiming (Stone) Shi
d5c482b0b0 docs: remove timer unit from description
the user input has time unit. e.g. "5s" for 5 seconds etc.
2023-02-02 13:49:20 +01:00
Zaiming (Stone) Shi
5dbee76af4
Merge pull request #9890 from zmstone/0202-fix-kafka-status-check
0202 fix kafka status check
2023-02-02 13:48:44 +01:00
firest
031b36da32 feat(banned): filter out banned messages from mqueue 2023-02-02 20:20:52 +08:00
Zaiming (Stone) Shi
2b308af354
Merge pull request #9889 from keynslug/fix/EMQX-8857/force-clean-start-mqtt-bridge
fix(mqtt-bridge): stop respecting `clean_start` config parameter
2023-02-02 12:55:58 +01:00
Zaiming (Stone) Shi
9864587389 fix: send to buffer-supported connector even when disconnected 2023-02-02 12:04:17 +01:00
Zaiming (Stone) Shi
13ef30c46c
Merge pull request #9884 from savonarola/resource-fixes
fix(resources): fix resource lifecycle
2023-02-02 12:02:34 +01:00
Andrew Mayorov
0912f13c1f
fix(mqtt-bridge): stop respecting clean_start config parameter
We are ignoring the user configuration because there's currently no
reliable way to ensure proper session recovery according to the MQTT
spec.
2023-02-02 12:55:10 +03:00
Kjell Winblad
2cf193e2fd
Merge pull request #9839 from kjellwinblad/kjell/fix/Authorization_header_log_leak_webhook/EMQX-8791
fix: Authorization header leak in log entries for webhook
2023-02-02 10:38:42 +01:00
Zhongwen Deng
1c9035d24c test: remove async from redis ct 2023-02-02 17:37:18 +08:00
Zhongwen Deng
22cc1cc745 fix: make spell_check happy 2023-02-02 17:37:18 +08:00
Zhongwen Deng
f8936013b7 chore: replace async with sync 2023-02-02 17:37:18 +08:00
Zhongwen Deng
22c3f50020 fix: add query_mode_sync_only for mysql pgsql redis mongodb bridge 2023-02-02 17:37:18 +08:00
Andrew Mayorov
ca5c192f4b
Merge pull request #9882 from fwup/fix/no-mqtt-bridge-middleman
refactor(mqtt-worker): avoid unnecessary abstraction
2023-02-02 13:11:31 +04:00
zhongwencool
e5bc787467
Merge pull request #9872 from zmstone/0131-improve-help-text
docs: improve docs for system monitoring config
2023-02-02 14:45:03 +08:00
Zhongwen Deng
1a90c1654c chore: bad typo 2023-02-02 11:43:04 +08:00
Zaiming (Stone) Shi
6fd30a7e81 docs: improve docs for system monitoring config 2023-02-01 20:21:08 +01:00
Ilya Averyanov
14f528cc86 fix(resources): fix resource lifecycle
* do not resume all buffer workers on successful healthcheck
* do not pass undefined state to resource healthcheck callback
2023-02-01 18:26:13 +02:00
Zaiming (Stone) Shi
ec3031271b
Merge pull request #9883 from zmstone/0201-upgrade-enterprise-dashboard-to-e1.0.2
0201 upgrade enterprise dashboard to e1.0.2
2023-02-01 16:26:21 +01:00
Zaiming (Stone) Shi
32d18ec594
Merge pull request #9878 from zmstone/0201-upgrade-ehttpc-0.4.6
fix(ehttpc): fix crash when webhook bridge uses `hash` pool type.
2023-02-01 15:00:28 +01:00
Andrew Mayorov
5fd7f65a1f
test(bufworker): make testcase simpler to follow
The confusion was due to the fact that subsequent query was missing
`async_reply_fun` and thus, was not accumulating in the results.
2023-02-01 16:52:47 +03:00
Zaiming (Stone) Shi
38ef37d109 chore: bump release version to e5.0.0-rc.4 2023-02-01 14:52:08 +01:00
Andrew Mayorov
8a46cb974e
test(mqtt-bridge): test async bridge reconnects seamlessly 2023-02-01 16:28:16 +03:00
Andrew Mayorov
5ebceb20d2
test(mqtt-bridge): also test reconfiguration 2023-02-01 16:23:58 +03:00
Andrew Mayorov
ad88938d34
refactor: reuse some parts of test code for brewity 2023-02-01 16:22:19 +03:00
Andrew Mayorov
f0395be383
refactor(mqtt-worker): avoid unnecessary abstraction
So the code is easier to follow.
2023-02-01 14:46:26 +03:00
zhongwencool
13511d2782
Merge pull request #9856 from zhongwencool/alarm-percent-decimals
fix: /api/nodes is timeout when emqx in high load
2023-02-01 19:40:53 +08:00
Andrew Mayorov
979e9804be
Merge pull request #9879 from keynslug/fwup/fix/buffer-worker-testcase
test(bufworker): fix testcase flapping due to data races
2023-02-01 15:33:59 +04:00
Andrew Mayorov
ff473e0f1b
test(bufworker): fix testcase flapping due to data races 2023-02-01 12:57:46 +03:00
Zaiming (Stone) Shi
96a18e7105 chore: upgrade to hocon 0.35.3 2023-02-01 10:52:01 +01:00
Zhongwen Deng
6382915036 chore: repalce fresh by refresh 2023-02-01 17:36:30 +08:00
Zaiming (Stone) Shi
9f6b6cedc6 fix(webhook): pick worker according to pool type 2023-02-01 09:53:25 +01:00
Ilya Averyanov
9d91ebe266
Merge pull request #9842 from savonarola/fix-redis-cluster-recover
fix: fix redis cluster resource recovery
2023-02-01 10:38:52 +02:00
Zaiming (Stone) Shi
f4381d90ca refactor: http cliet should not need to retry HTTP requests for bridge 2023-02-01 09:30:30 +01:00
Zaiming (Stone) Shi
6ca816f7a4 docs: remove impl details from user doc 2023-02-01 09:30:10 +01:00
Zhongwen Deng
3c4d09a752 fix: get_memory_cache return {ok, Mem} | stale 2023-02-01 16:00:55 +08:00
Zhongwen Deng
ced55719ef chore: only run t_sys_mem_check ct in linux 2023-02-01 14:47:41 +08:00
Zhongwen Deng
56b9238645 fix: only cache sys_memory in linux 2023-02-01 12:21:34 +08:00
Zhongwen Deng
95ef1e806c chore: don't crash when add_handler failed 2023-02-01 11:24:27 +08:00
Zhongwen Deng
9cbad5297c fix: primary logger level not update 2023-02-01 11:16:30 +08:00
Zhongwen Deng
71f00f2962 test: ctl suite failed 2023-02-01 10:07:22 +08:00
Zhongwen Deng
7a9f477267 feat: use emqx_mgmt_cache to cache sys_memory 2023-02-01 10:07:22 +08:00
Zhongwen Deng
c2bdb9faa7 test: multiple_nodes case failed 2023-02-01 10:07:22 +08:00
Zhongwen Deng
b6e6315b50 feat: change loads from string to float 2023-02-01 10:07:22 +08:00
Zhongwen Deng
0b19be074c feat: cache OTP_VERSION in persistent_term 2023-02-01 10:07:22 +08:00
Zhongwen Deng
6162f90610 fix: don't crash when OTP_VERSION file is missing 2023-02-01 10:07:22 +08:00
Zhongwen Deng
5783127c30 test: cpu_sup:load mock test 2023-02-01 10:07:22 +08:00
Zhongwen Deng
2d67bb3fb6 fix: /api/nodes is timeout if emqx in high load 2023-02-01 10:07:22 +08:00
Zaiming (Stone) Shi
7e8253e3af chore: bump version to e5.0.0-rc.3 2023-01-31 20:45:28 +01:00
Zaiming (Stone) Shi
78028a7fcf
Merge pull request #9876 from zmstone/0131-avoid-persisting-logging-configs-if-no-change
0131 avoid persisting logging configs if no change
2023-01-31 20:43:32 +01:00
Zaiming (Stone) Shi
b3ad9e97d2
Merge pull request #9870 from keynslug/fix/mqtt-connection-loss-feedback
feat(mqtt-bridge): avoid middleman process
2023-01-31 19:12:18 +01:00
Zaiming (Stone) Shi
ddfbc0a19f refactor: refresh logger config before starting listeners 2023-01-31 18:50:16 +01:00
Zaiming (Stone) Shi
605d9972e4 fix(config): avoid calling emqx:update_config/2 for logger refresh
Prior to this fix, whatever configured for loggers are persisted to
cluster-override.conf.
This may cause troulbe for users who changes boot mode.

For example if the node is once started in console mode,
the logging config is persisted, with console enabled, but file
disabled.
Then if the user decide to start in daemon mode, all the logs
will silently go to erlang.log.N and emqx.log.N will be empty.

After this fix, only changes really made into cluter-override.conf
will take effect.
2023-01-31 18:50:16 +01:00
Zaiming (Stone) Shi
b0ac924ca9 refactor: less copy-paste 2023-01-31 18:40:55 +01:00
lafirest
3d59be6ab6
Merge pull request #9871 from lafirest/fix/authz_rules
feat(authz): allow the placeholder to be anywhere in the topic for authz rules
2023-02-01 00:12:06 +08:00
Andrew Mayorov
c5a7cd5acd
fix(mqtt-bridge): drop unused configuration parameter 2023-01-31 18:30:42 +03:00
Andrew Mayorov
c76311c9c3
fix(buffer): count inflight batches properly 2023-01-31 18:30:42 +03:00
firest
9f4c36ecbc chore: bump version && update changes 2023-01-31 23:30:22 +08:00
firest
c034cbf6de feat(authz): allow the placeholder to be anywhere in the topic for authz rules 2023-01-31 23:30:12 +08:00
Andrew Mayorov
d0c10b59aa
feat(mqtt-bridge): avoid middleman process
Instead, supervise `emqtt` client process directly.
2023-01-31 17:59:03 +03:00
Ilya Averyanov
fce1e74c3d fix(connector): fix redis cluster resource recovery 2023-01-31 16:55:05 +02:00
Zaiming (Stone) Shi
f6dafc20ea feat: export API to read cluster and local overrides 2023-01-31 14:20:34 +01:00
Stefan Strigler
ade5316419
Merge pull request #9802 from sstrigler/EMQX-8469-enable-proxy-protocol-support-in-emqx-dashboard-schema
feat: support HAProxy protocol for dashboard API
2023-01-31 14:19:56 +01:00
Erik Timan
3786bb8086
Merge pull request #9824 from olcai/internal-error-api-get-topic
fix(emqx_management): handle multiple routes in topics/{topic} API
2023-01-31 13:50:42 +01:00
Andrew Mayorov
4d146c521b
fix(mqtt-bridge): ensure proper feedback on async forwards
So that buffer worker would notice a connection loss in time, and
recycle inflight messages subsequently.
2023-01-31 11:09:39 +03:00
Andrew Mayorov
35c429ef1d
refactor: drop a couple of unused macros / includes 2023-01-31 11:09:39 +03:00
Zaiming (Stone) Shi
b3e486041b
Merge pull request #9853 from zmstone/0127-refactor-buffer-worker-no-need-to-keep-request-for-reply-callback
0127 refactor buffer worker no need to keep request for reply callback
2023-01-31 08:44:01 +01:00
Erik Timan
5b3a77e3c7 test(emqx_management): fix flaky route handling in get topic test
This reworks a test case to use a second slave node. This ensures that
an added route is permanently in the routing table. The old version
reverted the routing table quickly since the node name given wasn't a
real node.
2023-01-31 08:28:55 +01:00
Erik Timan
03cabf6b26 chore: bump app VSN 2023-01-31 08:27:54 +01:00
Erik Timan
33e011aff5 fix(emqx_management): handle multiple routes in topics/{topic} API
The topics/{topic} API endpoint would return 500 - Internal Error if a
topic had multiple routes. This is now fixed by returning a list of
routes.
2023-01-31 08:27:33 +01:00
Ilya Averyanov
1a1c3afa81
Merge pull request #9852 from savonarola/fix-redis-desc
Fix Redis configuration field description
2023-01-30 23:26:37 +02:00
Stefan Strigler
3ce6cbcd6a chore: bump vsn 2023-01-30 18:09:10 +01:00
Stefan Strigler
0b1483040a test: add actual test for haproxy 2023-01-30 18:07:06 +01:00
lafirest
e288424924
Merge pull request #9864 from lafirest/fix/exclusive-unsub-5.0
fix: the exclusive topics aren't removed when the session has already been cleaned
2023-01-31 00:33:45 +08:00
Kjell Winblad
0c4134c423 test: add unit test case for redact function in http connector 2023-01-30 11:51:28 +01:00
Stefan Strigler
27881064dc fix: increase dropped.queue_full by number of messages 2023-01-30 11:37:35 +01:00
lafirest
3e6cc40525
Merge pull request #9843 from lafirest/fix/speed_up_test
fix: speed up banned test cases
2023-01-30 18:17:27 +08:00
firest
3bdffca488 fix: the exclusive topics aren't removed when the session has already been cleaned 2023-01-30 18:17:00 +08:00
Zhongwen Deng
bb636394e1 chore: add debug log for raw data 2023-01-30 16:35:06 +08:00
Zhongwen Deng
b73d11675e chore: log the bad mqtt packet(frame error) 2023-01-30 15:05:49 +08:00
Zhongwen Deng
3d07271ea5 fix: crash when mfa not found 2023-01-30 14:30:20 +08:00
Zhongwen Deng
25090563af chore: use brackets to wrap the mqtt packet when logging 2023-01-30 12:29:00 +08:00
Zhongwen Deng
ce32ea7334 feat: Make the log output format order fixed 2023-01-30 12:18:22 +08:00
Zhongwen Deng
6cbad047cd fix: don't log CONNECT twice when debug 2023-01-30 12:16:17 +08:00
Zaiming (Stone) Shi
d47941601d refactor(buffer_worker): rename trace points 2023-01-28 11:52:11 +01:00
Zaiming (Stone) Shi
7f66c6a9e2
Merge pull request #9840 from olcai/redact-influxdb-tokens
fix: redact influxdb tokens in logs and reduce log level
2023-01-28 11:47:36 +01:00
Zaiming (Stone) Shi
fc38ea9571 refactor(buffer_worker): do not keep request body in reply context
the request body can be potentially very large
the reply context is sent to the async call handler and kept
in its memory until the async reply is received from bridge
target service.

this commit tries to minimize the size of the reply context
by replacing the request body with `[]`.
2023-01-27 17:12:55 +01:00
Ilya Averyanov
72f39b9b72 fix(docs): correct Redis conf field description 2023-01-27 17:39:16 +02:00
Zaiming (Stone) Shi
578271ea3d refactor: use lists:map instead of lc for safty 2023-01-27 15:15:46 +01:00
Zaiming (Stone) Shi
f793807bc1 refactor(buffer_worker): rename function
batch_reply_after_query to handle_async_batch_reply
2023-01-27 15:04:28 +01:00
Zaiming (Stone) Shi
262c3a2869 refactor(buffer_worker): rename function
from reply_after_query to handle_async_reply
2023-01-27 15:03:18 +01:00
Zaiming (Stone) Shi
6a58bafcb0 chore: bump release version to e5.0.0-rc.2 2023-01-27 14:38:21 +01:00
Zaiming (Stone) Shi
52b75ada04
Merge pull request #9832 from sstrigler/EMQX-8774-failure-to-handle-timeout-error-in-resource-worker
EMQX 8774 failure to handle timeout error in resource worker
2023-01-27 14:36:44 +01:00
Zaiming (Stone) Shi
514609bcf7
Merge pull request #9850 from zmstone/0127-fix-influxdb-bridge-atom-leak
0127 fix influxdb bridge atom leak
2023-01-27 14:30:20 +01:00
Zaiming (Stone) Shi
96ed725a55
Merge pull request #9849 from zmstone/0127-refactor-buffer-worker-simplify-caller-reply
0127 refactor buffer worker simplify caller reply
2023-01-27 14:06:56 +01:00
Zaiming (Stone) Shi
c47be57c59 fix(bridge): ensure all bridge resources are stopped before app stop 2023-01-27 12:39:05 +01:00
Zaiming (Stone) Shi
d53106145f fix: stop resource when resource manager terminates 2023-01-27 12:39:05 +01:00
Andrew Mayorov
d35e46b2d5
Merge pull request #9838 from keynslug/fix/redis-cluster-batching
feat(redis): disable batching in redis_cluster bridges
2023-01-27 15:27:57 +04:00
Stefan Strigler
7005b71ddf style: fix typo in comment 2023-01-27 11:43:51 +01:00
Stefan Strigler
2d62de5188 test: fix expected result from timeout error 2023-01-27 11:43:48 +01:00
Stefan Strigler
a180bd9aa5 fix: catch error, not exit 2023-01-27 11:40:06 +01:00
Stefan Strigler
b7e3f9d5a6 fix: try-case-of rather than try-of
try-of catches only what happens within but not after
2023-01-27 11:40:06 +01:00
Zaiming (Stone) Shi
db2f631a8a refactor(buffer_worker): simplify caller reply 2023-01-27 11:33:45 +01:00
Zaiming (Stone) Shi
965236c888
Merge pull request #9845 from zmstone/0126-reply-caller-for-buffer-overflow-queue-items
0126 reply caller for buffer overflow queue items
2023-01-27 11:32:59 +01:00
Zaiming (Stone) Shi
d4fab92b72 refactor(buffer_worker): no need to keep request for REPLY macro 2023-01-27 10:41:30 +01:00
Andrew Mayorov
71f996b9d5
refactor(mqtt-bridge): unwrap single statem actions
So that the code would be easier to follow and harder to break.
Also drop a couple of unused macrodefs.
2023-01-26 21:13:18 +03:00
Andrew Mayorov
c95f979413
fix(mqtt_bridge): use correct gen_statem reply action 2023-01-26 21:12:05 +03:00
Zaiming (Stone) Shi
1f799dfd59 fix: reply with {error, buffer_overflow} when discarded 2023-01-26 17:15:36 +01:00
Zaiming (Stone) Shi
ed28789164 refactor(buffer_worker): no need to return after collect into buf queue 2023-01-26 14:50:40 +01:00
Zaiming (Stone) Shi
25b4821adc refactor: move the the per-message overflow log from error to info level 2023-01-26 14:48:43 +01:00
Zaiming (Stone) Shi
bb26632c8a fix(buffer_worker): fix a wrong assertion
the assertion is to ensure queue items are not binary
but should not assert the queue itself
2023-01-26 14:33:16 +01:00
Zaiming (Stone) Shi
f6b3b930b0 chore: improve a error log 2023-01-26 14:21:27 +01:00
Kjell Winblad
86cfbfb43c fix: Authorization header leak in log entries for webhook
There might be another possibility for leakage. If the resource mangager
for the webhook resource crashes, OTP might log the spec for the
resource manager which contains the Config and thus the Authorization
header. This is probably an issue for other resources as well and should
be fixed in another commit. The following issue has been created for
that:

https://emqx.atlassian.net/browse/EMQX-8794

Fixes:
https://emqx.atlassian.net/browse/EMQX-8791
2023-01-26 12:44:16 +01:00
firest
908ac8d948 fix: speed up banned test cases 2023-01-26 13:04:55 +08:00
Andrew Mayorov
2ee00b75a7
fix(redis): unwrap pipeline queries against redis cluster
This is an additional safety measure in addition to the disabled
batching on the bridge level.
2023-01-25 17:28:11 +03:00
Erik Timan
805d08e823 fix: reduce log level from error to warning in several places
This reduces the log level from error to warning in places that are
connected to the influxdb bridge. Transient errors for external
resources should not render an error log.
2023-01-25 14:49:50 +01:00
Erik Timan
8836494542 fix: redact influxdb tokens in a few logs 2023-01-25 14:48:32 +01:00
Zaiming (Stone) Shi
5fdf7fd24c fix(kafka): use async callback to bump success counters
some telemetry events from wolff are discarded:

* dropped:
    this is double counted in wolff,
    we now only subscribe to the dropped_queue_full event
* retried_failed:
    it has different meanings in wolff,
    in wolff, it means it's the 2nd (or onward) produce attempt
    in EMQX, it means it's eventually failed after some retries

* retried_success
    since we are going to handle the success counters in callbac
    this having this reported from wolff will only make things
    harder to understand

* failed
    wolff never fails (unelss drop which is a different counter)
2023-01-24 21:12:36 +01:00
Zaiming (Stone) Shi
6175076f6f
Merge pull request #9835 from olcai/add-influxdb-test-files
fix: add influxdb test files and fixes
2023-01-24 17:02:23 +01:00
Zaiming (Stone) Shi
e5b65087af
Merge pull request #9834 from zmstone/0123-fix-idle_timeout-infinity
fix(emqx_connection): crash when idle_timeout is set to infinity
2023-01-24 16:05:09 +01:00
Erik Timan
9d20431257 fix(emqx_resource): fix crash while flushing queue
We used next_event for flushing the queue in emqx_resource, but this
leads to a crash. We now call flush_worker/1 instead.
2023-01-24 14:13:35 +01:00
Erik Timan
28718edbfd chore: bump application VSNs 2023-01-24 14:12:34 +01:00
Zaiming (Stone) Shi
8fde169abb
Merge pull request #9821 from thalesmg/buffer-worker-expiry-v50
feat(buffer_worker): add expiration time to requests
2023-01-24 13:54:04 +01:00
Zaiming (Stone) Shi
7575120ea6 test: use snabbkaffe retry macro 2023-01-24 10:54:20 +01:00
Zaiming (Stone) Shi
140cda2f13 fix(emqx_connection): crash when idle_timeout is set to infinity 2023-01-24 10:14:35 +01:00
Zaiming (Stone) Shi
a0100c0a4e chore: bump app versions 2023-01-23 16:20:21 +01:00
Zaiming (Stone) Shi
a83ed2fe94 Merge remote-tracking branch 'origin/master' into 0123-chore-sync-release-50-to-master 2023-01-23 16:20:01 +01:00
Zaiming (Stone) Shi
727100e094 chore: prepare for v5.0.15 release 2023-01-20 16:42:01 +01:00
Thales Macedo Garitezi
ca4a262b75 refactor: re-organize dealing with unrecoverable errors 2023-01-20 12:00:17 -03:00
Thales Macedo Garitezi
6fa6c679bb feat(buffer_worker): add expiration time to requests
With this, we avoid performing work or replying to callers that are no
longer waiting on a result.

Also introduces two new counters:

- `dropped.expired` :: happens when a request expires before being
  sent downstream
- `late_reply` :: when a response is receive from downstream, but the
  caller is no longer for a reply because the request has expired, and
  the caller might even have retried it.
2023-01-20 11:36:52 -03:00
Zaiming (Stone) Shi
57607ca0ce chore: prepare for v5.0.15 release 2023-01-20 11:20:34 +01:00
Zaiming (Stone) Shi
1c3e055b13
Merge pull request #9822 from JimMoen/fix-schema-typo
chore: i18n typo fix
2023-01-20 11:11:18 +01:00
JimMoen
16f45a60fd
chore: i18n typo fix 2023-01-20 11:50:01 +08:00
Thales Macedo Garitezi
a6ad97e6a5
Merge pull request #9807 from thalesmg/buffer-worker-rename-v50
buffer work refactoring follow up (part 1)
2023-01-19 14:17:10 -03:00
Zaiming (Stone) Shi
abe7a69696 Merge remote-tracking branch 'origin/master' into release-50 2023-01-19 17:51:38 +01:00
Stefan Strigler
6bde1173af chore: add translations 2023-01-19 13:26:36 +01:00
Thales Macedo Garitezi
d755b43c77 fix(jwt_worker): handle exceptions when decoding jwk from pem
Returns a more controlled error if users attempt to use the Service
Account JSON from the GCP PubSub example from swagger, which is
redacted.
2023-01-19 09:24:45 -03:00
Zaiming (Stone) Shi
63748aba3c
Merge pull request #9804 from emqx/release-50
Merge release-50 (candidate of e5.0.0-rc.1) back to master.
2023-01-19 08:48:41 +01:00
Thales Macedo Garitezi
47f796dd12 refactor: rename emqx_resource_worker -> emqx_resource_buffer_worker
To make it more clear that it's purpose is serve as a buffering layer.
2023-01-18 16:15:34 -03:00
Ilya Averyanov
f9843de7ae
Merge pull request #9628 from savonarola/fix-flaky-redis-bridge-test
chore(ee bridge): fix Redis bridge test flakyness
2023-01-18 20:56:13 +02:00
Zaiming (Stone) Shi
1716a5da99 chore: bump version to e5.0.0-rc.1 2023-01-18 17:22:05 +01:00
Stefan Strigler
fb763ecebd feat: support HAProxy protocol for dashboard API 2023-01-18 15:49:57 +01:00
Zaiming (Stone) Shi
7abba17b25
Merge pull request #9765 from zmstone/0115-add-password-converter
fix(schema): add password converter to ensure its binary() type
2023-01-18 15:09:05 +01:00
Andrew Mayorov
33b3c4fa9a
Merge pull request #9753 from feat/EMQX-8738/convert-ordered-sets
feat: turn tables queried with search APIs into ordered sets
2023-01-18 18:05:57 +04:00
Ilya Averyanov
44a6e5ed15 chore(resources): add missing parameters to emqx_resource schema 2023-01-18 14:33:45 +02:00
Zaiming (Stone) Shi
7e8381f4c7
Merge pull request #9785 from savonarola/fix-authn-handling
fix(authn): stop authn handling when emqx_authentication provides a result
2023-01-18 13:24:22 +01:00
ieQu1
c46d7f3404
Merge pull request #9801 from ieQu1/ekka-0.13.9
chore(ekka): Bump version to 0.13.9
2023-01-18 13:23:59 +01:00
Thales Macedo Garitezi
167b623497
Merge pull request #9699 from thalesmg/fix-buffer-clear-replayq-on-delete-v50
fix(buffer): fix `replayq` usages in buffer workers (5.0)
2023-01-18 09:08:50 -03:00
Erik Timan
46fc69cd48
Merge pull request #9781 from olcai/delete-zip-file-from-trace-log-download
fix(emqx_management): delete files after trace log download
2023-01-18 13:05:39 +01:00
ieQu1
d7242739e0 chore(ekka): Bump version to 0.13.9 2023-01-18 12:01:03 +01:00
Zaiming (Stone) Shi
d4f3b4c8c2 Merge remote-tracking branch 'origin/master' into fix-buffer-clear-replayq-on-delete-v50 2023-01-18 11:39:47 +01:00
zhongwencool
8e1475addb
Merge pull request #9798 from zhongwencool/dashboard-document
chore: improve the dashboard's configuration
2023-01-18 18:20:00 +08:00
Erik Timan
42182279b7 fix(emqx_management): ensure trace file dir is deleted on zip exception 2023-01-18 10:20:41 +01:00
Zhongwen Deng
fb84d5b817 chore: make spellcheck happy 2023-01-18 17:06:46 +08:00
Ivan Dyachkov
430b0a03d4
Merge pull request #9780 from id/fix-ensure-no-colon-in-filenames
fix: ensure no colon in filenames
2023-01-18 09:36:16 +01:00
Zhongwen Deng
0d852d9122 docs: improve the dashboard's document 2023-01-18 16:28:35 +08:00
Zaiming (Stone) Shi
faf5916ed6 test: relax recoverable/unrecoverable error check
for now, treat all other errors unrecoverable
2023-01-18 07:52:28 +01:00
zhongwencool
bc9d97ea53
Merge pull request #9791 from zhongwencool/crash-dump-doc
chore: more detail about crash dump config
2023-01-18 09:56:21 +08:00
Thales Macedo Garitezi
5c2ac0ac81 chore: don't cancel inflight items upon worker death; retry them 2023-01-17 19:50:30 -03:00
Thales Macedo Garitezi
087b667263 fix(buffer_worker): allow signalling unrecoverable errors 2023-01-17 19:50:30 -03:00
Stefan Strigler
f899284e3a
Merge pull request #9789 from sstrigler/EMQX-8754-test-function-return-500-of-data-integration-google-pubsub
EMQX 8754 test function return 500 of data integration google pubsub
2023-01-17 22:49:28 +01:00
lafirest
dea0c8230e
Merge pull request #9787 from lafirest/fix/webhook_bridge_cfg_upgrade
fix(bridges): fix a compatible problem for old webhook bridge config which created before the v5.0.12
2023-01-18 04:47:08 +08:00
Thales Macedo Garitezi
4ed7bff33f chore: fix dialyzer warnings 2023-01-17 16:49:16 -03:00
Thales Macedo Garitezi
fa01deb3eb chore: retry as much as possible, don't reply to caller too soon 2023-01-17 16:49:15 -03:00
Thales Macedo Garitezi
b82009bc29 refactor: use monotonic times as refs and store initial times when creating ets
with this, we may measure latencies in the future.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
3ba65c4377 feat: poke the buffer workers when inflight is no longer full
if max inflight = 1, then we only make progress based on the state
timer, since the callbacks were not poking the buffer workers.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
b5aaef084c refactor: enter running state directly
now that we don't have the possibility of dirty disk queues (we always
use volatile replayq), we will never resume old work.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
bd0e2a74ba refactor: rename inflight_name field to inflight_tid 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
006b4bda97 feat(buffer_worker): monitor async workers and cancel their inflight requests upon death 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
731ac6567a fix(buffer_worker): don't retry all kinds of inflight requests
Some requests should not be retried during the blocked state.  For
example, if some async requests are just taking some time to process,
we should avoid retrying them periodically, lest risk overloading the
downstream further.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
5425f3d88e refactor: rm unused fn 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
5dd24a64c3 refactor(buffer_worker): check if inflight is full before flushing 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
344eeebe63 fix: always ack async replies
The caller should decide if it should retry in that case, to avoid
overwhelming the resource with retries.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
bd95a95409 refactor: remove redundant BlockWorker arg, change boolean to ack/nack
`BlockWorker` was always false (ack).  Also, changed the return to
something more semantic than a boolean to avoid [boolean
blindness](https://runtimeverification.com/blog/code-smell-boolean-blindness/)
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
478fcc6ffd test: fix flaky test 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
30a227bd38 refactor: rename resume state timeout to unblock 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
7401d6f0ce refactor: rename ack fn 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
196bf1c5ba feat: mass collect calls from mailbox also when blocked 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
d4724d6ce9 refactor: remove redundant function
`retry_queue` does basically what the running state does, now that we
refactored the buffer workers to always use the queue.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
d6a9d0aa48 fix: set queuing to 0 after buffer worker termination 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
81fc561ed5 fix(buffer_worker): check for overflow after enqueuing new requests 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
4cb83d0c9a fix: fix some expressions after refactoring 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi
fecdbac9a8 refactor: rename a few functions 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi
cdd8de11b0 chore: fix a typo in function name 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi
618b97870b refactor: call local function queue_count everywhere 2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi
249c4c1c79 refactor: use 'bufs' for resource worker replayq dir 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
af6807e863 refactor: cancel flush timer sooner
Avoids the cancellation being delayed.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
477c55d8ef fix: sanitizy replayq dir filepath
Colons (`:`) are not allowed in Windows.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
4c04a01370 refactor(buffer_worker): remove ?Q_ITEM wrapping and use lightweight size estimate 2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
32a9e60313 feat(buffer_worker): also use the inflight table for sync requests
Related: https://emqx.atlassian.net/browse/EMQX-8692

This should also correctly account for `retried.*` metrics for sync
requests.

Also fixes cases where race conditions for retrying async requests
could potentially lead to inconsistent metrics.

Fixes more cases where a stale reference to `replayq` was being held
accidentally after a `pop`.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
ff23d25e8b chore(replayq): update replayq -> 0.3.6 and use clean_start for buffer workers
So we can truly avoid resuming work after a node restart.
2023-01-17 16:48:48 -03:00
Thales Macedo Garitezi
c383558467 fix(buffer): fix replayq usages in buffer workers (5.0)
https://emqx.atlassian.net/browse/EMQX-8700

Fixes a few errors in the usage of `replayq` queues.

- Close `replayq` when `emqx_resource_worker` terminates.
- Do not keep old references to `replayq` after any `pop`s.
- Clear `replayq`'s data directories when removing a resource.
2023-01-17 16:48:48 -03:00
Zaiming (Stone) Shi
fc992f28bc test: add test coverage 2023-01-17 20:13:01 +01:00
Zaiming (Stone) Shi
fff6bf921f refactor(authz): call emqx_resource:simple_sync_query
there is no need to route the request through the buffer workers
2023-01-17 20:01:45 +01:00
Zaiming (Stone) Shi
7a471faf67 refactor(authn): use simple sync query for authn
there is no need to route the authn queries through the buffer worker
2023-01-17 19:57:14 +01:00
Ilya Averyanov
1d7364dab1 fix(authn): fix authn hook chain evaluation
Stop authentication handling when
`emqx_authentication` provides a definitive result.
2023-01-17 20:06:20 +02:00
Stefan Strigler
d164e5bc0f fix: don't require ssl conf 2023-01-17 15:29:19 +01:00
Stefan Strigler
e54f2f83b3 test: use same default timeout as elsewhere 2023-01-17 15:29:19 +01:00
Erik Timan
30a5cfaa83 fix(emqx_management): remove trace files after zip download
We only deleted the resulting zip after a trace file download, not the
actual trace files. This adds a deletion of the uncompressed trace files
as well. It also creates unique directories when collecting trace files
so that concurrent downloads doesn't overwrite files in transit.
2023-01-17 14:24:10 +01:00
Erik Timan
94296258b4 test(emqx_management): refactor test suite to use common test utils for API calls 2023-01-17 14:24:10 +01:00
Zhongwen Deng
f98786c91f fix: bad crash_dump_file default value in rpm 2023-01-17 20:47:54 +08:00
Zhongwen Deng
cf99089f84 chore: add some trace func to user_default 2023-01-17 20:33:01 +08:00
Zhongwen Deng
5a56013193 docs: more detail about crashdump config 2023-01-17 20:33:01 +08:00
zhongwencool
9f80eb2497
Merge pull request #9777 from zmstone/0116-refactor-config_files-is-readonly
refactor: config_files is a readonly config
2023-01-17 20:32:39 +08:00
Zaiming (Stone) Shi
263deae1f3 refactor: add a more generic name for password_converter 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi
2afbf6a406 test: unlink process which is getting shutdown 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi
4a7e74f5d6 fix(schema): add password converter to ensure its binary() type 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi
8b3ec48406 refactor: node.config_files should be hidden as it's not configurable
this config schema exists only for app-env mapping.
users can not change it because the bootstraping config
has to be etc/emqx.conf
2023-01-17 11:08:40 +01:00
Stefan Strigler
74ae7c4264
Merge pull request #9782 from sstrigler/EMQX-8361-fix-ct-suite-for-plugins-api
test: get plugin template as artifact
2023-01-17 11:08:07 +01:00
firest
c3d5c25c26 fix(bridges): fix a compatible problem for old webhook bridge config which created before the v5.0.12 2023-01-17 17:42:10 +08:00
zhongwencool
cb5314bb9e
Merge pull request #9774 from zhongwencool/dashboard-password-validate-v50
feat: add dashboard password validation
2023-01-17 17:02:51 +08:00
Stefan Strigler
bc69a00329 test: get plugin template as artifact 2023-01-17 09:50:17 +01:00
Shawn
44f635300d chore: update mysql-otp to 1.7.2 2023-01-17 13:36:26 +08:00
Zhongwen Deng
3dfdad9cc9 test: dashboard default password 2023-01-17 11:30:42 +08:00
Zaiming (Stone) Shi
b9911e281e docs: Update apps/emqx_dashboard/src/emqx_dashboard_admin.erl 2023-01-17 11:30:42 +08:00
zhongwencool
c549379b7c chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-01-17 11:30:42 +08:00
Zhongwen Deng
82af854c4a test: dashbashboard new password failed 2023-01-17 11:30:42 +08:00
Zhongwen Deng
a523fa2fa2 feat: add dashboard password validate 2023-01-17 11:30:42 +08:00
Zaiming (Stone) Shi
33be7672ad test: recover boot_modules app env after test 2023-01-17 00:43:25 +01:00
Ivan Dyachkov
676f017ec0 fix: ensure no colon in filenames 2023-01-16 21:27:01 +01:00
Andrew Mayorov
5fd157fb1d
Merge pull request #9776 from keynslug/chore/bump-epgsql-otp-25
chore: update epgsql to 4.7.0.1 with full OTP-25 compat
2023-01-16 23:51:09 +04:00
Zaiming (Stone) Shi
e668044ebc fix: version number previs in restricted shell 2023-01-16 13:47:00 +01:00
Andrew Mayorov
34571c779d
feat: make suboption table ordering more natural 2023-01-16 15:39:10 +03:00
Andrew Mayorov
ce2dba15b4
feat: turn tables queried with search APIs into ordered sets
This is needed to ensure more or less consistent client experience
for the new planned cursor-based search APIs.
2023-01-16 15:39:10 +03:00
Zaiming (Stone) Shi
a7fc5e8fe1
Merge pull request #9761 from zmstone/0114-fix-kafka-value-template-and-docs
feat: introduce 'this' concept for placeholder, and use it in Kafka bridge
2023-01-16 13:37:29 +01:00
Andrew Mayorov
54cea3b3f2
chore: update epgsql to 4.7.0.1 with full OTP-25 compat 2023-01-16 15:35:51 +03:00
Stefan Strigler
67909f0b40 fix: testing metrics for emqx_bridge_mqtt_SUITE 2023-01-16 12:10:06 +01:00
Stefan Strigler
a19226326c fix: don't test for strict values as that makes test flaky 2023-01-16 12:10:06 +01:00
Stefan Strigler
9a53410efb fix: don't add empty list element to options proplist 2023-01-16 12:00:03 +01:00
Stefan Strigler
edfcea7f43 fix: add log for timeout 2023-01-16 12:00:03 +01:00
Zaiming (Stone) Shi
47414e0d53 docs: improve kafka key and value field description 2023-01-16 11:32:09 +01:00
Zaiming (Stone) Shi
376dab7cd8
Merge pull request #9743 from zmstone/0112-docs-fix-some-descriptions
0112 docs fix some descriptions
2023-01-16 09:56:56 +01:00
JimMoen
54ebc27d24
Merge pull request #9672 from JimMoen/0103-fix-mqtt-bridge
Fix the problem that the bridge is not available when the Payload template is empty in the MQTT bridge.
2023-01-16 09:57:20 +08:00
Zaiming (Stone) Shi
089389100e
Merge pull request #9763 from zmstone/0114-fix-crash-when-password-undefined
0114 fix crash when password undefined
2023-01-15 12:41:02 +01:00
Zaiming (Stone) Shi
df202c69ad
Merge pull request #9746 from zmstone/0113-fix-mqtt-connect-packet-format-when-password-is-empty
fix(emqx_packet): log empty string if password value is missing
2023-01-14 19:42:07 +01:00
Zaiming (Stone) Shi
0f2f5fbbe0 fix(authn): no exception when password is 'undefined' 2023-01-14 17:58:55 +01:00
Zaiming (Stone) Shi
7073c62dd9 feat: add a 'this' for rule engine put env
now a dot is allowed in front of a var (path)
e.g. ${.clientid} is equivalent to ${clientid}

${.} however, means everything.
the parsed var is interally represented as $_THIS_
to make it easier to read/search.
2023-01-14 11:03:58 +01:00
Zaiming (Stone) Shi
002f5dbd89
Merge pull request #9750 from zhongwencool/bootstrap-app-env
fix: save app's env when bootstrapping and reloading
2023-01-14 07:33:13 +01:00
Zhongwen Deng
b07befbf56 test: conf_app ct failed 2023-01-14 01:03:57 +08:00
Stefan Strigler
6fe09447ed fix: stale test using old resource paths after merge 2023-01-13 17:23:25 +01:00
Zhongwen Deng
09160383f5 chore: bump emqx_resource to 0.1.5 2023-01-13 23:42:41 +08:00
Zhongwen Deng
588140b842 chore: why we should ingore save kernel app env when init 2023-01-13 23:35:45 +08:00
Zhongwen Deng
1fe0061123 fix: node.config_files type is hocon:array(string())) 2023-01-13 23:35:45 +08:00
Zhongwen Deng
c9f0355f5a fix: save app env when bootstrap and reload 2023-01-13 23:35:45 +08:00
Zhongwen Deng
1085492171 chore: don't refresh when CT is running 2023-01-13 23:35:45 +08:00
Zhongwen Deng
91d38b410d fix: refresh logger handler when starting 2023-01-13 23:35:45 +08:00
Stefan Strigler
8f5881d1a5 fix: remove stale request/3 from merge error 2023-01-13 16:19:35 +01:00
Stefan Strigler
e08c1d2229 Merge remote-tracking branch 'olcai/refactor-bridges-api' into dev/api-refactor 2023-01-13 15:49:52 +01:00
Stefan Strigler
1690a6dcfc
Merge branch 'master' into dev/api-refactor 2023-01-13 15:34:13 +01:00
Erik Timan
61e98900be chore: bump app vsn of emqx_resource 2023-01-13 15:13:35 +01:00
Erik Timan
c3133fb6a2 fix(emqx_bridge): small fixes from review 2023-01-13 14:54:54 +01:00
Zaiming (Stone) Shi
a77d33b97d
Merge pull request #9751 from lafirest/fix/un_cleared_ca
fix that obsoleted cert file will not be deleted after the listener is updated/deleted
2023-01-13 14:38:55 +01:00
Kjell Winblad
1ac03ab208
Merge pull request #9730 from kjellwinblad/kjell/fix/resource_atom_leak/EMQX-8583
fix: remove atom leaks
2023-01-13 14:38:28 +01:00
Zaiming (Stone) Shi
bb3dceb456
Merge pull request #9749 from keynslug/fix/count-respect-matchspec
fix(paging): respect matchspec even if qs is empty when counting
2023-01-13 14:29:03 +01:00
Erik Timan
8dd52e5a6e chore: add translations to schemas 2023-01-13 14:19:23 +01:00
Erik Timan
f1c58c34ed test(emqx_bridge): fix fetching of metrics in emqx_bridge_mqtt_SUITE 2023-01-13 14:19:23 +01:00
Zaiming (Stone) Shi
2974269f2a
Merge pull request #9723 from emqx/release-50
chore: sync release-50 to master
2023-01-13 14:13:12 +01:00
firest
0a965879dd fix: fix that obsoleted cert file will not be deleted after the listener is updated/deleted 2023-01-13 18:42:27 +08:00
Zhongwen Deng
f15b29b1ef chore: upgrade app version 2023-01-13 18:22:29 +08:00
JimMoen
b7259d9a20
test(mqtt-bridge): use empty payload template for ingress/egress mqtt bridge 2023-01-13 18:12:53 +08:00
Kjell Winblad
734e6b9c96 chore: fix flaky test cases, log labels and review comments
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-01-13 11:05:02 +01:00
Andrew Mayorov
b3e62bd8f8
fix(paging): respect matchspec even if qs is empty when counting 2023-01-13 12:56:29 +03:00
zhongwencool
383a6812d1
Merge pull request #9748 from zhongwencool/listener-max-connections-default-value
fix: default max_connections in raw config should be binary not atom
2023-01-13 17:55:22 +08:00
JimMoen
59ac0b1424
fix(mqtt-bridge): transmit raw msg payload with empty template 2023-01-13 17:23:04 +08:00
zhongwencool
0049b4a294
Merge branch 'master' into release-50 2023-01-13 16:39:35 +08:00
Zaiming (Stone) Shi
e7883e0ee2
Merge pull request #9741 from id/fix-description-for-duration-fields
fix: remove time unit from duration fields description
2023-01-13 09:31:48 +01:00
Zhongwen Deng
eacdaffe3c fix: default max_connections in raw config should be binary not atom 2023-01-13 16:01:57 +08:00
Andrew Mayorov
33d88c95de
Merge pull request #9745 from keynslug/fix/EMQX-8702/changelog
chore: add changelog for the fuzzy search API fix
2023-01-13 11:59:37 +04:00
Zaiming (Stone) Shi
2bc19c3a62 fix(emqx_packet): log empty string if password value is missing
to keep it a consistent behaviour comparing when logging username
2023-01-13 08:21:09 +01:00
Zaiming (Stone) Shi
153d64068a refactor: rename root level cache type to authz_cache 2023-01-13 07:47:54 +01:00
Zaiming (Stone) Shi
c7ac55520d docs: update pool_size doc 2023-01-13 07:46:23 +01:00
Zaiming (Stone) Shi
b40ce0fc2d
Merge pull request #9626 from id/fix-enable-authz-cache-by-default
fix: enable authorization cache by default
2023-01-13 07:39:38 +01:00
Xinyu Liu
6b75077c47
Merge pull request #9734 from terry-xiaoyu/influxdb-default-value-of-write-syntax
refactor: remove default value of timestamp field of influxdb
2023-01-13 10:14:14 +08:00
Erik Timan
42f42de4d9 feat(emqx_bridge): add separate endpoint for enable/disable of bridge
In order to improve the consistency with other API endpoints, we move
the enable/disable operations to a separate endpoint
/bridges/{id}/enable/[true,false].
2023-01-12 19:39:43 +01:00
Erik Timan
860e21d40f feat(emqx_bridge): move metrics to own endpoint, rename reset_metrics
In order for the /bridges APIs to be consistent with other APIs, we move
out metrics from GET /bridges/{id} to its own endpoint,
/bridges/{id}/metrics. We also rename /bridges/reset_metrics to
/bridges/metrics/reset.
2023-01-12 19:39:41 +01:00
Erik Timan
c2fd1a4482 feat(emqx_bridge): shorten operation endpoint URLs
This shortens and simplifies URLs for performing bridge operations so
that the API looks more congruent.
2023-01-12 19:36:22 +01:00
Andrew Mayorov
90e837783f
fix(paging): rename partial to overflow for clarity 2023-01-12 19:25:40 +03:00
lafirest
a26c05f4f6
Merge pull request #9586 from lafirest/fix/disable_basic_auth_api
fix: disable basic auth for HTTP API
2023-01-12 23:02:29 +08:00
Zaiming (Stone) Shi
370b6b0d2f
Merge pull request #9735 from kjellwinblad/kjell/fix/password_log_leak/EMQX-8718
fix: remove password from info logs
2023-01-12 15:34:16 +01:00
Shawn
1711823487 refactor: remove default value of timestamp field of influxdb 2023-01-12 22:25:44 +08:00
firest
c5f557e315 fix: disable basic auth for HTTP API 2023-01-12 21:35:49 +08:00
Stefan Strigler
2a81fa1522 fix: remove redundant log message 2023-01-12 14:29:11 +01:00
Stefan Strigler
04f46f5227 feat: make http connector report errors 2023-01-12 14:26:36 +01:00
Stefan Strigler
77f043dedf fix: don't require username and password
not enforced by schema so we shouldn't either
2023-01-12 14:26:36 +01:00
Ivan Dyachkov
b5d3e9d8b8 fix: remove time unit from duration fields description 2023-01-12 14:18:55 +01:00
Ivan Dyachkov
f90c41f769 fix: set default value in schema 2023-01-12 13:49:52 +01:00
Ivan Dyachkov
1f57e7b538 fix: enable authorization cache by default 2023-01-12 12:36:31 +01:00
Andrew Mayorov
9e9d97b4d8
Merge pull request #9726 from keynslug/fix/EMQX-8702/fuzzy-search-paging
fix(api): augment paged search responses with `hasnext` flag
2023-01-12 13:35:59 +04:00
Kjell Winblad
82e80e5610 fix: remove password from info logs
Information log messages for several connectors contained sensitive
password information. This commit fixes this by hiding the sensitive
information from the log messages.

Fixes: https://emqx.atlassian.net/browse/EMQX-8718
2023-01-12 09:28:01 +01:00
JianBo He
13fdbd695e
Merge pull request #9722 from HJianBo/more-confs-for-prometheus
feat: more confs for prometheus pushing
2023-01-12 16:06:21 +08:00
Andrew Mayorov
50c9321b9e
fix(api): anticipate empty set of nodes handling cluster query 2023-01-12 10:57:50 +03:00
Andrew Mayorov
c89b227687
fix(test): adapt affected testcases 2023-01-12 10:57:50 +03:00
Andrew Mayorov
abf6f143e5
fix(paging): return subset of rows if page start is in the middle
This change should cover this example scenario where select ended
returning 4 rows.

Row 3
Row 4
Row 5 <- page start
Row 6

Here, only rows 5 and 6 should end up in the response. Before this
change some rows could be duplicated across adjacent search pages.
2023-01-12 10:57:50 +03:00
Andrew Mayorov
e07aa2086b
fix(api): augment paged search responses with hasnext flag
This flag indicates whether there are more results available on the
next pages. It is needed in cases when the total number of search
results is not known in advance.

Also, in such cases there's no `count` field in responses anymore
because responding with `0` was confusing for clients: it's not possible
to differentiate between "there are no results" and "we don't know how
much".

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-01-12 10:57:30 +03:00
Zhongwen Deng
1194d07a07 refactor: update emqx_prometheus's headers from map() to list() 2023-01-12 12:48:26 +08:00
Xinyu Liu
bae811e8b4
Merge pull request #9725 from terry-xiaoyu/remove_the_auto_reconnect_field
refactor: remove the auto_reconnect field
2023-01-12 11:11:00 +08:00
Kjell Winblad
8c482e03d1 fix: remove atom leaks
Both emqx_resource_managers and emqx_resource_workers leaked atoms as they
created an unique atoms to use as registered names. This is fixed by
removing the need to register the names.

Fixes: https://emqx.atlassian.net/browse/EMQX-8583
2023-01-11 17:03:28 +01:00
Stefan Strigler
417d95d76f
Merge pull request #9708 from sstrigler/EMQX-8588-refactor-emqx-resource-manager
EMQX 8588 refactor emqx resource manager
2023-01-11 16:13:55 +01:00
Shawn
3e9c4f444f refactor: remove the auto_reconnect field 2023-01-11 21:47:06 +08:00
Thales Macedo Garitezi
254b92a3c1 docs: add comma to please spellcheck 2023-01-11 10:31:23 -03:00
Stefan Strigler
8ad8288195 feat: report error in create_dry_run 2023-01-11 14:22:37 +01:00
Thales Macedo Garitezi
d5a462486e feat: tag another emqx schema as emqx 2023-01-11 09:31:38 -03:00
Thales Macedo Garitezi
e6a8be1ff6 docs: fix closing tag 2023-01-11 09:10:04 -03:00
Thales Macedo Garitezi
48e1ba4832 feat(docs): add tags to schemas
This'll allow us to split the generated `schema.json` file into
subsections for better documentation navigation.
2023-01-11 09:10:03 -03:00
Kjell Winblad
fde8752452
Merge pull request #9710 from kjellwinblad/kjell/mongodb_upgrade_in_emqx_5_master_fix
chore: upgrade mongodb-erlang to v3.0.19
2023-01-11 12:41:11 +01:00
JianBo He
9f6df27759 chore: bump app.src vsn 2023-01-11 17:47:06 +08:00
JianBo He
b1292d6d4f feat(prom): support configuring job_name for pushing mode 2023-01-11 17:31:58 +08:00
JianBo He
50b7ac6a22 feat(prom): support headers for pushing 2023-01-11 17:31:58 +08:00
Zhongwen Deng
fdc0682c3f fix: elvis warning 2023-01-11 17:30:45 +08:00
zhongwencool
6f0e228a9b
Merge pull request #9717 from zmstone/0110-do-not-start-resource-after-recreate-if-disabled
fix(emqx_resource_manager): do not start when disabled
2023-01-11 16:12:53 +08:00
Zaiming (Stone) Shi
85a8eff90b fix(emqx_resource_manager): do not start when disabled 2023-01-11 08:33:48 +01:00
Zhongwen Deng
d9429bba00 fix: bump hocon to 0.35.0(don't log overriding structs) 2023-01-11 14:44:34 +08:00
Zhongwen Deng
ba738d7707 chore: bump to 5.0.14 2023-01-11 14:39:32 +08:00
zhongwencool
ce2b4d48ad
Merge pull request #9714 from zhongwencool/auto-subscribe-api-schema
fix: bad auto_subscribe api schema
2023-01-11 14:32:40 +08:00
zhongwencool
e7d6d26186
Merge pull request #9713 from zhongwencool/api-keys-bootstrap-file
feat: introduce API keys bootstrap_file config
2023-01-11 11:30:45 +08:00
Zhongwen Deng
52ccd0762e test: QOS ct failed 2023-01-11 10:34:09 +08:00
Zaiming (Stone) Shi
6bbb5edb53
Merge pull request #9667 from olcai/remove-clientid-in-publish-request-body
fix(mgmt_api): remove possibility to set clientid in /publish API
2023-01-10 22:31:35 +01:00
Zaiming (Stone) Shi
ee89de816c fix: upgrade bridge config converter 2023-01-10 20:42:30 +01:00
Erik Timan
fb97096405 fix(mgmt_api): deprecate clientid field instead of removing it 2023-01-10 16:48:04 +01:00
Zhongwen Deng
a2be9947f5 chore: update auto_subscribe app version 2023-01-10 22:12:23 +08:00
Zhongwen Deng
5415e341fb fix: bad auto_subscribe api schema 2023-01-10 21:53:54 +08:00
zhongwencool
918ba0dffd
chore: apply suggestions from code review
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-01-10 20:39:31 +08:00
Zhongwen Deng
21dbc21dc8 chore: add changelog for api_key.bootstrap_file 2023-01-10 19:15:01 +08:00
Zhongwen Deng
5d4a1933a2 chore: add more test for api_key 2023-01-10 19:04:00 +08:00
Zhongwen Deng
f6a47e5cf6 chore: support api_key.bootstrap_file config 2023-01-10 19:03:49 +08:00
Zhongwen Deng
142826c4c3 chore: limit the maximum number of api keys to 100 2023-01-10 19:03:39 +08:00
Xinyu Liu
0f70786d13
Merge pull request #9705 from terry-xiaoyu/remove-default-value-of-webhook-body
fix: remove the default value of webhook body field
2023-01-10 18:23:50 +08:00
Xinyu Liu
12de104033
Merge pull request #9712 from emqx/fix-bulk-subscribe-failed-in-client.connected-hook
fix: bulk subscribe topics failed in the client.connected hook
2023-01-10 18:22:15 +08:00
ieQu1
13f1ab6344
Merge pull request #9671 from ieQu1/metrics
feat(emqx_metrics): Sliding window samples
2023-01-10 11:08:43 +01:00
Stefan Strigler
f27f573109 refactor: move to /authorization/sources/built_in_database/rules 2023-01-10 11:00:22 +01:00
Shawn
73643e932f fix: bulk subscribe topics failed in the client.connected hook 2023-01-10 16:43:24 +08:00
Xinyu Liu
52343e58c7
Merge pull request #9703 from emqx/subscribe-api-function-clause
fix: missing default value for qos field of API /clients/:clientid/subscribe
2023-01-10 10:13:58 +08:00
Shawn
724015af47 fix: remove the default value of webhook body field 2023-01-10 09:45:25 +08:00
Zaiming (Stone) Shi
67f2159a27
Merge pull request #9653 from zmstone/0101-authz-schema-union-member-selection
0101 authz schema union member selection
2023-01-09 22:17:51 +01:00
Kjell Winblad
0bd5bec982 chore: upgrade mongodb-erlang to v3.0.19
This upgrades mongodb-erlang from v3.0.18 to v3.0.19. This fixes a bug
that occurred when one issued a command specified as a map*. This fix
should not affect present EMQX as this functionality is currently not
used by EMQX. However, I think it is good to do the upgrade anyway in
case we will use the fixed functionality in the future. There is no need
to update the changelog.

* https://github.com/emqx/mongodb-erlang/pull/36
2023-01-09 18:14:11 +01:00
lafirest
f1ebfe40a5
Merge pull request #9697 from lafirest/fix/ldap_i18n
chore: add i18n file for ldap connector
2023-01-09 22:54:09 +08:00
Thales Macedo Garitezi
7f5150b2e9
Merge pull request #9689 from thalesmg/fix-http-authz-failure-v50
fix(authz_http): handle `ignore` results (request failures)
2023-01-09 11:07:52 -03:00
Zaiming (Stone) Shi
c3635f537a ci: wait for redis in emqx_ee_bridge_redis_SUITE 2023-01-09 14:39:56 +01:00
Zaiming (Stone) Shi
0697c692ed refactor: mongo_type and redis_type are not mandatory
the connector schemas are shared between authn, auth and bridges,
the difference is that authn and authz configs are unions like:

[
    {mongo_type = rs,
     ...
    }
    {another backend config}
]

however the brdige types are maps like, for example:

mongodb_rs.$name {
    mongo_type = rs
    ...
}

in which case, the mongo_type is not required.

in order to keep the schema static as much as possible,
this field is chanegd to 'required => false' with a default value.

However, for authn and authz, the union selector will still raise
exception if the there is no type provided.
2023-01-09 14:26:16 +01:00
Zaiming (Stone) Shi
e52f9d5920 refactor: use union member type selector for authz sources 2023-01-09 14:26:16 +01:00
Kjell Winblad
ba8c304723
Merge pull request #9691 from kjellwinblad/kjell/mongodb_upgrade_in_emqx_5_master
feat: upgrade MongoDB library to support MongoDB 5.1+
2023-01-09 14:15:48 +01:00
Kjell Winblad
692c1f0d1b
Merge pull request #9678 from kjellwinblad/kjell/fix/jira/EMQX-8648
fix: no feedback when deleting non-existing configuration
2023-01-09 13:52:40 +01:00
Stefan Strigler
c85a988a43 fix: split 'server' param into host and port for mqtt bridge 2023-01-09 13:27:42 +01:00
Andrew Mayorov
0db31f30a1
Merge pull request #9675 from keynslug/chore/otp-25-compat-deps
chore: bump deps versions with full OTP-25 compat
2023-01-09 14:54:14 +04:00
Shawn
50717a5567 fix: set the topic field of API /clients/:clientid/subscribe as requried 2023-01-09 17:57:39 +08:00
Stefan Strigler
c42c99f94f fix: set a timeout for tcp connect 2023-01-09 10:01:35 +01:00
Stefan Strigler
96ca0d9f49 feat(emqx_bridge): add /bridges_probe API endpoint 2023-01-09 10:01:33 +01:00
Stefan Strigler
903ae9a644 style: fix typo in fun name 2023-01-09 09:59:42 +01:00
Erik Timan
3319a8d28e fix(mgmt_api): remove possibility to set clientid in /publish API
To avoid security confusion, we remove the possibility to specify the
client ID in the request body for /publish and /publish/bulk.
2023-01-09 09:30:34 +01:00
Zaiming (Stone) Shi
8d53d154d9 refactor: remove license from configs API
license has its own config APIs
2023-01-09 09:16:19 +01:00
Shawn
7ed1384623 fix: missing default value for qos field of API /clients/:clientid/subscribe 2023-01-09 16:02:10 +08:00
Zaiming (Stone) Shi
3859878985
Merge pull request #9684 from zmstone/0105-do-not-use-testcase-skip
test: do not use tc_user_skip for test cases
2023-01-09 09:02:06 +01:00
JianBo He
6f5057b9dd
Merge pull request #9637 from HJianBo/fix-clients-api
fix(clients): fix expiry_interval unit error
2023-01-09 09:49:16 +08:00
Xinyu Liu
336b310d56
Merge pull request #9687 from emqx/function_clause_when_send_msg_to_bridges
fix: function_clause when sending messages to bridges
2023-01-09 09:23:17 +08:00
Andrew Mayorov
1336a57b3b
chore: bump to emqx/eredis_cluster 0.7.5
* Full OTP-25 compat.
* Password censoring in status and crash reports.
* No more crashes on query timeout.
2023-01-08 13:13:31 +03:00
Zaiming (Stone) Shi
5653d113ac
Merge pull request #9663 from zmstone/0102-fix-stopped-nodes-detection
0102 fix stopped nodes detection
2023-01-08 10:03:48 +01:00
firest
d2456f9fbe chore: add i18n file for ldap connector 2023-01-06 17:28:06 +08:00
firest
f7b50c56da feat(bridges): integrate PostgreSQL into bridges
support both simple and batch query
2023-01-06 11:47:22 +08:00
JianBo He
5d55e3a7b3 chore: updage mgmt app vsn 2023-01-06 10:31:27 +08:00
JianBo He
65729cd640 fix(clients): fix expiry_interval unit error
It should be second not millisecond
2023-01-06 10:31:27 +08:00
Shawn
13b2f45405 fix: function_clause when sending messages to bridges 2023-01-06 09:24:38 +08:00
Zaiming (Stone) Shi
7a4e7a6de9 test: wait for redis 2023-01-05 22:47:08 +01:00
Zaiming (Stone) Shi
5f12cdff6c ci: should not skip tests in github actions 2023-01-05 22:47:08 +01:00
Thales Macedo Garitezi
22707495ac
Merge pull request #9690 from thalesmg/fix-flaky-jwt-test
test(flaky): fix flaky jwt worker test
2023-01-05 14:00:39 -03:00
Kjell Winblad
5266722e51 feat: upgrade MongoDB library to support MongoDB 5.1+ 2023-01-05 16:40:45 +01:00
Kjell Winblad
b59c4c34c5 fix(Bridge REST API): no feedback when deleting bridge
This fixes https://emqx.atlassian.net/browse/EMQX-8648. The issue
described in `EMQX-8648` is that when deleting a non-existing bridge the
server gives a success response. See below:

```
curl --head -u admin:public2 -X 'DELETE' 'http://localhost:18083/api/v5/bridges/webhook:i_do_not_exist'
HTTP/1.1 204 No Content
date: Tue, 03 Jan 2023 16:59:01 GMT
server: Cowboy
```

After the fix, deleting a non existing bridge will give the following
response:

```
HTTP/1.1 404 Not Found
content-length: 49
content-type: application/json
date: Thu, 05 Jan 2023 12:40:35 GMT
server: Cowboy
```

Closes: EMQX-8648
2023-01-05 16:19:46 +01:00
Thales Macedo Garitezi
c6b8e614df fix(authz_http): handle ignore results (request failures)
Related issue: https://github.com/emqx/emqx/issues/9683

When the HTTP request for authz fails (e.g.: resource is down or
server is down), then the HTTP authorizer returns `ignore`, which was
not handled correctly by the authorization callback.
2023-01-05 11:34:23 -03:00
Thales Macedo Garitezi
cf6996cbea test(flaky): fix flaky jwt worker test 2023-01-05 11:19:43 -03:00
Thales Macedo Garitezi
70eb5ffb58 refactor: remove unused function 2023-01-05 10:16:01 -03:00
Thales Macedo Garitezi
56437228dc docs: improve descriptions
Thanks to @qzhuyan for the corrections.
2023-01-05 10:16:01 -03:00
Thales Macedo Garitezi
fd360ac6c0 feat(buffer_worker): refactor buffer/resource workers to always use queue
This makes the buffer/resource workers always use `replayq` for
queuing, along with collecting multiple requests in a single call.
This is done to avoid long message queues for the buffer workers and
rely on `replayq`'s capabilities of offloading to disk and detecting
overflow.

Also, this deprecates the `enable_batch` and `enable_queue` resource
creation options, as: i) queuing is now always enables; ii) batch_size
> 1 <=> batch_enabled.  The corresponding metric
`dropped.queue_not_enabled` is dropped, along with `batching`.  The
batching is too ephemeral, especially considering a default batch time
of 20 ms, and is not shown in the dashboard, so it was removed.
2023-01-05 10:15:09 -03:00
Thales Macedo Garitezi
bf3983e7c4 feat(buffer_worker): use offload mode for replayq
To avoid confusion for the users as to what persistence guarantees we
offer when buffering bridges/resources, we will always enable offload
mode for `replayq`.  With this, when the buffer size is above the max
segment size, it'll flush the queue to disk, but on recovery after a
restart it'll clean the existing segments rather than resuming from
them.
2023-01-05 10:11:59 -03:00
ieQu1
5d9f9671e9 feat(emqx_metrics): Sliding window samples 2023-01-05 13:55:52 +01:00
Thales Macedo Garitezi
fa4f90d43e
Merge pull request #9676 from thalesmg/fix-change-retainer-storage-type-v50
fix(retainer): change mnesia table storage types during update
2023-01-05 09:07:10 -03:00
ieQu1
93c205db7c fix(router_helper): Reduce log verbosity of expected events 2023-01-05 12:17:27 +01:00
Thales Macedo Garitezi
51ad27cb4b test(retainer): assert that retained messages are not lost when changing storage type 2023-01-04 13:52:52 -03:00
Thales Macedo Garitezi
2f13bfd452 fix(retainer): change mnesia table storage types during update
https://emqx.atlassian.net/browse/EMQX-8650
2023-01-04 13:52:52 -03:00
Thales Macedo Garitezi
86a4ac87a7
Merge pull request #9674 from thalesmg/reset-rule-metrics-on-disable-v50
chore(rule_engine): reset metrics when disabling a rule
2023-01-04 13:30:39 -03:00
Thales Macedo Garitezi
00b91d8a60
Merge pull request #9664 from thalesmg/fix-mongo-duration-field-descs-v50
docs(mongodb_connector): fix duration field descriptions
2023-01-04 10:03:38 -03:00
Thales Macedo Garitezi
eb7dca3691 chore(rule_engine): reset metrics when disabling a rule
https://emqx.atlassian.net/browse/EMQX-8502

When a bridge is disabled, its metrics are reset.  With this change,
we make rule actions behave like that: disabling a rule will reset its
metrics.
2023-01-04 09:30:47 -03:00
Erik Timan
f767db4d8f
Merge pull request #9660 from olcai/refactor-ingress-bridge-counter
refactor(emqx_resource): ingress bridge counter
2023-01-04 10:43:07 +01:00
Thales Macedo Garitezi
c3cfbae3c2 docs: improve descriptions
Thanks to @qzhuyan for the corrections
2023-01-03 11:38:09 -03:00
firest
b43be50a98 test: add the redacted test case for bridges api 2023-01-03 22:16:34 +08:00
firest
b016695cb1 fix(bridges): obfuscate the password in bridges API responses 2023-01-03 22:09:29 +08:00
Thales Macedo Garitezi
7bbdc20993 docs(mongodb_connector): fix duration field descriptions
https://emqx.atlassian.net/browse/EMQX-8642

Adds different descriptions for the different fields of type duration
for MongoDB.

Based off: https://www.mongodb.com/docs/manual/reference/connection-string/
2023-01-03 10:01:56 -03:00
Zaiming (Stone) Shi
ced5a27053 test: fix emqx_conf test cases 2023-01-02 21:30:40 +01:00
ieQu1
2f208c3ab9 fix(cluster_rpc): Detect stopped replicant nodes 2023-01-02 21:30:40 +01:00
lafirest
7985cd3536
Merge pull request #9638 from lafirest/fix/mysql_dup
fix(mysql): fix the problem of data loss and bad match when mysql is disconnected
2023-01-02 23:15:44 +08:00
Erik Timan
b9d012e072 refactor(emqx_resource): ingress bridge counter
Unify code paths for resource metrics by removing
emqx_resource:inc_received/1 and adding
emqx_resource_metrics:received_inc/1 & friends.
2023-01-02 15:11:52 +01:00
Thales Macedo Garitezi
7e02eac3bc
Merge pull request #9619 from thalesmg/refactor-gauges-v50
refactor(metrics): use absolute gauge values rather than deltas (v5.0)
2023-01-02 10:56:47 -03:00
firest
bc37556963 fix(mysql): fix the problem of data loss and bad match when mysql is disconnected 2023-01-02 21:46:24 +08:00
Zaiming (Stone) Shi
dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Zaiming (Stone) Shi
231d6da4dc
Merge pull request #9644 from id/fix-kafka-bridge-connectivity-detection
fix(kafka): detect connectivity in on_get_status
2022-12-30 21:54:56 +01:00
Thales Macedo Garitezi
305ed68916 chore: bump app vsns 2022-12-30 16:51:24 -03:00
Thales Macedo Garitezi
8b060a75f1 refactor(metrics): use absolute gauge values rather than deltas
https://emqx.atlassian.net/browse/EMQX-8548

Currently, we face several issues trying to keep resource metrics
reasonable.  For example, when a resource is re-created and has its
metrics reset, but then its durable queue resumes its previous work
and leads to strange (often negative) metrics.

Instead using `counters` that are shared by more than one worker to
manage gauges, we introduce an ETS table whose key is not only scoped
by the Resource ID as before, but also by the worker ID.  This way,
when a worker starts/terminates, they should set their own gauges to
their values (often 0 or `replayq:count` when resuming off a queue).
With this scoping and initialization procedure, we'll hopefully avoid
hitting those strange metrics scenarios and have better control over
the gauges.
2022-12-30 16:51:24 -03:00
Zaiming (Stone) Shi
b30f2ea58b fix(statsd schema): a field is not 'required' when it has 'default' 2022-12-30 14:20:24 +01:00
Zaiming (Stone) Shi
981f75dc73 test(emqx_modules): do not expect badmatch in test cases!!! 2022-12-30 14:20:24 +01:00
Zaiming (Stone) Shi
0ce1ca89b7 refactor: use string type for server and servers 2022-12-30 14:20:23 +01:00
Zaiming (Stone) Shi
cac7e0c5f0 refactor: move version prefix string detection to a static fun
this is to make dialyzer happy
2022-12-30 14:19:03 +01:00
Thales Macedo Garitezi
a612eacf3a
Merge pull request #9641 from thalesmg/fix-gcp-pubsub-jwt-refresh-v50
fix(gcp_pubsub): fix potential jwt accumulation and lack of refresh (v5.0)
2022-12-30 09:33:41 -03:00
Ivan Dyachkov
f410201dc3 chore: fix flaky test case in emqx_connector_jwt_worker_SUITE 2022-12-30 11:45:13 +01:00
zhongwencool
f92b1fb8f4
Merge pull request #9633 from zhongwencool/fix-json-fmt
fix: bad best fmt json []
2022-12-30 09:08:13 +08:00
Thales Macedo Garitezi
446a4c74d0 fix(gcp_pubsub): fix potential jwt accumulation and lack of refresh (v5.0)
https://emqx.atlassian.net/browse/EMQX-8653
Related:
- https://emqx.atlassian.net/browse/EEC-737
- https://emqx.atlassian.net/browse/EMQX-8652

Since the rule resource testing mechanism creates a new resource to
test the configuration, a new JWT associated with an unique temporary
resource was being created and left in the JWT table, leaking it.

Also, a wrong case clause when setting the new refresh timer for the
JWT worker was preventing it from refreshing from the 2nd refresh
onward.
2022-12-29 16:30:36 -03:00
Zaiming (Stone) Shi
0b43ae621d ci: dump docker-compose log if failed to run ct 2022-12-29 09:23:11 +01:00
Zhongwen Deng
4e62aff3ab fix: bad best fmt json [] 2022-12-29 14:53:00 +08:00
Zaiming (Stone) Shi
2790d5697d test: add a 2 seconds sleep between listener sotp and restart
to lower the chance of eaddrinuse
2022-12-28 18:48:53 +01:00
Thales Macedo Garitezi
4819794401 test(refactor): decrease test teardown noise 2022-12-27 10:30:14 -03:00
Thales Macedo Garitezi
6fdcba641e test(refactor): no need for monitor
the janitor is already linked to the parent
2022-12-27 10:30:14 -03:00
Zaiming (Stone) Shi
a777bac38c build: prepare for v5.0.13 release 2022-12-27 11:54:09 +01:00
Zaiming (Stone) Shi
15bd797b36 ci: bump to v5.0.13-rc.3 2022-12-27 11:24:47 +01:00
Zaiming (Stone) Shi
580137de0d Merge remote-tracking branch 'origin/master' into release-50 2022-12-27 11:06:17 +01:00
lafirest
2ff6ef01f1
Merge pull request #9599 from lafirest/fix/blacklist_default_exp
fix(banned): ensure the default expiration time of `banned` is large enough
2022-12-27 17:30:10 +08:00
Zaiming (Stone) Shi
0517541f34 ci: bump to v5.0.13-rc.2 2022-12-27 09:54:34 +01:00
Zaiming (Stone) Shi
18246442aa chore: prepare v5.0.13-rc.1
bump dashboard version to v1.1.4
2022-12-26 21:45:48 +01:00
zhongwencool
81b226a801
Merge pull request #9608 from zmstone/1123-pin-hocon-0.33.0
1123 pin hocon 0.33.0
2022-12-26 19:22:21 +08:00
firest
af3f0c9bb0 fix(banned): ensure the default timeout of banned is large enough 2022-12-26 10:17:31 +08:00
Zaiming (Stone) Shi
f93c22045d fix: non-empty field should not be undefined 2022-12-24 11:41:45 +01:00
Zaiming (Stone) Shi
269a40a9ea fix: format psk user lookup fun back to string 2022-12-23 19:22:15 +01:00
Zaiming (Stone) Shi
d3efb0c0ba chore: bump app versions 2022-12-23 15:10:16 +01:00
Zaiming (Stone) Shi
350023e757 fix(config): option only_fill_defaults renamed to make_serializable 2022-12-23 14:27:04 +01:00
Thales Macedo Garitezi
35dc75b7ed feat(mqtt): add option to customize clientid prefix for egress bridges
https://emqx.atlassian.net/browse/EMQX-8445

Currently the bridge client’s client ID is prefixed with the resource
ID.

Sometimes it’s useful for users to have control of this prefix,
e.g. prefix based ACL rules in the target broker.
2022-12-23 09:50:26 -03:00
Ilya Averyanov
fa7433628c fix(logs): set password field sensitive for connectors 2022-12-23 12:46:03 +01:00
Zaiming (Stone) Shi
59970272ff chore: pin hocon 0.33.0 2022-12-23 12:07:36 +01:00
Zaiming (Stone) Shi
6292d7ec68 refactor: remove dead code 2022-12-23 12:07:36 +01:00
Erik Timan
13942f5c49 refactor: rename error return in mysql connector 2022-12-22 10:29:12 +01:00
Erik Timan
7df24000a0 test: add more EE mysql bridge test cases 2022-12-22 10:27:38 +01:00
Erik Timan
23ac426608 fix(emqx_connector): check for key among prepared statements on query
An infinite loop was triggered in the mysql connector when a query
used a prepared statement key that was not among the defined prepared
statements on start. We now check that the key is defined among the
prepared statements before recursing. It seems that this bug was never
triggered in any production code flow and simply found while writing
tests.

An error return spell fix is also included as well as a FIXME comment
regarding running mysql:prepare and not distinguishing between
transient failures and syntax errors. Syntax errors should not be
retried.
2022-12-22 10:27:38 +01:00
lafirest
f660724bf7
Merge pull request #9582 from lafirest/fix/fix_field_name
fix(limiter): change limiter `cache` to `buffer`
2022-12-21 18:12:40 +08:00
firest
a8e020af58 fix(limiter): change limiter cache to buffer 2022-12-20 22:30:52 +08:00
Zaiming (Stone) Shi
516147ad00
Merge pull request #9581 from zmstone/1219-fix-mqtt-bridge-config
1219 fix mqtt bridge config
2022-12-20 14:47:02 +01:00
Zaiming (Stone) Shi
479e191dcf refactor: refine worker pool config and doc
worker pool is a buffer pool
the description hinted connection pool which is wrong.
2022-12-20 09:02:51 +01:00
Zaiming (Stone) Shi
da51433dc3 refactor: add default value for eggress remote 'qos' and 'retain'
otherwise when updating from dashboard, there is no way to set
'false' for 'retain' because it's a checkbox,
it's either 'true' or 'undefined'
2022-12-20 00:00:31 +01:00
Zaiming (Stone) Shi
c085ffa0fe refactor: default mqtt bridgge buffer pool size down to 4 2022-12-19 23:59:46 +01:00
Zaiming (Stone) Shi
f611cbab45 chore: cap replayq seg size under total size 2022-12-19 23:16:05 +01:00
Zaiming (Stone) Shi
e932569f34 refactor: delete stale code
'hash' strategy has been removed from config schema
hence no need to keep the compatibility code
2022-12-19 20:20:58 +01:00
Zaiming (Stone) Shi
ad3a793910 fix(shared_sub): insert alive pid table at mnesia table event 2022-12-19 20:12:38 +01:00
Zaiming (Stone) Shi
4f1fb0b629 refactor(shared_sub): improve sticky strategy performance
* avoid calling ets:select twice for sticky strategy
* when the calling process is terminating, no loop-back dispatch
2022-12-19 20:04:33 +01:00
Zaiming (Stone) Shi
29f394aa70 fix(shared): handle unsubscribe for sticky strategy
prior to this change, the message is dispatched to a shared subscriber
even after unsubscribed
2022-12-19 19:12:38 +01:00
Zaiming (Stone) Shi
67718ef84f docs: prepare to deprecate broker.shared_dispatch_ack_enabled 2022-12-19 17:07:52 +01:00
Stefan Strigler
7aee1a08aa
Merge pull request #9531 from sstrigler/EMQX-7982-put-authentication-id-should-return-204
refactor: return `204` instead of `200` for `PUT /authenticator/:id`
2022-12-19 14:46:31 +01:00
Andrew Mayorov
cbe54c001c
Merge pull request #9510 from keynslug/chore/otp-25-compat
chore: enable OTP-25 compatibility
2022-12-19 15:12:19 +04:00
Stefan Strigler
9d97775567 refactor: return 204 instead of 200 for PUT /authenticator/:id 2022-12-19 10:02:08 +01:00
JimMoen
4906da9796
test(rule-funcs): test compression funcs 2022-12-19 15:43:50 +08:00
JimMoen
5151242583
feat(rule-engine): zip, gzip, zip_compress funcs in rule-sql 2022-12-19 15:43:50 +08:00
Andrew Mayorov
ed2d5aa48a
fix: handle status in format_status/1 callback
Which is expected argument type for this callback. Also try to
make sure that random maps won't pass through this callback unnoticed.
2022-12-16 13:45:06 +03:00
Andrew Mayorov
41a4e41d0c
fix(ct): prevent testcase flapping
Testcase `t_log_file` was flapping when run happened to pass through
boundary of a second. Archive files' `ctime`s could differ between
consecutive archive downloads.
2022-12-16 13:45:06 +03:00
Andrew Mayorov
4f00f0968d
ci: update to emqx-plugin-template 5.0.0 2022-12-16 13:45:06 +03:00
Andrew Mayorov
fed7c80a9a
fix(ci): spec function with explicit exception 2022-12-16 13:45:05 +03:00
Andrew Mayorov
8a0ca38a77
fix: drop no longer supported dialyzer option 2022-12-16 13:45:05 +03:00
Andrew Mayorov
c301c8e992
chore: drop few unused macros / includes 2022-12-16 13:45:04 +03:00
Andrew Mayorov
a614e3065a
chore(tls): drop OTP-22-related workaround 2022-12-16 13:45:04 +03:00
JimMoen
23d5d5329e
test(session): ensure 'message.dropped' hook ran with named reason 2022-12-15 16:16:27 +08:00
JimMoen
b88398c3c6
fix: run message.dropped hook, inc messages.dropped metrics
- when awaiting_rel full
- packet identifier in use (QoS2 packet resend)
2022-12-15 16:16:26 +08:00
Zaiming (Stone) Shi
9e3da5b661 chore: bump app versions 2022-12-14 20:07:41 +01:00
Zaiming (Stone) Shi
56066a03b5 Merge remote-tracking branch 'origin/release-50' into 1214-sync-master-upstreams 2022-12-14 20:04:20 +01:00
Zaiming (Stone) Shi
82db73c3f7 chore: bump version to v5.0.12 2022-12-14 20:02:42 +01:00
Zaiming (Stone) Shi
7137a422df refactor(emqx_authn): make error messages more readable 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi
abef881a73 refactor(config): no need to explicitly remove env metadata
after upgraded to honcon 0.32.0, the env meta is removed
by default.
2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi
34f7fff97d chore: pin hocon 0.32.0 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi
2d7099e3ae refactor(emqx_bridge_resource): rename a variable 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi
42c58e2a91 Merge remote-tracking branch 'origin/release-50' into 1214-sync-master-upstreams 2022-12-14 15:29:13 +01:00
Thales Macedo Garitezi
f827062f0b
Merge pull request #9449 from thalesmg/gcp-pubsub-ee50
feat(gcp_pubsub): implement GCP PubSub bridge (ee5.0)
2022-12-14 10:31:12 -03:00
Zaiming (Stone) Shi
0412826dd5 refactor: change ce | ee to v | prefix for shell prompt
reason: 'ce' (Community Edition) is only for internal use,
when it comes to user/customer facing descriptions,
we should use Opensource edition and Enterprise edition.

Similary, for user/customer facing shell prompt,
use `v` for Opensource edition and `e` for Enterprise
2022-12-14 13:05:44 +01:00
Stefan Strigler
7bdb029745 refactor: use POST not PUT for /users/{name}/change_pwd 2022-12-13 11:08:54 +01:00
Thales Macedo Garitezi
464d0a5057 refactor(test): use a linked janitor for test teardown 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
b9bc82f87a feat(gcp_pubsub): add local_topic config
Given the implicit convention that an egress bridge containing the
`local_topic` config will forward messages without the need for a rule
action, this was added to avoid needing a rule action.
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
a095867358 test(refactor): add ids to namespace on_exit callbacks 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
697b3ecf2d docs: improve descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
1cd91a24e9 feat(gcp_pubsub): implement GCP PubSub bridge (ee5.0) 2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
fffce9316c test(fix): avoid trying to connect to system_monitor db in tests
When `system_monitor`'s application is loaded, it sets a default
hostname:

```erlang
1> application:get_env(system_monitor, db_hostname).
undefined
2> application:load(system_monitor).
ok
3> application:get_env(system_monitor, db_hostname).
{ok,"localhost"}
```

And that makes tests crash when somehow it gets loaded.

By having a semantic `enable` field, we could avoid starting this
application by checking if the hostname is filled or not.

```
=ERROR REPORT==== 1-Dec-2022::13:57:20.855070 ===
** Generic server <0.7646.3> terminating
** Last message in was {command,epgsql_cmd_connect,
                                #{codecs => [],database => "postgres",
                                  host => [],
                                  password =>
                                      #Fun<epgsql_cmd_connect.0.29916615>,
                                  port => 5432,timeout => 5000,
                                  username => "system_monitor"}}
** When Server state == {state,undefined,undefined,<<>>,undefined,on_message,
                               undefined,
                               {[],[]},
                               undefined,undefined,undefined,undefined,[],
                               information_redacted,[],undefined,undefined,
                               undefined,undefined,undefined,#{}}
** Reason for termination ==
** {badarg,
       [{gen_tcp,connect_0,4,[{file,"gen_tcp.erl"},{line,207}]},
        {epgsql_cmd_connect,open_socket,2,
            [{file,
                 "/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl"},
             {line,94}]},
        {epgsql_cmd_connect,execute,2,
            [{file,
                 "/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl"},
             {line,54}]},
        {epgsql_sock,command_exec,4,
            [{file,"/emqx/_build/default/lib/epgsql/src/epgsql_sock.erl"},
             {line,338}]},
        {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},
        {gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}
** Client system_monitor_pg stacktrace
** [{gen,do_call,4,[{file,"gen.erl"},{line,214}]},
    {gen_server,call,3,[{file,"gen_server.erl"},{line,243}]},
    {epgsql,call_connect,2,
            [{file,"/emqx/_build/default/lib/epgsql/src/epgsql.erl"},
             {line,203}]},
    {system_monitor_pg,connect,0,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,151}]},
    {system_monitor_pg,initialize,0,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,142}]},
    {system_monitor_pg,handle_info,2,
                       [{file,"/emqx/_build/default/lib/system_monitor/src/system_monitor_pg.erl"},
                        {line,92}]},
    {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,695}]},
    {gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,771}]},
    {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]

=CRASH REPORT==== 1-Dec-2022::13:57:20.855697 ===
  crasher:
    initial call: epgsql_sock:init/1
    pid: <0.7646.3>
    registered_name: []
    exception exit: badarg
      in function  gen_tcp:connect_0/4 (gen_tcp.erl, line 207)
      in call from epgsql_cmd_connect:open_socket/2 (/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl, line 94)
      in call from epgsql_cmd_connect:execute/2 (/emqx/_build/default/lib/epgsql/src/commands/epgsql_cmd_connect.erl, line 54)
      in call from epgsql_sock:command_exec/4 (/emqx/_build/default/lib/epgsql/src/epgsql_sock.erl, line 338)
      in call from gen_server:try_handle_call/4 (gen_server.erl, line 721)
      in call from gen_server:handle_msg/6 (gen_server.erl, line 750)
    ancestors: [system_monitor_pg,system_monitor2_sup,system_monitor_sup,
                  <0.4297.3>]
    message_queue_len: 0
    messages: []
    links: [<0.4303.3>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 1598
    stack_size: 29
    reductions: 734
  neighbours:
```
2022-12-12 17:18:19 -03:00
Thales Macedo Garitezi
c69022f3c4 test(ci): clean config after test
Trying to fix this error for profile `emqx`:

```
=CRASH REPORT==== 30-Nov-2022::13:25:46.763989 ===
  crasher:
    initial call: application_master:init/4
    pid: <0.9682.1>
    registered_name: []
    exception exit: {bad_return,
                        {{emqx_conf_app,start,[normal,[]]},
                         {emqx_conf_schema,
                             [#{kind => validation_error,path => "bridges",
                                reason => unknown_fields,
                                unknown => <<"influxdb_api_v1">>,
                                unmatched => <<"mqtt,webhook">>}]}}}
      in function  application_master:init/4 (application_master.erl, line 142)
    ancestors: [<0.9681.1>]
    message_queue_len: 1
    messages: [{'EXIT',<0.9683.1>,normal}]
    links: [<0.9681.1>,<0.44.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 610
    stack_size: 29
    reductions: 195
  neighbours:

=INFO REPORT==== 30-Nov-2022::13:25:46.777895 ===
    application: emqx_conf
    exited: {bad_return,
                {{emqx_conf_app,start,[normal,[]]},
                 {emqx_conf_schema,
                     [#{kind => validation_error,path => "bridges",
                        reason => unknown_fields,
                        unknown => <<"influxdb_api_v1">>,
                        unmatched => <<"mqtt,webhook">>}]}}}
    type: temporary

%%% emqx_plugins_SUITE ==> init_per_suite: FAILED
%%% emqx_plugins_SUITE ==> {{failed_to_start_app,emqx_conf,
     {emqx_conf,
         {bad_return,
             {{emqx_conf_app,start,[normal,[]]},
              {emqx_conf_schema,
                  [#{kind => validation_error,path => "bridges",
                     reason => unknown_fields,
                     unknown => <<"influxdb_api_v1">>,
                     unmatched => <<"mqtt,webhook">>}]}}}}},
 [{emqx_common_test_helpers,start_app,4,
      [{file,
           "/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
       {line,227}]},
  {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
  {emqx_plugins_SUITE,init_per_suite,1,
      [{file,
           "/__w/emqx/emqx/source/apps/emqx_plugins/test/emqx_plugins_SUITE.erl"},
       {line,34}]},
  {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
  {test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1380}]},
  {test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1224}]}]}

%%% emqx_plugins_SUITE ==> t_bad_info_json: SKIPPED
%%% emqx_plugins_SUITE ==> {tc_auto_skip,
    {failed,
        {emqx_plugins_SUITE,init_per_suite,
            {'EXIT',
                {{failed_to_start_app,emqx_conf,
                     {emqx_conf,
                         {bad_return,
                             {{emqx_conf_app,start,[normal,[]]},
                              {emqx_conf_schema,
                                  [#{kind => validation_error,
                                     path => "bridges",
                                     reason => unknown_fields,
                                     unknown => <<"influxdb_api_v1">>,
                                     unmatched => <<"mqtt,webhook">>}]}}}}},
                 [{emqx_common_test_helpers,start_app,4,
                      [{file,
                           "/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
                       {line,227}]},
                  {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
                  {emqx_plugins_SUITE,init_per_suite,1,
                      [{file,
                           "/__w/emqx/emqx/source/apps/emqx_plugins/test/emqx_plugins_SUITE.erl"},
                       {line,34}]},
                  {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
                  {test_server,run_test_case_eval1,6,
                      [{file,"test_server.erl"},{line,1380}]},
                  {test_server,run_test_case_eval,9,
                      [{file,"test_server.erl"},{line,1224}]}]}}}}}
```
2022-12-12 17:18:13 -03:00
Thales Macedo Garitezi
34e9056779 refactor: fix typo in variable name
Might confuse people to think it's related to `replayq`.
2022-12-12 17:17:51 -03:00
Zaiming (Stone) Shi
f8685e3a58
Merge pull request #9437 from zhongwencool/authn-env-failed
fix: set authentication array from ENV failed
2022-12-12 19:12:27 +01:00
Zhongwen Deng
e57a1f2c8b fix: set authentication array from ENV failed 2022-12-12 14:18:30 +01:00
Erik Timan
0242d5f360 test: rename return_body to return_all in emqx_mgmt api test util 2022-12-12 13:29:11 +01:00
Erik Timan
8009f0a3a8 test: api returns for lwm2m client posts
Add test coverage for HTTP 204 returns from lwm2m client API
posts. This includes a small refactoring of the request functionality
in emqx_mgmt_api_test_util.
2022-12-12 13:28:24 +01:00
Erik Timan
a8c9d02871 fix(emqx_gateway): return 204 for lwm2m client posts
Change the return for lwm2m client API posts from 200 to 204 since
they contain no content.
2022-12-12 13:28:24 +01:00
Stefan Strigler
6b22a074f0 refactor: move /mqtt/sys_topics to generic /configs/sys_topics 2022-12-12 13:25:42 +01:00
Zaiming (Stone) Shi
c2eabfe5f7
Merge pull request #9523 from qzhuyan/fix/william/bridges-ingress-and-egress
Fix/william/bridges ingress and egress
2022-12-12 09:36:08 +01:00
Zaiming (Stone) Shi
61da68ff40 fix(emqx_schema): handshake_timeout is common for all listeners 2022-12-09 16:47:19 +01:00
William Yang
6b6bb09d4a fix: ingress only bridge causes egress bridge traffic stop 2022-12-09 15:36:20 +01:00
Stefan Strigler
85f54220b0
Merge pull request #9494 from sstrigler/EMQX-7992-post-trace-must-respond-with-409-on-duplicate-entry
fix: return 409 in case of duplicate
2022-12-09 15:10:23 +01:00
Zaiming (Stone) Shi
3084d1263b
Merge pull request #9519 from zmstone/1209-chore-merge-dev/ee5.0-to-release-50
1209 chore merge dev/ee5.0 to release 50
2022-12-09 14:29:13 +01:00
Stefan Strigler
2a27d2e781 fix: return 409 in case of duplicate 2022-12-09 13:33:34 +01:00
Zaiming (Stone) Shi
6a4fb1241b Merge remote-tracking branch 'origin/release-50' into 1209-chore-merge-dev/ee5.0-to-release-50 2022-12-09 12:54:16 +01:00
Stefan Strigler
1472cfefd0 fix: flip order of checks to return 404 before 400 2022-12-09 12:53:04 +01:00
Stefan Strigler
1f7c02ecf5 fix: return 400 if node in query doesn't look like a known node 2022-12-09 12:53:02 +01:00
Ilya Averyanov
a26964291d
Merge pull request #9496 from savonarola/fix-auth-chain
Fix `emqx_authentication` hook cooperation with other hooks
2022-12-09 14:48:18 +03:00
Ilya Averyanov
7ae3ecfccb chore(retainer): optimize index writes 2022-12-09 14:42:43 +03:00
Ilya Averyanov
cd0ae62995 fix(auth): fix emqx_authenticator cooperation with other 'client.authenticate' hooks 2022-12-09 13:57:48 +03:00
Zaiming (Stone) Shi
40809b2ad0 Merge remote-tracking branch 'origin/dev/ee5.0' into release-50 2022-12-09 11:45:52 +01:00
lafirest
3705d5bc73
Merge pull request #9505 from lafirest/fix/psk_r50
fix(psk): Add more PSK ciphers support
2022-12-09 00:00:52 +08:00
Zaiming (Stone) Shi
e1f09d9899 Merge remote-tracking branch 'origin/release-50' into 1208-merge-release-50-back-to-master 2022-12-08 14:27:01 +01:00
firest
dac8845b5d test(psk): add PSK ciphers test case 2022-12-08 11:41:57 +08:00
firest
21a908167d fix(psk): Add more PSK ciphers support 2022-12-08 11:41:42 +08:00
Zaiming (Stone) Shi
dc14cd450d test: render config for emqx_conf only for ee bridge tests 2022-12-07 18:27:06 +01:00
Zaiming (Stone) Shi
c9d84b2fda test: do not load emqx_conf app when it's not found
also remove stale code in emqx_common_test_helpers
2022-12-07 16:49:54 +01:00
Zaiming (Stone) Shi
d89dbb7caa Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-07 16:24:13 +01:00
Zaiming (Stone) Shi
f3b069a0d9 test: fix config load for lib-ee tests 2022-12-07 15:50:50 +01:00
Zaiming (Stone) Shi
b897d64b75 test: fix emqx_frame_SUITE 2022-12-07 12:20:03 +01:00
Ilya Averyanov
6692b0c895 feat(bridge): add Redis bridge 2022-12-06 23:15:42 +03:00
Zaiming (Stone) Shi
31098d6c67 test: fix bridge api tests, metrics is now a separate api 2022-12-06 19:03:32 +01:00
Zaiming (Stone) Shi
bd65e8aad6 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:42:50 +01:00
Zaiming (Stone) Shi
1c2fc4b6c3 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:35:56 +01:00
Stefan Strigler
0b324da7cb refactor: move metrics out of /rules(/:id) to /rules/:id/metrics 2022-12-06 15:23:28 +01:00
Zaiming (Stone) Shi
380b75d4a9
Merge pull request #9422 from emqx/1124-refactor-avoid-creating-atom-at-run
refactor: use static function references
2022-12-06 14:24:05 +01:00
Zaiming (Stone) Shi
cca3421308 refactor: use static function references 2022-12-06 09:40:03 +01:00
lafirest
3e29e37691
Merge pull request #9477 from lafirest/fix/fuzzing_errors_v50
Fix/fuzzing errors v50
2022-12-06 08:22:46 +08:00
Zaiming (Stone) Shi
817554c7d7 refactor(emqx_frame): better error handling 2022-12-06 01:48:52 +08:00
Zaiming (Stone) Shi
16aeba24b7
Merge pull request #9472 from zmstone/1203-merge-release-50-to-master
1203 merge release 50 to master
2022-12-05 16:39:51 +01:00
firest
72669080a1 fix(frame): fix potential parse errors found by fuzzing test 2022-12-05 23:16:07 +08:00
Stefan Strigler
0be5c8e84b fix: Revert "refactor: return 204 instead of 200 for PUT /authenticator/:id"
This reverts commit 3bda905e92.
2022-12-05 15:52:16 +01:00
Stefan Strigler
2443500884 fix: return 404 for /telemetry/data in case it's disabled 2022-12-05 12:41:27 +01:00
Stefan Strigler
1ba66fc722 docs: /trace returns list not single trace 2022-12-05 11:50:52 +01:00
Stefan Strigler
f8dd8d652d docs: add swagger error codes for /trace/:name/[log|download] 2022-12-05 11:50:52 +01:00
Stefan Strigler
9100b13db6 docs: fix schema for /trace/:name/log 2022-12-05 11:50:52 +01:00
Zhongwen Deng
64ab4ca025 test: add copy data dir test case 2022-12-05 16:25:28 +08:00
Stefan Strigler
3bda905e92 refactor: return 204 instead of 200 for PUT /authenticator/:id 2022-12-05 09:19:55 +01:00
Zhongwen Deng
9b37837c9c fix: don't save cert/authz zip on disk when emqx start 2022-12-05 16:12:21 +08:00
Zaiming (Stone) Shi
9fd1864d17 Merge remote-tracking branch 'origin/release-50' 2022-12-03 12:58:42 +01:00
Stefan Strigler
5b4feca3cb
Merge pull request #9419 from sstrigler/EMQX-7863-post-authentication-id
refactor: use PUT on `/position` to move authenticator
2022-12-02 14:07:59 +01:00
Erik Timan
485c4ddcab
Merge pull request #9393 from olcai/add-mysql-bridge-test
test: add basic mysql bridge test (ee5.0)
2022-12-02 09:43:22 +01:00
lafirest
4cc13c4aa5
Merge pull request #9133 from lafirest/fix/limiter_api
fix(limiter): add `limiter` back to the configs API
2022-12-02 10:06:03 +08:00
Zaiming (Stone) Shi
eb017ab034 test: add test case to cover mqtt bridge config upgrade 2022-12-01 16:50:10 +01:00
Zaiming (Stone) Shi
9ea22d062d refactor: make all bridges optional (required = false) 2022-12-01 16:50:10 +01:00
Zaiming (Stone) Shi
7adb539ae1 chore: pin hocon 0.31.2 2022-12-01 16:50:10 +01:00
Erik Timan
28fc2b9ee9 fix(mgmt_api): add missing error codes in schema 2022-12-01 12:20:11 +01:00
Erik Timan
5461311edc test: more EE mysql bridge tests 2022-12-01 10:27:51 +01:00
Erik Timan
96bff1d32e test: improve basic tests for EE mysql bridge 2022-12-01 10:27:51 +01:00
firest
88a0c77707 fix(limiter): add limiter back to the configs API 2022-12-01 15:07:15 +08:00
Zaiming (Stone) Shi
9a6901987f feat: add mqtt bridge config upgrade converter 2022-11-30 21:01:59 +01:00
Zaiming (Stone) Shi
983e904858 fix(connector): fix ssl clear 2022-11-30 17:03:41 +01:00
firest
81586a4c8d chore: bump connector version 2022-11-30 23:14:54 +08:00
firest
51ace31f30 fix(connector): fix previous incorrectly fixes
There was an error in the try_clear_certs2/3 clause that the argument isn't the ssl field but including it.
2022-11-30 22:14:44 +08:00
zhongwencool
5a2265a286
Merge pull request #9407 from v-zhuravlev/master
Update grafana dashboards
2022-11-30 17:03:39 +08:00
Stefan Strigler
b124e64399 refactor: use PUT on /position to move authenticator 2022-11-29 17:28:37 +01:00
lafirest
e6e559710b
Merge pull request #9432 from lafirest/fix/exhook_ssl_management
fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update
2022-11-29 22:32:10 +08:00
Zaiming (Stone) Shi
311e4cd583
Merge pull request #9440 from zmstone/1128-chore-sync-release-branch-back-to-master
1128 chore sync release branch back to master
2022-11-29 11:47:01 +01:00
firest
606389edd2 chore: update changes && bump version 2022-11-29 10:41:21 +08:00
firest
f9bc700498 fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update 2022-11-29 10:40:08 +08:00
Zaiming (Stone) Shi
b398617614 chore: bump app versions 2022-11-28 21:12:43 +01:00
Zaiming (Stone) Shi
77341e7a3c chore: bump app versions 2022-11-28 21:06:33 +01:00
Zaiming (Stone) Shi
9f3a9efbad Merge remote-tracking branch 'origin/release-v50' 2022-11-28 21:02:39 +01:00
Zaiming (Stone) Shi
7ee53e5319 Merge tag 'v5.0.11' into dev/ee5.0 2022-11-28 21:02:21 +01:00
Erik Timan
2582c1713e fix: emqx_topic:join/1 instead of filename:join/1
filename:join/1 doesn't work on Windows for joining a topic. We now use
emqx_topic:join/1 instead.
2022-11-28 11:00:18 +01:00
Erik Timan
95faf56077 feat: remove $queue in favor of $shared
This commit removes support for setting shared subscriptions with the
non-standard $queue feature. Shared subscriptions is now part of the MQTT
spec (using $shared) and we will only support that from now on.
2022-11-28 11:00:18 +01:00
Zaiming (Stone) Shi
05719daff2 chore: bump version to v5.0.11 2022-11-27 11:15:28 +01:00
Zaiming (Stone) Shi
970b3eb1a0 chore: bump to version v5.0.11-rc.1 2022-11-26 15:51:38 +01:00
Vitaly Zhuravlev
5c9fff43a2 chore: add proper units for rates on the dashboard 2022-11-25 19:12:36 +03:00
Vitaly Zhuravlev
5af1d6662f chore: update grafana dashboards 2022-11-25 19:12:25 +03:00
Zhongwen Deng
65a1f90f58 Merge branch 'global-gc-interval' of https://github.com/zhongwencool/emqx into global-gc-interval 2022-11-25 16:39:02 +08:00
Zhongwen Deng
28bede0377 chore: update i18n en description 2022-11-25 16:38:40 +08:00
zhongwencool
2fbd6c9690
Merge branch 'master' into global-gc-interval 2022-11-25 12:06:16 +08:00
lafirest
345fa65241
Merge pull request #9416 from lafirest/fix/emqx_ctl
fix(ctl): fix unsafe `list_to_atom`
2022-11-25 09:58:07 +08:00
Zhongwen Deng
59ac5320b1 chore: update emqx_conf/emqx_machine version 2022-11-25 07:33:08 +08:00
Zaiming (Stone) Shi
6ee475d9b1 fix(emqx_authz_api_mnesia): return the right matchers 2022-11-24 20:32:00 +01:00
JianBo He
dbdb78d38a chore: clarify the case when count returns zero 2022-11-24 20:28:50 +01:00
JianBo He
edb35c08a8 chore: refactor ms2qs function type 2022-11-24 20:14:33 +01:00
JianBo He
9786a6c267 refactor(mgmt): convert fuzzy filter func to named func 2022-11-24 20:14:33 +01:00
JianBo He
ffb3f2d2d2 chore: change emqx_live_connection tab type to ordered_set
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-24 20:14:33 +01:00
JianBo He
6d9e1e0d7a test(mgmt): cover emqx_mgmt_api:cluster_query 2022-11-24 20:14:33 +01:00
JianBo He
36de83a50a feat(cm): change emqx_channel_info to ordered_set table 2022-11-24 20:14:33 +01:00
JianBo He
b9c5a5f822 fix(delayed): return correct node name 2022-11-24 20:14:33 +01:00
JianBo He
0c1412315c chore(bpapi): ignore emqx_mgmt_api:collect_total_from_tail_nodes/3 2022-11-24 20:14:33 +01:00
JianBo He
79a2682fd3 chore: improve the no-conditions query 2022-11-24 20:14:33 +01:00
JianBo He
8a0c468b01 test: refine tests for lots of List HTTP API 2022-11-24 20:14:33 +01:00
JianBo He
09958d9a33 chore: fix diaylzer warnings 2022-11-24 20:14:33 +01:00
JianBo He
9c7bf9d601 chore: update app.src 2022-11-24 20:14:33 +01:00
JianBo He
8f7337c9d2 chore: return undefined fuzzy searching func 2022-11-24 20:14:33 +01:00
JianBo He
28d391f26c fix(mgmt): collect total number in node_query/cluster_query 2022-11-24 20:14:33 +01:00
JianBo He
1fe9c105aa refactor(mgmt): smplify the node_query/cluster_query implementation 2022-11-24 20:14:33 +01:00
JianBo He
08121e7df6 fix(mgmt): optimize the speed of query tail pages
In the previous, when you query the tail pages, all the front of rows
will be queried out and formatted. It greatly hurts the speed of query.

Currently, we only format the final result rows. i.e, the query for the
last page of data will be 10x faster.
2022-11-24 20:14:33 +01:00
Zaiming (Stone) Shi
6837af2308
Merge branch 'release-v50' into 0720-feat-direct-deny-when-anonymous-is-not-allowed 2022-11-24 16:07:58 +01:00
Stefan Strigler
08163feed7
Merge pull request #9401 from sstrigler/EMQX-7751-support-message-properties
EMQX 7751 support message properties
2022-11-24 14:04:25 +01:00
Zhongwen Deng
70b6397ada feat: support node.global_gc_interval=disabled 2022-11-24 20:35:41 +08:00
firest
03fb543ba8 fix(ctl): fix unsafe list_to_atom
A command can be called only when it is exists
2022-11-24 17:28:53 +08:00
firest
2bc8b00419 feat(authn): support quick deny anonymous 2022-11-24 09:44:19 +01:00
Zaiming (Stone) Shi
b879c935eb
Merge pull request #9404 from JimMoen/fix-typo-50
fix(typo): typo in code
2022-11-24 09:39:43 +01:00
firest
fc2793c300 fix: fix upside down function clause 2022-11-24 10:37:52 +08:00
Zhongwen Deng
282e6ff218 chore: set channel info once 2022-11-24 09:59:39 +08:00
Zaiming (Stone) Shi
67cef65fdb refactor(emqx_connector_ssl): simplify implementation 2022-11-23 23:49:43 +01:00
Zaiming (Stone) Shi
6f67e3b333 feat(emqx_map_lib): add a binary_key_map help function 2022-11-23 23:49:43 +01:00
firest
6dc5078a96 fix: fix obsolete SSL files aren't deleted after the bridge configuration update 2022-11-23 23:49:43 +01:00
Stefan Strigler
afcb33aa20 feat: support publish with properties 2022-11-23 17:04:35 +01:00
Stefan Strigler
acef85e11a test: initialize clients in test setup, teardown after test 2022-11-23 17:03:43 +01:00
Zaiming (Stone) Shi
cded5fc6cf
Merge pull request #9398 from emqx/1121-rule-bridge-properties
1121 rule bridge properties
2022-11-23 15:12:24 +01:00
firest
1719414c04 chore: update app versions 2022-11-23 11:42:49 +08:00
firest
19405114e2 fix: fix newly found unsafe binary_to_atom 2022-11-23 11:07:20 +08:00
Zaiming (Stone) Shi
f3df2c80d8 feat: add user_properties arg for republish action 2022-11-22 20:09:59 +01:00
kraftwerk28
00c57de4c3 feat: do not drop MQTTv5 properties in rule/bridge 2022-11-22 20:09:59 +01:00
firest
118a97a0d8 fix: change the defualt value of max_topic_levels to 128 2022-11-22 18:45:44 +08:00
JimMoen
c21fa3c339
fix(typo): typo in code 2022-11-22 09:51:30 +08:00
JianBo He
fcbf1bc890 fix(will-msg): fix mountpoint not working for will-msg. 2022-11-21 21:41:00 +08:00
zhongwencool
966e6ddeeb
Merge pull request #9363 from zhongwencool/statsd-update-api
refactor: emqx_statsd hot update
2022-11-21 17:26:26 +08:00
zhongwencool
0dbeab88a2
chore: update emqx_statsd.app.src descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-21 14:38:59 +08:00
Zhongwen Deng
1845e472e0 fix: create trace sometime failed by end_at time has already passed 2022-11-21 09:54:36 +08:00
zhongwencool
4ed0e9e2a5
Merge branch 'master' into statsd-update-api 2022-11-21 09:31:05 +08:00
Zaiming (Stone) Shi
458d23ebc4 chore: bump version to v5.0.0-beta.5 2022-11-20 09:11:53 +01:00
Zaiming (Stone) Shi
83fe35b148 Merge remote-tracking branch 'origin/dev/ee5.0' into 1116-sync-v5.0.10-to-ee50 2022-11-18 19:23:31 +01:00
Zhongwen Deng
65820eb943 fix: can't get default raw config 2022-11-18 15:07:23 +08:00
Zhongwen Deng
d36de9ac50 refactor: emqx_statsd hot update 2022-11-18 10:43:22 +08:00
lafirest
4ce3d43446
Merge pull request #9386 from lafirest/fix/flaky_banned_case
test: fix flaky banned case
2022-11-17 21:29:45 +08:00
Ilya Averyanov
e301ca09d5
Merge pull request #9373 from savonarola/fix-access-test
chore(acl): fix acl test
2022-11-17 18:06:43 +05:00
firest
7b93b166dc test: fix flaky banned case
since this suite has changed its start method to the `emqx_common_test_helpers:start_apps/1`, the `emqx_banned` server will never stop (its restart type is permanent), thus there is no need to manually start or stops it.
2022-11-17 14:48:25 +08:00
Zaiming (Stone) Shi
e5ced07665 fix: add no_return function spec to make dialyzer happy 2022-11-16 19:07:51 +01:00
Zaiming (Stone) Shi
7305923d12 fix: bridge name parser should not leak atom 2022-11-16 18:25:42 +01:00
Zaiming (Stone) Shi
c940b901f5 chore: fix app versions 2022-11-16 16:26:43 +01:00
Zaiming (Stone) Shi
09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
Stefan Strigler
9cc5920b0d refactor: only PUT, no POST for '/gateways' 2022-11-16 15:58:59 +01:00
Stefan Strigler
2914523117 style: remove unused import 2022-11-16 15:57:16 +01:00
Stefan Strigler
07347e3f9e style: fix typo in comment 2022-11-16 15:57:15 +01:00
Thales Macedo Garitezi
2ae0125562 test(refactor): encode toxiproxy payloads with emqx_json 2022-11-16 10:57:13 -03:00
lafirest
780013d5fe
Merge pull request #9367 from lafirest/feat/kick_when_is_banned
feat(banned): kick session when it is banned by clientid
2022-11-16 21:53:56 +08:00
firest
b1889fa203 chore: bump emqx version && update changes 2022-11-16 18:00:32 +08:00
firest
085074ac41 feat(banned): kick session when it is banned by clientid 2022-11-16 18:00:22 +08:00
Ilya Averyanov
25c32dd2f5 chore(acl): fix acl test 2022-11-15 23:30:19 +03:00
firest
c079760b0a fix(JWT): make the exp to be optional claim 2022-11-15 15:41:01 +08:00
firest
d9e7d36580 chore: bump version && update changes 2022-11-14 09:45:38 +08:00
firest
2f4b2ba405 fix(mgmt_api): Convert only what is needed when parsing subscription information 2022-11-14 09:44:22 +08:00
Stefan Strigler
b5a84b8b0f test: increase timeout creating listeners 2022-11-11 13:34:46 +01:00
Stefan Strigler
12ba831246 fix(emqx_authn_api): return 404 for status of unknown authenticator
This also makes sure we call the same code everytime we access an authenticator.
Moreover we return a 500 in case a remote call fails due to technical issues.
2022-11-11 13:34:44 +01:00
firest
6b0de714bc chore: bump retainer version 2022-11-11 17:51:20 +08:00
firest
4290847b9d feat: filter out messages which the source client is banned when delivering the retained message 2022-11-10 10:21:21 +08:00
Zaiming (Stone) Shi
c19462cb87
Merge pull request #9327 from JimMoen/fix-disconnect-hook-by-takenover
fix(channel): session takenover & discarded maybe call disconnect hook
2022-11-09 08:25:44 +01:00
Zaiming (Stone) Shi
354b94fc2d test: ensure all modules start 2022-11-08 20:59:24 +01:00
Zaiming (Stone) Shi
aa215904a9
Merge branch 'master' into authz-api-fixes 2022-11-08 18:13:15 +01:00
Zaiming (Stone) Shi
30d9143b0e
Merge pull request #9310 from sstrigler/fix-configs-api-for-bad-nodes
fix(emqx_mgmt_api_configs): use 'node' query paramter if given
2022-11-08 18:10:43 +01:00
Zaiming (Stone) Shi
467010e3d3 chore: bump emqx_authz app vsn 2022-11-08 17:40:34 +01:00
Stefan Strigler
0678e05e84 style: fix message returned for 404
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-11-08 17:40:34 +01:00
Stefan Strigler
ba1e19f068 fix(emqx_authz_api_sources): make schema fit to what we send 2022-11-08 17:40:34 +01:00
Stefan Strigler
e0ed0855ff fix(emqx_authz_api_sources): return 'code' in response body for 404 2022-11-08 17:40:34 +01:00
JimMoen
4f00206693
test: different resons for disconnect event 2022-11-08 23:22:58 +08:00
JimMoen
2cd457e07c
fix(channel): session takenover & discarded maybe call disconnect hook 2022-11-08 23:22:58 +08:00
firest
dd7d4224ce feat(delayed): check if the source client is banned when publishing a delayed message 2022-11-08 16:32:24 +08:00
firest
ebaba0c2b1 fix: Revert "feat(banned): clean retained/delayed data when client is banned"
This reverts commit 69701ff578.
2022-11-08 11:36:11 +08:00
Thales Macedo Garitezi
04588148b7 test(influxdb): increase influxdb bridge/connector coverage (ee5.0) 2022-11-07 15:15:49 -03:00
Stefan Strigler
1fb441dd9e test: add tests for 'configs?node' 2022-11-07 14:12:21 +01:00
Stefan Strigler
104b1a63d9 test: pass down Opts in request_api/X 2022-11-07 14:12:21 +01:00
Stefan Strigler
8b10b78bce fix(emqx_mgmt_api_configs): use 'node' query paramter if given
also fix result in error case - be compliant to schema and also return correct
http status code
2022-11-07 14:12:20 +01:00
firest
bd13ae0ad6 fix(acl): Check the real topic in delayed messages
We need to check the true topic of the delayed message correctly
the cheapest way to do this is to extract the true topic from the original topic when doing ACL check
2022-11-04 10:51:52 +08:00
lafirest
1580f02045
Merge pull request #9286 from lafirest/fix/list_to_atom
fix: use list_to_existing_atom to replace some risky list_to_atom
2022-11-04 09:46:58 +08:00
Zaiming (Stone) Shi
e9d31b2f4a
Merge pull request #9268 from sstrigler/EMQX-7817-fix-unexpected-400
Fix unexpected 400
2022-11-03 12:06:38 +01:00
firest
14c8b5ebb1 fix(mgmt): Ensure the CLI will not create useless atom
The log level, the log handler id and the listener id  all of them already exist,
so it's better to avoid the user create a useless atom by mistake input
2022-11-02 16:50:43 +08:00
firest
bb7476d3af fix(listeners): Constraints the atom convert when parsing the esockd access rules
esockd rules only use words 'allow' and 'deny', both are existing,
so it is better to restrict the conversion and print a log when errors
2022-11-02 14:45:47 +08:00
lafirest
5886db08e0
Merge pull request #9279 from lafirest/fix/binary_to_atom
fix: use binary_to_existing_atom to replace some risky binary_to_atom
2022-11-02 10:57:05 +08:00
Thales Macedo Garitezi
b6445cdc14 test: remove unused var warning 2022-11-01 16:53:20 -03:00
Stefan Strigler
612e5acea8 fix: return 404 instead of 400 for unknown gateway 2022-11-01 11:04:29 +01:00
firest
3cc76c0adf fix(coap): Ensure that the retain flag is a boolean value 2022-11-01 17:28:40 +08:00
firest
60492615ba fix(API): Ensure that the node name is known 2022-11-01 17:28:34 +08:00
firest
d0687c7aaa fix(connector): keep connector name type as binary don't convert it to atom
After investigation, it was confirmed that there was no need to convert the connector name to atom
2022-11-01 15:36:31 +08:00
firest
6c52d5de1f fix(bridge): Ensure that the node name is known 2022-11-01 15:36:10 +08:00
firest
73b4ac9f65 fix(bridge): keep bridge name type as binary don't convert it to atom
After investigation, it was confirmed that there was no need to convert the bridge name to atom
2022-11-01 11:24:24 +08:00
Thales Macedo Garitezi
198ddda8bc docs(status_api): add remark about feature introduction versions 2022-10-31 14:10:09 -03:00
Thales Macedo Garitezi
935513d38c docs(fix): remove dynamic example paths from api docs 2022-10-31 14:02:33 -03:00
Thales Macedo Garitezi
12addc2118
Merge pull request #9230 from thalesmg/status-endpoint-alias-50
feat(mgmt): add alias endpoint for health check
2022-10-31 10:22:17 -03:00
Ivan Dyachkov
aeca8833f5
Merge pull request #9250 from id/fix-typo-in-http-error-code
fix: typo in http error code
2022-10-31 10:23:55 +01:00
Zaiming (Stone) Shi
ccff64f2c1 docs: re-group api tags for gateway apps 2022-10-31 09:01:44 +01:00
Zaiming (Stone) Shi
a0cd344752
Merge pull request #9258 from sstrigler/master
Re-UP fix(emqx_gateway_api): don't crash on unknown status
2022-10-28 22:18:10 +02:00
Zaiming (Stone) Shi
f906a5527a
Merge pull request #9228 from zmstone/1025-fix-drop-tuple-header-values
fix(emqx_rule_events): drop tuple-value from message headers
2022-10-28 14:00:57 +02:00
JianBo He
d995842f36
Merge branch 'master' into fix-gw-api-erros 2022-10-28 10:18:21 +08:00
Zhongwen Deng
18235a7125 chore: update emqx_managment bpapi.versions 2022-10-28 09:16:05 +08:00
Zhongwen Deng
af79e652da chore: clear dialyzer warning. 2022-10-28 09:16:05 +08:00
Zhongwen Deng
ea95f792e0 refactor: multicall node_info to improve /node speed 2022-10-28 09:14:33 +08:00
Zaiming (Stone) Shi
d704de4a84 fix(emqx_rule_events): drop tuple-value from message headers
the message headers are fed to a JSON ecnoder which
may crash if the header value is a tuple
2022-10-27 20:31:33 +02:00
Zaiming (Stone) Shi
4cadb86b18 docs: fix typos 2022-10-27 20:09:31 +02:00
Thales Macedo Garitezi
d0ca79fc9e feat(mgmt): add alias endpoint for health check
This allow use to reference `/status` in the API documentation without
manually editing the `swagger.json` file.
2022-10-27 13:20:04 -03:00
Ivan Dyachkov
d4adf8532e fix: typo in http error code 2022-10-27 18:14:46 +02:00
Thales Macedo Garitezi
c72f3a0ae9
Merge pull request #9211 from thalesmg/fix-mgmt-endpoint-status-code-v50
fix(mgmt_api): return 503 when emqx is not running in `/status` (5.0)
2022-10-27 11:11:00 -03:00
Zaiming (Stone) Shi
3e3653ab22
Merge pull request #9246 from zmstone/1027-fix-docs-br-tag
1027 fix docs br tag
2022-10-27 15:00:00 +02:00
zhongwencool
571420d8c6
Merge pull request #9235 from zhongwencool/improve-prometheus
refactor: update emqx_prometheus via emqx_config_handler
2022-10-27 20:12:24 +08:00
Zaiming (Stone) Shi
c157392452 docs: fix self-closing html tag, change </br> to <br/> 2022-10-27 13:57:18 +02:00
Stefan Strigler
ef5687d465 fix(emqx_gateway_api): don't crash on unknown status 2022-10-27 12:35:15 +02:00
Zaiming (Stone) Shi
fd2a3f816e
Merge pull request #9238 from zmstone/1026-fix-docs
docs: fix zh punctuations
2022-10-27 10:39:22 +02:00
Zaiming (Stone) Shi
bb6c3ed4ae docs: fix more zh translation desc 2022-10-27 08:39:58 +02:00
Zaiming (Stone) Shi
a314950be9 docs: fix zh punctuations 2022-10-26 16:19:38 +02:00
Zhongwen Deng
d6dfead31d fix: prometheus ct failed 2022-10-26 22:05:20 +08:00
Zhongwen Deng
3233a40af3 chore: don't delete bpapi when 5.0.x 2022-10-26 21:58:51 +08:00
Zhongwen Deng
97124be63a chore: add next_push_ms to emqx_prometheus:info/0 2022-10-26 21:32:19 +08:00
Zhongwen Deng
1757342e5b chore: make dialyzer happy 2022-10-26 21:32:19 +08:00
Zhongwen Deng
e22f8ff2a8 refactor: sync emqx_prometheus via emqx_config_handler 2022-10-26 21:31:19 +08:00
ieQu1
6c8936467e chore(ekka): Bump version to 0.13.6 2022-10-26 12:08:14 +02:00
Thales Macedo Garitezi
0eca531e64 feat: add retry-after headers to unavailable response 2022-10-25 15:01:05 -03:00
zhongwencool
049f988642
chore: update apps/emqx_conf/src/emqx_conf_schema.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-25 22:07:48 +08:00
Zhongwen Deng
4c5e64d5a3 feat: hibernate after send data to prometheus push_gateway 2022-10-25 12:27:25 +08:00
Zhongwen Deng
8578024637 chore: bump emqx_prometheus to 5.0.3 2022-10-25 11:21:16 +08:00
Zhongwen Deng
6710736243 feat: add prometheus collectors config 2022-10-25 09:41:58 +08:00
Thales Macedo Garitezi
997a262c96 fix(mgmt_api): return 503 when emqx is not running in /status (5.0) 2022-10-24 14:53:41 -03:00
Zaiming (Stone) Shi
93195f7b5b chore: fix introduced_in for new proto APIs 2022-10-24 11:53:51 +02:00
Zaiming (Stone) Shi
637bc886bb chore: bump release version to 5.0.10 2022-10-24 11:49:20 +02:00
Zaiming (Stone) Shi
e3240b52a8 chore: bump app versions 2022-10-24 11:48:17 +02:00
Zaiming (Stone) Shi
508c0e84d0 Merge branch 'release-v50' into master 2022-10-24 11:46:31 +02:00
Zaiming (Stone) Shi
11daaa08e2 chore: bump version numbers to 5.0.9 2022-10-24 09:42:25 +02:00
Zaiming (Stone) Shi
fa5d756ae6
Merge pull request #9186 from HJianBo/more-understanderable-trans
chore(docs): translate Max Awaiting PUBREL confs
2022-10-21 17:29:28 +02:00
Zaiming (Stone) Shi
ca052bd0f4
docs: Update apps/emqx/i18n/emqx_schema_i18n.conf 2022-10-21 17:28:49 +02:00
Zaiming (Stone) Shi
918c011e33
Merge pull request #9198 from lafirest/test/rmv_unused_test_case
test(shared_sub): remove redundant test case
2022-10-21 12:36:52 +02:00
ieQu1
9d650a69b8 fix(gen_rpc): Fix Chinese translation 2022-10-21 10:25:22 +02:00
JianBo He
0f03449b43
chore: improve max_awating_rel_timeout conf docs
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-10-21 16:08:09 +08:00
JianBo He
49dd25cb14 chore: make spellcheck happy 2022-10-21 14:38:46 +08:00
firest
1d564ab8d5 test(shared_sub): remove redundant test case 2022-10-21 14:37:46 +08:00
Zaiming (Stone) Shi
0ca4f30a34
Merge pull request #9193 from zmstone/1020-chore-upgrade-gun-1.3.9
1020 chore upgrade gun 1.3.9
2022-10-21 08:13:21 +02:00
JianBo He
6d232fda5c chore(i18n): improve the max_awaiting_rel desc 2022-10-21 10:27:20 +08:00
JianBo He
72a228c521
chore: update apps/emqx/i18n/emqx_schema_i18n.conf
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-10-21 09:53:31 +08:00
Zaiming (Stone) Shi
d1332b72e7 feat(api/publish): return detailed publish results
Prior to this change, the publish API returns 200 in most of
the cases.
This change provides more insights to the publish result.

For single message publish endpoint (`publish/`):

HTTP error codes are:

200: Everything is OK
202: No subscriber for the topic
400: When mesage is invalid message.
     e.g. bad topic name or QoS out of range.
503: Failed to dispatch the message. e.g. during EMQX restart.

The response body is a JSON object with two fields
`message_id`, and `publish_result`.
The `message_id` is a globally unique ID for tracing.
`publish_result` is `"OK"` when the message is delivered
to at least one subscriber.
Otherwise `"no_subscriber"`.
`publish_result` may also be some other informative
message to hint the failure result, the content of which
may change in the future.

For `publish/bulk` endpoint:

200: When all message in the bulk are published OK
202: If at least one message in the bulk had `"no_subscriber"` result
400: When mesage is invalid message. e.g. bad topic name or
     QoS out of range.
503: When there is at least one message failed at dispatch.

The reply body is a list of JSON objects having the same layout
as for hte `publish` endpoint.
2022-10-20 20:03:27 +02:00
Zaiming (Stone) Shi
b3ffe89f35 test: assert message receive pid is in the expected pids list 2022-10-20 19:10:45 +02:00
ieQu1
d0120e1edc chore(gen_rpc): Bump version to 3.0.0 2022-10-20 16:32:06 +02:00
JianBo He
fa020d036f chore(docs): translate Max Awaiting PUBREL confs 2022-10-20 20:14:36 +08:00
Zaiming (Stone) Shi
c7a90d73b2 fix(shared): do not redispatch shared messages for certain shutdown
For takeover, there should be no message re-dispatch because
the messages will be retried by the new session.

For kick, messages should not be re-dispatched for security reason.
i.e. if admin has identified that there are malicious messages
stored in persisted sessions, killing the session should not
cause messages to be re-dispatched
2022-10-20 13:51:48 +02:00
lafirest
c0c2657a80
Merge pull request #9139 from lafirest/fix/clean_blocked_user_data
feat(banned): clean retained/delayed data when client is banned
2022-10-20 18:00:48 +08:00
lafirest
0546cd3d1a
Merge pull request #9123 from lafirest/fix/kick_seesion_redispatch
fix(shared_sub): kick session should not cause session message redispatch
2022-10-19 09:47:10 +08:00
Thales Macedo Garitezi
62eeb4b8e8 feat(resource): reset metrics when stopping a resource 2022-10-18 09:32:35 -03:00
firest
7b3c67fbe9 test(shared_sub): ensure snabbkaffe will be stopped 2022-10-18 13:47:57 +08:00
firest
bdaadda479 fix(banned): fix nit code 2022-10-18 13:39:48 +08:00
firest
3f1f244310 fix: fix bpapi versions 2022-10-18 13:39:48 +08:00
firest
b2eed47976 chore: bump retainer version && update CHANGES 2022-10-18 13:36:08 +08:00
firest
69701ff578 feat(banned): clean retained/delayed data when client is banned 2022-10-18 13:35:09 +08:00
Zhongwen Deng
c0ed8b82aa Merge branch 'trace-log-detail-api' of https://github.com/zhongwencool/emqx into trace-log-detail-api 2022-10-17 09:49:55 +08:00
zhongwencool
77a5125366
chore: update apps/emqx_management/src/emqx_mgmt_api_trace.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-17 09:45:00 +08:00
Zhongwen Deng
58b990064c chore: update bpapi.verions 2022-10-17 09:43:17 +08:00
Zhongwen Deng
4d9cae0387 feat: get trace file's detail via /trace/:name/log_detail 2022-10-17 09:43:15 +08:00
zhongwencool
bc0cc80d32
Merge pull request #8924 from zhongwencool/authn-config-check
fix: authentication should be array, not struct
2022-10-17 09:14:05 +08:00
Ivan Dyachkov
f2db35db39 chore: delete unused function clause 2022-10-14 10:46:11 +02:00
zhongwencool
bfc780f95b
Merge branch 'master' into authn-config-check 2022-10-14 16:36:50 +08:00
Ivan Dyachkov
5a8cab46a9 test: update publish api test suite 2022-10-14 10:17:22 +02:00
Zaiming (Stone) Shi
c2f176c1e7 fix(api): publish API only returns message ID 2022-10-14 09:49:46 +02:00
Zhongwen Deng
a02fea0a19 chore: update bpapi.verions 2022-10-14 15:16:09 +08:00
Zhongwen Deng
4579d7fff8 feat: get trace file's detail via /trace/:name/log_detail 2022-10-14 11:38:39 +08:00
Thales Macedo Garitezi
2d01726b22 fix: account calls when resource is not connected as matched 2022-10-13 15:32:04 -03:00
Thales Macedo Garitezi
1b2b629cdd feat: emit telemetry events for all resource worker metrics 2022-10-13 15:32:04 -03:00
JianBo He
56000cbf3e refactor: more rigorous checking of flapping to improve stability of the system
port: https://github.com/emqx/emqx/pull/9045
2022-10-12 10:03:47 +08:00
JianBo He
5a66c8b117
Merge pull request #9082 from HJianBo/update-api-docs
chore(i18n): enrich HTTP API desc
2022-10-12 09:36:11 +08:00
Thales Macedo Garitezi
f0ff32c031 test: fix tests after counter changes 2022-10-11 17:45:48 -03:00
Thales Macedo Garitezi
357e5919ce chore: add copyright disclaimer 2022-10-11 09:51:16 -03:00
Kjell Winblad
57270fb8fc feat: add support for counters and gauges to the Kafka Bridge
This commit adds support for counters and gauges to the Kafka Brige.
The Kafka bridge uses [Wolff](https://github.com/kafka4beam/wolff) for
the  Kafka connection. Wolff does its own batching and does not use the
batching functionality in `emqx_resource_worker` that is used by other
bridge types. Therefore, the counter events have to be generated by
Wolff. We have added
[telemetry](https://github.com/beam-telemetry/telemetry) events to Wolff
that we hook into to change counters and gauges for the Kafka bridge. The
counter called `matched` does not depend on specific functionality of
any bridge type so the updates of this counter is moved higher up in the
call chain then previously so that it also gets updated for Kafka
bridges.
2022-10-10 14:40:57 -03:00
firest
b4eb0f18f9 fix(shared_subs): rename redispatch function name and simply test case 2022-10-10 18:06:55 +08:00
firest
f0769cb765 fix(shared_sub): kick session should not cause session message redispatch 2022-10-10 13:52:09 +08:00
Zaiming (Stone) Shi
63774ba5d3
Merge pull request #9104 from zmstone/1005-fix-shared-sub-dispatch
fix(shared): re-dispatch inflight (QoS1) and mqueue messages
2022-10-09 11:41:30 +02:00
lafirest
d600c870af
Merge pull request #9060 from lafirest/fix/delayed_pub
fix(delayed): Improve time precision of delayed messages
2022-10-09 10:39:31 +08:00
Zaiming (Stone) Shi
1c29e2806a test(shared): add a test case to ensure shared dispatch retry
to ensure retry will not enter a dead loop
2022-10-05 22:33:49 +02:00
Zaiming (Stone) Shi
e8279a02ef fix(shared): re-dispatch inflight (QoS1) and mqueue messages
when session terminates (not due to take over)
shared delivery should be re-dispatched to other members
in the group
2022-10-05 22:33:48 +02:00
Zaiming (Stone) Shi
abb941d161 docs: remove port 8081
port 8081 is the management API in 4.x
in 5.0 api port is 18083 (same as for serving the dashboard)
2022-10-05 17:15:19 +02:00
JianBo He
d43b680f14 chore: add comments to explain/status cant be found in swagger docs 2022-10-01 09:40:27 +08:00
JianBo He
7d7b05ae4e chore: update app.src 2022-09-30 23:32:23 +08:00
JianBo He
93d3fec73f chore(i18n): correct tags name 2022-09-30 23:14:19 +08:00
JianBo He
6589a66710 Merge branch 'update-api-docs' of github.com:HJianBo/emqx into update-api-docs 2022-09-30 23:05:07 +08:00
JianBo He
a84c6f938c chore(swagger): caption tags name 2022-09-30 23:04:26 +08:00
JianBo He
9c6c13789e
chore: update apps/emqx_gateway/i18n/emqx_gateway_api_authn_i18n.conf
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-09-30 23:03:01 +08:00
JianBo He
8292572da6
chore: apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-09-30 23:02:28 +08:00
JianBo He
d17c473dc2 chore(i18n): fix the bad desc for statsd 2022-09-30 18:57:08 +08:00
JianBo He
5b219deb4a Merge remote-tracking branch 'zibo/chore/api-desc' into update-api-docs 2022-09-30 18:48:05 +08:00
zhouzb
0975bf21a9 docs: improve api desc for statsd 2022-09-30 17:55:12 +08:00
JianBo He
5fa1e63392 chore(gw): update HTTP API docs for gateway 2022-09-30 17:44:36 +08:00
zhouzb
f08982be93 chore: improve api desc for alarms 2022-09-30 15:34:49 +08:00
zhouzb
d1a15f1a43 chore: improve api descs for banned 2022-09-30 15:05:01 +08:00
Zaiming (Stone) Shi
242a69359c
Merge pull request #9047 from HJianBo/remove-colon-port
Improve the `ip_port()` definition and `bind` print format
2022-09-29 05:56:50 +02:00
JianBo He
834910b6f6 chore: update app.src 2022-09-27 17:24:44 +08:00
JianBo He
39ad172377 chore: replace ip_port() wuth host_port() for all connectors 2022-09-27 15:19:42 +08:00
JianBo He
6581911d5c Merge remote-tracking branch 'stone/0922-upgrade-ip-port-schema' into remove-colon-port 2022-09-27 15:08:27 +08:00
Zaiming (Stone) Shi
00e4b4da5a fix(schema): support hostname.domain:port for mqtt bridge 2022-09-27 09:02:49 +02:00
firest
56816559d9 chore: bump emqx_modules && update CHANGES 2022-09-27 13:39:25 +08:00
firest
6836a502ac fix(delayed): Improve time precision of delayed messages
Use milliseconds internally in emqx_delayed to store the publish time, improving precision
2022-09-27 13:24:54 +08:00
JianBo He
607f68bab1 chore(schema): don't automaticly add ipv4 address if configured as
`:1883`
2022-09-27 13:01:39 +08:00
JianBo He
03eaa07c02 chore: add more comments for bind display perference 2022-09-27 12:51:00 +08:00
Thales Macedo Garitezi
129f09f88b chore: remove extra information from denied lwt log 2022-09-26 15:23:59 -03:00
Shawn
19e3f5919e chore: release e5.0.0-beta.4 2022-09-26 19:54:01 +08:00
Shawn
dfe14be8b2 chore: bump app vsns 2022-09-26 18:23:28 +08:00
JianBo He
c9904e78aa chore: remove colon port in HTTP-API and CLI
In the https://github.com/emqx/emqx/pull/8571, we add a colon before the
port. But it was not popular, so we removed ta in this PR
2022-09-26 17:30:54 +08:00
Shawn
4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
Zaiming (Stone) Shi
f6ac4c3a76
Merge pull request #8798 from zmstone/0815-feat-add-kafka-connector
feat: Add Kafka connector
2022-09-24 22:57:50 +02:00
Shawn
d24441b204 fix(bridges): some issues found in code review 2022-09-23 18:32:39 +08:00
Zaiming (Stone) Shi
7b601bf970 chore: delete bad parse_bridge function clause 2022-09-23 11:53:02 +02:00
JimMoen
2984397e73 chore: apps vsn bump 2022-09-23 17:09:15 +08:00
JimMoen
fc3fdfb994 fix(build): apply PR#8956 changes 2022-09-23 17:09:10 +08:00
Kjell Winblad
adc67b165b test: test cases for Kafka bridge REST API 2022-09-23 10:09:07 +02:00
JimMoen
85835256f1 Merge tag 'v5.0.8' into merge-release-v5.0.8-into-master 2022-09-23 16:06:44 +08:00
Zaiming (Stone) Shi
516d60c7da build: fix deps consistency check 2022-09-23 09:00:17 +02:00
firest
5ef1a978bd chore: bump slow subs version && update CHANGES 2022-09-22 17:59:11 +08:00
firest
89af9c4a5f fix(slow_subs): fix timestamp unit error and update config not work
1. The unit of `deliver_begin_at` is incorrectly used the `seconds`, the resulting is incorrect when `stats_type` is `internal` or `response`
2. The config update doesn't actually take effect, the `load` function always used the old config
2022-09-22 17:57:51 +08:00
Kjell Winblad
9ea0147a8c feat(rule engine jq function): config for changing implementation
This commit adds a rule engine configuration option for changing the
implementation module used for the rule engine function jq. The two
options are `jq_port` (uses Erlang port programs to interact with jq)
and `jq_nif` (uses an Erlang NIF library to interact with jq).

Thanks to @terry-xiaoyu (Xinyu Liu <506895667@qq.com>) for Chinese
translations
2022-09-22 09:02:30 +02:00
JimMoen
6d37fc8dcb
Merge pull request #9012 from JimMoen/rm-influxdb-udp
Hide influxdb udp bridge.
2022-09-22 10:33:05 +08:00
Shawn
b325633390 refactor(resource): resume from queue/inflight-window with async-sending and batching 2022-09-21 22:58:47 +08:00
Ilya Averyanov
c11afc357e fix(auth): use empty strings for absent placeholder values 2022-09-20 15:20:55 +03:00
zhongwencool
8c718d891f
Merge pull request #9002 from zhongwencool/fix-listener-crash
fix: /listeners API crash when there are nodes still in initial conf
2022-09-20 15:25:03 +08:00
JimMoen
6788881642 fix: hide influxdb udp config 2022-09-20 14:46:59 +08:00
Zhongwen Deng
2551c51a8c fix: ct failed 2022-09-20 11:37:49 +08:00
ieQu1
62957b298b chore(ekka): Bump version to 0.13.5 2022-09-19 18:21:32 +02:00
Zhongwen Deng
0241185225 chore: Add test coverage for listeners API 2022-09-19 18:25:25 +08:00
Zhongwen Deng
386110ae1e fix: /listeners API crash when some nodes still in init configuration 2022-09-19 15:24:36 +08:00
Xinyu Liu
cc327629c3
Merge pull request #8992 from terry-xiaoyu/fast_resume_from_inflight_full
Fast resume from inflight full
2022-09-18 17:49:04 +08:00
Thales Macedo Garitezi
c20ad3733a fix: check for authorization on topic before publishing last will testament
fixes #8978

Without checking for authorization, a client can, on abnormal
termination, publish a message to any topic, including `$SYS` ones.
2022-09-16 17:31:22 -03:00
Thales Macedo Garitezi
dca522d7d3 test: add tests for publishing lwt when deny_action is disconnect 2022-09-16 15:11:54 -03:00
Thales Macedo Garitezi
87ab2e3a2d fix: check conn state before sending will message 2022-09-16 15:11:54 -03:00
Shawn
9aa7e826cb refactor(resource): fast resume resource worker if inflight msgs are ACKed 2022-09-17 00:34:30 +08:00
zhouzb
ba37ab4938 chore: bump vsn to 5.0.8 2022-09-16 19:32:17 +08:00
Shawn
8307f04c2e refactor(resource): save inflight size into the ETS table 2022-09-16 16:52:08 +08:00
JimMoen
a660004fa4 fix(bridge): mqtt bridge client info username & password
for non configured `username` and `password`, default values `<<>>` should be
used. emqtt needs the values.
2022-09-16 15:09:51 +08:00
JimMoen
0336b935a0
Merge pull request #8901 from JimMoen/fix-bridge-api
- for connectors using ecpool, parse connect error `Reason` when start pool failed.
- Refine InfluxDB bridge desc.
2022-09-16 10:22:06 +08:00
zhongwencool
5056cbebf4 chore: update apps/emqx_authn/src/emqx_authn_app.erl
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-09-16 09:45:37 +08:00
Zhongwen Deng
6bd72fe5a1 fix: check authn's mechanism field 2022-09-16 09:45:37 +08:00
Zhongwen Deng
49829caaa0 fix: check authn(lazy type) config when boot 2022-09-16 09:45:36 +08:00
Zhongwen Deng
0b07561e9b fix: ensure authentication is array, not struct 2022-09-16 09:45:36 +08:00
firest
14b5977996 feat(authz): Support cert_common_name and cert_subject in Authz 2022-09-15 18:02:54 +08:00
zhouzb
8054144357 chore: bump vsn 2022-09-15 10:20:25 +08:00
Shawn
d5d3972ff5 chore: add test cases for MQTT Bridge reconnecting 2022-09-15 10:19:33 +08:00
JimMoen
0390a5e547 fix(bridge): mysql bridge error case 2022-09-15 09:36:52 +08:00
Xinyu Liu
d9c9a1dec3
Merge pull request #8958 from JimMoen/fix-ssl-drop-invalid-certs
fix(bridge/authz/exhook): no need to drop invalid certs
2022-09-15 09:01:08 +08:00
Shawn
4e211c12d3 fix(mqtt_bridge): return value of sending messages was discarded 2022-09-15 08:57:01 +08:00
JianBo He
8845da130e
Merge pull request #8957 from HJianBo/strip-double-quote
chore: support strip double quote in authn/authz
2022-09-14 17:35:41 +08:00
lafirest
9ffbff11c2
Merge pull request #8956 from lafirest/fix/redis_authn
fix(authn_redis): Add new clause for non-existent key check
2022-09-14 17:05:34 +08:00
firest
8590fef829 fix(authn_redis): Avoid duplicating check for non-existent keys 2022-09-14 16:30:59 +08:00
JianBo He
a461375b30 chore: support strip double quote in authn/authz
more compatibility for https://github.com/emqx/emqx/pull/8827
2022-09-14 15:25:31 +08:00
Shawn
1c03c236f5 fix(mqtt_bridge): handle send_to_remote in idle state 2022-09-14 15:19:30 +08:00
Shawn
f41adb0997 refactor: change some default values of resource_opts 2022-09-14 15:18:07 +08:00
firest
62fd955a0e fix(authn_redis): make dialyzer happy 2022-09-14 14:16:43 +08:00
JimMoen
f018b8ab49 fix(bridge/authz/exhook): no need to drop invalid certs 2022-09-14 14:08:55 +08:00
firest
9e97760520 fix(authn_redis): Add new clause for non-existent key check
fix #8800
when the key not-existing, redis may return a list that all elements are `undefined`
2022-09-14 11:30:26 +08:00
zhongwencool
53bc6f47e7
Merge pull request #8948 from zhongwencool/deprecated-etc-dir
chore: deprecated etc_dir since 5.0.8
2022-09-14 10:05:10 +08:00
Zaiming (Stone) Shi
0c1595be02 feat: Add Kafka connector 2022-09-13 19:46:56 +02:00
JimMoen
b5bf5d3adb fix: mqtt bridge payload default value 2022-09-13 18:58:01 +08:00
zhouzb
2c7d518c19
Merge pull request #8851 from zhongwencool/denny-update-local-override-conf
feat: deny hot updates to the configuration in local-override.conf
2022-09-13 18:49:51 +08:00
Zhongwen Deng
56c1ac5a82 chore: deprecated etc_dir since 5.0.8 2022-09-13 18:38:36 +08:00
JianBo He
9e07f074bf
Merge pull request #8866 from HJianBo/port-exhook-exproto-bugfixes
fix(exproto): avoid udp client process leaking
2022-09-13 18:29:41 +08:00
Zaiming (Stone) Shi
4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
Shawn
b9ae4ea276 refactor: rename some metrics for emqx_resource 2022-09-13 14:04:25 +08:00
JianBo He
e282e3986f Merge branch 'using-erlang-system-time-5' into release-v5.0.8 2022-09-13 11:22:57 +08:00
JianBo He
522f650096 chore: apply review suggestions 2022-09-13 10:28:53 +08:00
JianBo He
44f8108228 chore: update app vsn 2022-09-13 09:15:50 +08:00
JianBo He
4384cae29e test: fix failed tests 2022-09-13 09:15:50 +08:00
JianBo He
533569ad2a chore: fix app vsn check 2022-09-13 09:15:50 +08:00
JianBo He
fbc2130865 test: add test for idle_timeout parameter 2022-09-13 09:15:28 +08:00
JianBo He
f8614196ac test: ensure udp client keepalive value getting right value 2022-09-13 09:15:28 +08:00
JianBo He
ebb2824e15 test: ensure hooks has unloaded if grpc is blocked 2022-09-13 09:15:28 +08:00
JianBo He
dfc6e34680 fix(exproto): avoid udp client process leaking
porting from v4.x:
- https://github.com/emqx/emqx/pull/8575
- https://github.com/emqx/emqx/pull/8628
- https://github.com/emqx/emqx/pull/8725
2022-09-13 09:15:28 +08:00
JianBo He
a715573c64
Merge branch 'master' into using-erlang-system-time-5 2022-09-13 09:09:06 +08:00
firest
061e3c264b fix(authn_redis): fix that redis authn will deny the unknown users 2022-09-09 15:28:01 +08:00
firest
a770447e75 fix(authn_redis): fix that redis authn will deny the unknown users 2022-09-09 14:53:31 +08:00
firest
5ba31cb192 fix(api): add listener create API from POST /listeners/{type:name} to POST /listeners
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-09 10:46:42 +08:00
firest
9368ae9fa8 test(retainer): add test case for start after retianer is disabled 2022-09-09 10:46:42 +08:00
firest
8768884e2b chore: bump emqx_retainer version && update CHANGES-5.0.md 2022-09-09 10:46:42 +08:00
firest
42e2d00cfa fix(retainer): fix that EMQX can't start when the retainer is disabled 2022-09-09 10:46:41 +08:00
lafirest
de06d1c539
Merge pull request #8876 from lafirest/fix/listeners_api
fix(api): add listener create API from `POST /listeners/{type:name…
2022-09-09 10:14:46 +08:00
lafirest
67945515c9
Merge pull request #8911 from lafirest/fix/retainer_start_error
fix(retainer): fix that EMQX can't start when the retainer is disabled
2022-09-09 10:14:34 +08:00
firest
47b35f0c6a fix(api): add listener create API from POST /listeners/{type:name} to POST /listeners
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-08 20:28:40 +08:00
firest
1a835e9bd4 test(retainer): add test case for start after retianer is disabled 2022-09-08 19:13:02 +08:00
zhongwencool
0e633f87b3
Merge branch 'master' into denny-update-local-override-conf 2022-09-08 17:17:07 +08:00
JianBo He
641763d4d7 chore: update app.src 2022-09-08 16:14:42 +08:00
JianBo He
8521d8dac5 fix(time): replace os:system_time with erlang:system_time
Avoid the problem of inaccurate timers caused by mixing erlang:system_time/0-1
and os:system_time/0-1
2022-09-08 16:13:05 +08:00
JianBo He
9f6fb4f1ce
Merge branch 'master' into fix-coap-topic 2022-09-07 17:48:44 +08:00
Zaiming (Stone) Shi
81ec4c4403
Merge pull request #8906 from zmstone/merge-master-to-ee50-a
Merge master to ee50
2022-09-07 11:19:41 +02:00
Shawn
2b33ca6d49 fix: no error log print if insert bool values into mysql 2022-09-07 16:00:09 +08:00
firest
a526c39ff5 chore: bump emqx_retainer version && update CHANGES-5.0.md 2022-09-07 14:49:33 +08:00
firest
de36b77261 fix(retainer): fix that EMQX can't start when the retainer is disabled 2022-09-07 14:48:28 +08:00
zhongwencool
2943cbc261
Merge pull request #8857 from zhongwencool/cluster-rpc-when-node-down
feat: cluster-rpc failed fast when some nodes is down
2022-09-07 14:34:36 +08:00
Zaiming (Stone) Shi
c9b6dfd7f9
Merge pull request #8905 from zmstone/0906-warn-default-erlang-cookie
refactor(cookie): Warning message when boot with default Erlang cookie
2022-09-07 08:06:55 +02:00
Zhongwen Deng
33341011d8 chore: improve wait_for_nodes_commit/4 function 2022-09-07 10:19:46 +08:00
zhongwencool
758b1979ab chore: Apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-09-07 10:19:46 +08:00
Zhongwen Deng
1175008a74 feat: cluster-rpc failed fast when some nodes is down 2022-09-07 10:19:46 +08:00
Xinyu Liu
a67484422d
Merge pull request #8902 from terry-xiaoyu/check_dependent_actions
Check dependent actions before removing a data-bridge
2022-09-07 08:54:44 +08:00
Zaiming (Stone) Shi
befc4acced Merge remote-tracking branch 'origin/master' into merge-master-to-ee50-a 2022-09-06 20:31:38 +02:00
Zaiming (Stone) Shi
f785da075b ci: only start required docker for integration tests 2022-09-06 19:25:53 +02:00
Zaiming (Stone) Shi
ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
firest
3f758ca36f fix(tls): fix ciphers cache return ok at the first time call 2022-09-06 16:42:02 +08:00
Zhongwen Deng
499da1ebe0 chore: add emqx_release:edition_longstr() 2022-09-06 15:46:18 +08:00
JianBo He
0caaccaa0f test: add tests for / leading topic 2022-09-06 15:38:32 +08:00
JianBo He
da4efc11c2 chore: log authn-http parsing failed reason 2022-09-06 15:38:32 +08:00
JianBo He
d6b222d1ff test: fix coap authz suite failures 2022-09-06 15:38:32 +08:00
JianBo He
55c1a1868a fix(coap): remove the leading / in assembling publish topic 2022-09-06 15:38:32 +08:00
Shawn
60a90858f8 feat: check dependent actions before removing the bridges 2022-09-06 15:34:23 +08:00
zhongwencool
614be2768f
Merge pull request #8892 from zhongwencool/emqx_vars_override
feat: don't override RUNNER_LOG_DIR env in emqx_vars
2022-09-05 22:46:24 +08:00
Zaiming (Stone) Shi
9408aeb719
Merge pull request #8420 from zmstone/0705-refactor-delete-unused-module
chore: delete unused schema module
2022-09-05 16:33:07 +02:00
Thales Macedo Garitezi
09d640c1b6
Merge pull request #8887 from thalesmg/bugfix-will-msg-not-connected
bugfix: do not publish last will when authentication failed
2022-09-05 10:38:47 -03:00
ieQu1
9dfa82b448 fix(shared_sub): Dispatch shared messages via gen_rpc 2022-09-05 14:06:59 +02:00
Thales Macedo Garitezi
e0fcf07cf9 fix: do not publish last will when authentication failed
fixes #8886
2022-09-05 08:55:47 -03:00
ieQu1
03766d54cc feat(emqx_rpc): call with timeout 2022-09-05 13:38:34 +02:00
ieQu1
c2d03838e2 fix(bpapi): Return undefined for unknown API on the node 2022-09-05 12:29:33 +02:00
Zhongwen Deng
ed4e890db9 chore: bump emqx_conf to 0.1.4 2022-09-05 16:15:31 +08:00
Zhongwen Deng
6de7881569 feat: remove node.etc_dir config 2022-09-05 16:11:11 +08:00
Zhongwen Deng
d73f22181d chore: fix dialyzer warning. 2022-09-05 15:02:50 +08:00
Zhongwen Deng
57cc880977 chore: change community to opensource 2022-09-05 14:27:47 +08:00
Zhongwen Deng
d447659365 feat: add edition info to /nodes api 2022-09-05 11:29:49 +08:00
JimMoen
d4785553b9
Merge pull request #8872 from JimMoen/fix-mqtt-bridge-fields
Fix mqtt bridge fields.
 - Show ssl file path in Dashboard.
 - MQTT bridge `payload` field not required.
merge `v5.0.7` into `master`.
2022-09-05 09:46:45 +08:00
Shawn
c695e67e18 chore: release e5.0.0-beta.3 2022-09-03 12:27:20 +08:00
Xinyu Liu
23b6ff399d
Merge pull request #8844 from thalesmg/mongodb-bridge
feat: add mongodb bridge (e5.0)
2022-09-03 12:27:01 +08:00
Xinyu Liu
7fed4faac3
Merge pull request #8859 from terry-xiaoyu/refactor_counters_for_resources
Some improvements and bug fixes to emqx_resources
2022-09-03 12:16:49 +08:00
JimMoen
d533e35df0 chore: update app vsn 2022-09-02 22:26:21 +08:00
Shawn
26234d38b9 fix: mark the async msg 'queuing' not 'sent.inflight' on recoverable_error 2022-09-02 18:41:43 +08:00
JianBo He
a41461ac93
chore: update apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl 2022-09-02 16:17:25 +08:00
JimMoen
16618131ad fix(bridge): mqtt source/sink bridge use empty payload template 2022-09-02 14:44:38 +08:00
JimMoen
2693fc263d fix(bridge): show file paths for SSL certs in dashboard for bridge 2022-09-02 14:12:03 +08:00
Shawn
83f21b4c65 refactor(resource): remove metrics 'sent.exception' 2022-09-02 12:46:53 +08:00
Shawn
b45f3de8db refactor(resource): rename metrics batched,queued -> batching,queuing 2022-09-02 12:41:14 +08:00
JimMoen
74659bb864 fix(bridge): rm mqtt bridge default username and password 2022-09-02 10:43:32 +08:00
JimMoen
1d70e0b0ec Merge tag 'v5.0.7' into fix-mqtt-bridge-fields 2022-09-02 10:43:23 +08:00
firest
8b9494cf4b fix(jwt): support non-integer timestamp claims
fix #8825
2022-09-02 10:17:47 +08:00
lafirest
757cee0d8b
Merge pull request #8780 from HJianBo/authz-ignore-nomatch-rules
fix: exhook client.authorize never be execauted
2022-09-02 10:14:08 +08:00
Thales Macedo Garitezi
275171d217 feat: handle lists of servers in mongo servers config 2022-09-01 14:47:14 -03:00
Thales Macedo Garitezi
3d4afd65df feat: add mongodb bridge (e5.0) 2022-09-01 14:47:14 -03:00
Zaiming (Stone) Shi
8a5a9ca2bf
Merge pull request #8854 from zmstone/0831-chore-merge-main-to-dev-ee50
0831 chore merge main to dev ee50
2022-09-01 11:35:23 +01:00
zhouzb
ee91128cef chore: bump vsn 2022-09-01 15:05:18 +08:00
Shawn
33c9c7d497 fix: incorrect message order when batch is enabled 2022-09-01 14:51:13 +08:00
JianBo He
dda0b4ac8c chore: update emqtt vsn 2022-09-01 12:35:37 +08:00
JianBo He
c1afb34a86 test: fix failed tests 2022-09-01 11:34:31 +08:00
zhongwencool
b54ebacd3e
Merge pull request #8852 from zhongwencool/return-503-when-router-not-ready
fix: return 503 if dashboard's routers not ready
2022-09-01 10:23:58 +08:00
Zhongwen Deng
13c0c79567 chore: bump up emqx_dashboard 2022-09-01 09:39:15 +08:00
JianBo He
a5ac5b6f3a
Merge branch 'dev/ee5.0' into refactor-mqtt-bridge 2022-09-01 09:30:37 +08:00
Zhongwen Deng
7bb592a2e1 fix: default override_to is cluster 2022-09-01 09:25:23 +08:00
Zaiming (Stone) Shi
dac178cbaf chore: ensure version bumps 2022-08-31 17:23:47 +02:00
Zaiming (Stone) Shi
5a3fb4a011 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-08-31 17:11:15 +02:00
firest
05bbadc8c5 chore: bump ahutz version && update CHANGES-5.0.md 2022-08-31 21:15:55 +08:00
firest
63a6cd15c1 test: add emqx_access_control:authorize case for exhook 2022-08-31 21:14:40 +08:00
Shawn
0ef0b68de4 refactor: change '{recoverable_error,Reason}' to '{error,{recoverable_error,Reason}}' 2022-08-31 18:25:00 +08:00
firest
71aaf5c538 fix(authz): fix dialyzer && test case && proper error 2022-08-31 16:49:27 +08:00
Zhongwen Deng
1cb281fbc4 fix: return 503 if dashboard's router not ready 2022-08-31 15:45:54 +08:00
Zhongwen Deng
5718b28eeb feat: Deny hot updates to the configuration in local-override.conf 2022-08-31 14:55:10 +08:00
JianBo He
168f44e45b fix: exhook client.authorize never be execauted
see: https://github.com/emqx/emqx/issues/8779
2022-08-31 14:34:02 +08:00
JianBo He
47648b3874
Merge pull request #8827 from lafirest/fix/sql_placeholder
fix(placeholder): allow placeholders in sql to be wrapped by quotes
2022-08-31 14:13:06 +08:00
firest
ab927c785d chore: bump emqx_plugin_libs version 2022-08-31 11:26:47 +08:00
firest
e001892d04 fix(placeholder): add test case for placeholders wrapped by quotes 2022-08-31 11:22:07 +08:00
Shawn
ba1f5eecd3 fix: update the swagger for new resource metrics 2022-08-31 11:14:36 +08:00
firest
aeb5b2a2ff fix(placeholder): allow placeholders in sql to be wrapped by quotes 2022-08-31 11:03:03 +08:00
firest
1233d3c8df fix(gateway): compatible with the old "/gateway" form API 2022-08-31 10:53:13 +08:00
Shawn
14633eaac8 fix: please the elvis 2022-08-31 09:40:22 +08:00
firest
bc12899ef8 fix(gateway): fix coap test case error 2022-08-31 09:27:37 +08:00
firest
81a86e3202 fix(gateway): fix test case error 2022-08-31 09:27:37 +08:00
firest
527ea23ec8 fix(gateway): change the /gateway API path to plural form 2022-08-31 09:27:37 +08:00
Shawn
ca52b8eb29 fix: start connector-mqtt failed when username/password not provided 2022-08-31 09:18:10 +08:00
Shawn
73e19d84ee feat: use the new metrics to bridge APIs 2022-08-30 23:47:58 +08:00
Shawn
9e50866cd0 fix: rename queue_max_bytes -> max_queue_bytes 2022-08-30 17:18:54 +08:00
zhouzb
0aac916c1a
Merge branch 'release-v5.0.7' into sync-changes-from-506 2022-08-30 15:30:41 +08:00
Shawn
c4106c0d77 fix: resume the resource worker on health check success 2022-08-30 12:28:43 +08:00
Shawn
65dfa63324 fix: update the counters for data bridges 2022-08-30 12:28:01 +08:00
Shawn
262e68f7d2 fix: return error when receive HTTP code other than 2xx 2022-08-30 10:16:02 +08:00
Shawn
b5ad5233a1 fix(mqtt-bridge): username and password defaults to undefined 2022-08-30 10:14:56 +08:00
Shawn
6fde37791c refactor: new metrics for resources 2022-08-30 10:14:10 +08:00
JianBo He
a6eff81163 chore: update emqtt to 1.7.0-rc.1 2022-08-30 09:50:36 +08:00
JianBo He
0aa10702db feat(bridge): support async mode resource options 2022-08-30 09:34:56 +08:00
JianBo He
ca7ad9cc15 chore: refactor mqtt connector 2022-08-30 09:34:56 +08:00
Zaiming (Stone) Shi
d74564a7f0
Merge pull request #8817 from zmstone/0822-fix-changelog
0822 fix changelog
2022-08-29 15:59:00 +01:00
William Yang
7451351c42 fix: quic listener idle_timeout type err 2022-08-29 16:19:19 +02:00
JianBo He
b8003765f8
Merge pull request #8790 from lafirest/fix/exhook_log
fix(exhook): fix the error message of unknown hookpoint
2022-08-27 13:33:51 +08:00
Zaiming (Stone) Shi
2eb078ff3b chore: bump changed app versions 2022-08-26 14:32:28 +02:00
zhouzb
ecb79716ad
Merge branch 'master' into merge-506-to-master 2022-08-26 17:40:26 +08:00
Shawn
1625b8eaeb fix(mysql_bridge): export the query_mode option to the APIs 2022-08-26 17:11:24 +08:00
Shawn
6b0ccfbc43 refactor: rename the error return resource_down -> recoverable_error 2022-08-26 17:11:12 +08:00
firest
611053b6ca chore: bump exhook app version 2022-08-25 16:53:58 +08:00
Shawn
a896aa8b27 fix: incorrect replayq dir for the emqx_resource 2022-08-25 16:06:18 +08:00
Shawn
9327c0f51b fix(mysql_bridge): export the query_mode option to the APIs 2022-08-25 11:38:50 +08:00
Zaiming (Stone) Shi
97856f2e42 fix: allow empty string as ciphers 2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi
9a5dda010e docs: update CHNAGES-5.0.md 2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi
7851a3aefd refactor(ssl): use 'available' for defaults
prior to this change, for TLS versions, 'default's are 'available's
there is no need for such an alias.

now we call available_versions with a specific tag:
tls, dtls, or all
2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi
8717535d32 refactor: populate ciphers list at runtime
Populating ciphers list when checking schema makes the
config file example and the schmea documents quite bloated
2022-08-24 21:02:21 +02:00
Shawn
f75932e49f chore: release e5.0.0-beta.2 2022-08-24 22:28:29 +08:00
firest
9555401ce1 fix(exhook): fix the error message of unknown hookpoint
Now if there is an unknown hookpoint, the error message is actually `{unknown_hookpoint,{error,badarg}}`,
the hookpoint name information is lost
2022-08-24 17:13:17 +08:00
JimMoen
eb21a37145
Merge pull request #8785 from JimMoen/feat-influxdb-config
Remove influxdb connector config layer. See #8773
2022-08-24 10:56:26 +08:00
Shawn
4ac6f12252 refactor: configs and APIs for mysql bridge 2022-08-24 10:08:03 +08:00
JimMoen
ca6533395c feat: influxdb bridge structure fits new style 2022-08-24 09:59:22 +08:00
JimMoen
43c964c87e fix(docs): ee bridge api docs generation
Use try catch. Because function was unexported before called.
2022-08-24 09:52:38 +08:00
Shawn
86577365e4 fix: use gen_statem:cast/3 for async query 2022-08-23 22:41:45 +08:00
JianBo He
97b9d378a5 Merge tag 'v5.0.6' into merge-506-to-master 2022-08-23 09:08:55 +08:00
Shawn
1ff53ee8a9 fix(authz): don't stop emqx_resource app in test cases 2022-08-23 08:57:12 +08:00
ieQu1
ff0c44b67d refactor(emqx_management): Export transactions 2022-08-22 21:29:13 +02:00
ieQu1
5978e4c8be refactor(sn_registry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1
5aceeff7b4 refactor(cm_registry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1
f323e3cb79 refactor(emqx_conf): Extract transactions 2022-08-22 19:52:37 +02:00
ieQu1
6f4d0e2ed5 refactor(retainer_mnesia): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1
fa12c66ad9 refactor(psk): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1
d906715e0a refactor(telemetry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1
9449e3cb32 refactor(auth_mnesia): Export transaction funs 2022-08-22 19:52:37 +02:00
Shawn
45352206a3 fix(auth): remove emqx_connector from testcases of authz/authn 2022-08-22 20:20:45 +08:00
Shawn
55c18c0b5f fix(bridges): update the test cases for new config structure 2022-08-22 18:24:59 +08:00
Shawn
aea8c77b49 refactor: new config structure for mqtt bridge 2022-08-22 18:24:59 +08:00
lafirest
4ad04b646f
Merge pull request #8759 from lafirest/feat/mysql_batch_query
feat(bridge): add `on_batch_query` on emqx_connector_mysql
2022-08-22 17:22:39 +08:00
JianBo He
46f743d16b chore: bump emqx vsn 2022-08-22 14:37:16 +08:00
JianBo He
ad96bb551e chore: update changes and release vsn 2022-08-22 12:30:42 +08:00
JimMoen
f0c2b53868 fix(bpapi): make bpapi static_checks happy 2022-08-22 10:51:44 +08:00
JimMoen
62ecf6f545 fix(resource): keep auto_retry in disconnected state
Automatic retries should be maintained even in `disconnected` state without any state transition.
2022-08-22 02:52:06 +08:00
JimMoen
7c4ea38c06 fix(resource): make some resource opts internal
Resource options `start_after_created` and `start_timeout` are internal opts.
Not provided to users anymore.
2022-08-22 02:22:57 +08:00
JimMoen
2648362c62 fix(bridge): password for bridge/db format as password for dashboard 2022-08-19 15:54:19 +08:00
JimMoen
06363e63d9 fix(influxdb): connector use a fallbacke pool_size for influxdb client 2022-08-19 15:54:19 +08:00
JianBo He
3874f14f8c chore: rename bootstrap_user to bootstrap_users 2022-08-19 14:51:41 +08:00
JianBo He
d1c676a1c5 chore: bump vsn 2022-08-19 14:08:09 +08:00
firest
8d8afd1688 feat(bridge): add on_batch_query on emqx_connector_mysql 2022-08-19 13:16:22 +08:00
JianBo He
7ffdd95aa3 chore: bind option support :1883 style config
see: https://github.com/emqx/emqx/pull/8571
2022-08-19 11:12:17 +08:00
ieQu1
c89de81e19 refactor(bpapi): Export transactions 2022-08-18 12:27:13 +02:00
ieQu1
7292095951 test(router_helper): Refactoring 2022-08-18 12:27:13 +02:00
ieQu1
4fa06fcd63 refactor(exclusive_sub): Export transaction 2022-08-18 12:27:13 +02:00
ieQu1
b962a71da2 refactor(shared_sub): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1
cd3aa476c6 refactor(router_helper): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1
8ef1c2db26 refactor(banned): Export transactions 2022-08-18 12:20:42 +02:00
ieQu1
5c260dfbd0 refactor(alarm): Export transaction functions 2022-08-18 12:20:42 +02:00
ieQu1
cdde392d6e refactor(emqx_trace): Extract transactions to DL module 2022-08-18 12:02:54 +02:00
zhongwencool
3906819dda
Merge pull request #8753 from zhongwencool/swagger-tag-titlecase
chore: swagger tag titlecase
2022-08-18 11:46:04 +08:00
Zhongwen Deng
bfa6acd350 chore: bump emqx_modules to 5.0.3 2022-08-17 23:59:59 +08:00
Zhongwen Deng
49b95b0aa8 chore: improve swagger tags 2022-08-17 23:32:19 +08:00
ieQu1
b8a7ab9ad3 fix(connector_psql): Wrap password in a fun 2022-08-17 14:31:12 +02:00
Zaiming (Stone) Shi
050f68cf5d test: allow missing schema for app in tests 2022-08-17 08:33:17 +02:00
Zaiming (Stone) Shi
256cdd50ff chore: delete unused schema module 2022-08-17 08:33:15 +02:00
Thales Macedo Garitezi
f0436a2bd6 chore: bump ekka -> 0.13.4
ZSTD fix for RocksDB.

https://github.com/emqx/mnesia_rocksdb/pull/6
2022-08-16 09:48:32 -03:00
firest
66f06c3ab7 fix(dashboard): change bootstrap_user to bootstrap_user_file 2022-08-16 14:15:10 +08:00
Xinyu Liu
9050aa6468
Merge pull request #8731 from emqx/copy-of-master
merge master into ee5.0
2022-08-16 10:49:10 +08:00
Shawn
9e35032d78 fix: make resume_interval defaults to health_check_interval 2022-08-16 10:09:02 +08:00
Shawn
de3a325953 fix: revert the changes in connector mysql 2022-08-16 09:06:13 +08:00
Xinyu Liu
84a8f8b218
Merge branch 'dev/ee5.0' into copy-of-master 2022-08-15 21:46:42 +08:00
Xinyu Liu
2898966439
Merge branch 'dev/ee5.0' into resource_opts 2022-08-15 21:43:22 +08:00
Shawn
19d85d485b refactor(resource): add resource_opts level into config structure 2022-08-15 21:40:10 +08:00
firest
48a761c406 fix(mgmt): fix $queue topic name error in this API return 2022-08-15 17:26:25 +08:00
Shawn
d1de262f31 fix: inc 'actions.failed' if bridge query failed 2022-08-15 17:21:14 +08:00
Shawn
665ef4142d fix: unify the health check interval 2022-08-15 17:21:14 +08:00
lafirest
fba3ed6a12
Merge pull request #8721 from lafirest/fix/clients_api
fix(mgmt): remove the `will_msg` field from the client API
2022-08-15 15:31:56 +08:00
Zaiming (Stone) Shi
ecbf867551 refactor: rename Field to Struct for ref type create function
Hocon type reference is actually a child-struct's struct name
not necessarily the same name as the parent-sutrct's field name

This commit changes the variable name for more clarity
2022-08-15 09:17:44 +02:00
JimMoen
68946f1f6c feat: influxdb support async/batch_async query 2022-08-15 14:02:17 +08:00
JimMoen
b01ae8ece6 chore: refine influxdb bridge/connector i18n 2022-08-15 14:00:14 +08:00
firest
dfa63ff3b1 fix(mgmt): remove the will_msg field from the client API 2022-08-15 10:22:18 +08:00
Shawn
b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Shawn
18d710e932 chore: release v5.0.5-beta.1 2022-08-12 18:37:27 +08:00
Xinyu Liu
4318159b85
Merge pull request #8673 from qzhuyan/dev/william/quic-listener-config-timeouts
feat(quic): more listener options
2022-08-12 18:30:53 +08:00
Xinyu Liu
fc6d79c2da
fix: typos in emqx_schema_i18n.conf 2022-08-12 18:30:34 +08:00
JimMoen
594d071c05 feat(influxdb): add async callback 2022-08-12 18:26:47 +08:00
Xinyu Liu
43ed926d67
Merge pull request #8707 from lafirest/fix/bootstrap_user
fix(dashboard): add bootstrap user tag && return error when adding bo…
2022-08-12 18:18:57 +08:00
Shawn
3cb79e811f fix: remove the extra fields max_retries 2022-08-12 18:05:03 +08:00
JimMoen
dc7953c3e1 chore: refine async query variable name 2022-08-12 17:28:56 +08:00
firest
d4bf658e38 fix(dashboard): add bootstrap user tag && return error when adding bootstrap user fails 2022-08-12 16:40:36 +08:00
JimMoen
fa5e8f1422 chore: refine i18n label 2022-08-12 16:39:03 +08:00
JimMoen
3678673124 fix: schema default value using raw type before convert 2022-08-12 16:38:46 +08:00
Xinyu Liu
00966df18f
Merge pull request #8704 from terry-xiaoyu/webhook_async_conf
feat: add more resource creation opts
2022-08-12 14:18:50 +08:00
Shawn
0cdf4b47f1 feat: add more resource creation opts 2022-08-12 13:47:45 +08:00
Xinyu Liu
8b0da83a31
Merge pull request #8701 from HJianBo/fix-gw-test
test(gw): fix gateway flaky tests
2022-08-12 11:21:56 +08:00
lafirest
c7f6517aee
Merge pull request #8667 from lafirest/feat/bootstrap_user
feat(dashboard): add bootstrap files to initialize user accounts
2022-08-12 10:43:42 +08:00
JianBo He
907d9a166a test(gw): fix gateway flaky tests 2022-08-12 10:20:15 +08:00
lafirest
404e79b7d7
Merge pull request #8687 from lafirest/fix/bridge_mysql
fix(bridge): replace prepare_statement by sql_template
2022-08-12 10:12:34 +08:00
JimMoen
449239d0f4 fix: count all msg size of event_message for mqtt bridge 2022-08-12 01:29:56 +08:00
Shawn
bed10b097f chore: release e5.0.0-beta.1 2022-08-12 00:27:13 +08:00
Shawn
c3c4ed02b4 fix: bump emqx_dashboard to 5.0.4 2022-08-12 00:24:58 +08:00
Xinyu Liu
a05cc20db7
Merge pull request #8693 from JimMoen/feat-influxdb-batch-query
Feat influxdb batch query
2022-08-12 00:22:23 +08:00
JimMoen
83746daad5 fix: update bridge config badmap error 2022-08-11 23:15:53 +08:00
JimMoen
458dab53c5 fix: undefined_functions dialyzer warning 2022-08-11 22:55:22 +08:00
JimMoen
ed796acb95 fix: fetch resource options after reboot 2022-08-11 22:11:28 +08:00
Shawn
88388b0c54 feat: http connector support async sending 2022-08-11 21:44:22 +08:00
JimMoen
3a76a50382 fix: syntax error and compile error 2022-08-11 20:58:43 +08:00
Shawn
2872f0b668 fix(bridges): support create resources with options 2022-08-11 19:11:44 +08:00
JimMoen
0f6c371760 feat(influxdb): influxdb connector add on_batch_query/3 callback 2022-08-11 18:12:41 +08:00
firest
d55c9341eb fix(dashboard): fix nit codes 2022-08-11 17:42:22 +08:00
JimMoen
22a4ca311c feat(resource): resource batch/async/queue config schema 2022-08-11 16:59:18 +08:00
firest
7581082fcb fix(bridge): replace prepare_statement by sql_template 2022-08-11 13:22:16 +08:00
JimMoen
223b84017e fix(influxdb): api schema write_syntax using raw type string() 2022-08-11 11:36:08 +08:00
Xinyu Liu
03b004e0ce
Merge pull request #8685 from terry-xiaoyu/resource_inflight_window
feat: add inflight window to emqx_resource
2022-08-11 09:22:52 +08:00
Shawn
6203a01320 feat: add inflight window to emqx_resource 2022-08-11 08:36:35 +08:00
Ilya Averyanov
64aa30ec63 chore(authn/authz): better handling of placeholder interpolation errors 2022-08-10 18:22:37 +03:00
William Yang
7ca8550a5d feat(quic): more listener options 2022-08-10 12:37:12 +02:00
Zhongwen Deng
07933e3638 feat: translate map to object in schema.json 2022-08-10 17:45:34 +08:00
Zaiming (Stone) Shi
4994731d3e chore: update emqx_connector app vsn 2022-08-10 09:50:12 +02:00
Zaiming (Stone) Shi
18614ad291 fix(connector): add back deleted fields as deprecated
max_retries and retry_interval were removed from 5.0.4 wihtout
backward compatibliity.
This commit adds the fields back as deprecated
2022-08-10 09:50:12 +02:00
Zaiming (Stone) Shi
f7016e53a4 chore: delete hocon from emqx_prometheus application deps 2022-08-09 20:19:31 +02:00
Shawn
82550a585a fix: add test cases for query async 2022-08-10 00:45:34 +08:00
Shawn
efd6c56dd9 fix: test cases for batch query sync 2022-08-10 00:45:34 +08:00
Shawn
145ff66a9a fix: issues found by dialyzer and elvis 2022-08-10 00:45:26 +08:00
Shawn
35fe70b887 feat: support aysnc callback to connector modules 2022-08-10 00:34:35 +08:00
Shawn
f1419d52f1 fix(resource): remove resource at the end of each test 2022-08-10 00:34:35 +08:00
Shawn
a2afdeeb48 feat: add test cases for batching query 2022-08-10 00:34:35 +08:00
Shawn
8f0954837b fix: update test cases for emqx_connector 2022-08-10 00:34:35 +08:00
Shawn
75adba0781 fix: increase resource metrics using the resource id 2022-08-10 00:34:35 +08:00
Shawn
d3950b9534 fix(resource): make option 'queue_enabled' disabled by default 2022-08-10 00:34:35 +08:00
Shawn
0377d3cf61 fix: update existing testcases for new emqx_resource 2022-08-10 00:34:35 +08:00
Shawn
2fb42e4d37 refactor: create emqx_resource_worker_sup for resource workers 2022-08-10 00:34:35 +08:00
Shawn
0087b7c960 fix: remove the extra file replay.erl 2022-08-10 00:34:35 +08:00
Shawn
d8d8d674e4 feat(resource): start emqx_resource_worker in pools 2022-08-10 00:34:35 +08:00
Shawn
12904d797f feat(resource): first commit for batching/async/caching mechanism 2022-08-10 00:34:35 +08:00
Zaiming (Stone) Shi
6d5ad97528
Merge pull request #8670 from zmstone/0809-5.0-improve-lwm2m-logging
fix(lwm2m): better logging for unknown object IDs
2022-08-09 16:24:20 +01:00
Zaiming (Stone) Shi
dd8bcd80cb chore: bump app vsn for emqx_gateway to 0.1.3 2022-08-09 13:30:09 +02:00
William Yang
30f24131e2
Merge pull request #8650 from qzhuyan/fix/william/keep-alive-check
fix: keep alive check
2022-08-09 11:37:12 +02:00
Zaiming (Stone) Shi
13f5c0b6b1 fix(lwm2m): better logging for unknown object IDs
Prior to this change, unknown object IDs would result in a tuple
{error, no_xml_definition}, and this tuple is passed down to xmerl
lib to get XML node data and eventually crash with function_clause.

With this fix, the unknown object ID exception is caught and logged
properly.
2022-08-09 11:26:12 +02:00
Zaiming (Stone) Shi
699489297b
Merge pull request #8462 from fridayy/feat_round_robin_per_node
feat(shared-sub): add round_robin_per_group strategy
2022-08-09 10:03:52 +01:00
firest
463d255c0a fix(dashboard): make dialyzer happy 2022-08-09 16:36:46 +08:00
firest
0f8ebbdf0f feat(dashboard): add bootstrap files to initialize user accounts 2022-08-09 16:02:50 +08:00
firest
dee92bb8b8 fix(mgmt): fix status api test case error 2022-08-09 11:22:48 +08:00
firest
01ba45cc37 fix(mgmt): remove the /api/v5 prefix of status API 2022-08-08 17:34:18 +08:00
JimMoen
2e336fbc01 fix: bridge and connector namespace contains DB name
Contains Detailed DB name for identifier hocon schema refs.
2022-08-07 19:37:44 +08:00
Benjamin Krenn
70cb7768b0
Merge branch 'emqx:master' into feat_round_robin_per_node 2022-08-05 11:12:23 +02:00
Benjamin Krenn
71f31ab5cd feat(shared-sub): add round_robin_per_group strategy
remove flaky tests that provide little value
2022-08-05 11:10:54 +02:00
Thales Macedo Garitezi
e9d7cde0b4
Merge pull request #8638 from thalesmg/license-http-api-50-upload
chore(license): treat license file API as an upload (5.0)
2022-08-04 16:27:55 -03:00
Thales Macedo Garitezi
5bd2875db8
Merge pull request #8637 from thalesmg/esockd-tls-gc
feat: add option to gc after TLS/SSL handshake
2022-08-04 14:18:45 -03:00
Thales Macedo Garitezi
d2e146aeff test: fix flaky gateway tests 2022-08-04 13:16:17 -03:00
Benjamin Krenn
5fa2a2aa44
Merge branch 'emqx:master' into feat_round_robin_per_node 2022-08-04 11:02:51 +02:00
Benjamin Krenn
dec892e867 feat(shared-sub): add round_robin_per_group strategy
add round robin per group strategy that balances load in a more predictable fashion when using no replication
2022-08-04 10:40:50 +02:00
firest
aa6077bdea fix(bridge): remove emqx_ee_connector_mysql 2022-08-04 14:52:16 +08:00
William Yang
01b9115fd8 fix: keep alive check
According to MQTT spec, MQTT Server should check a complete MQTT message
recv in last keep-alive time frame instead of number of received bytes
from the socket.

This commit change to check the recv pkt counter from process dict
instead.

Also it could save some calls to erlang port.
2022-08-03 17:14:19 +02:00
Thales Macedo Garitezi
7f932d64be docs: adjust descriptions
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-08-03 09:38:51 -03:00
Thales Macedo Garitezi
19e101445c feat: add option to gc after TLS/SSL handshake 2022-08-03 09:38:51 -03:00
zhongwencool
8e062df809
Merge pull request #8642 from zhongwencool/fix-node-status
chore: update Running/Stopped to running/stopped
2022-08-03 16:32:01 +08:00
lafirest
11165f4a9c
Merge pull request #8626 from lafirest/fix/connect_event_5
fix(channel): Adjust the timing of the `client.connected` event
2022-08-03 16:01:17 +08:00
Zhongwen Deng
fd7c97735d chore: make sure path is binary 2022-08-03 12:58:20 +08:00
Zhongwen Deng
a19514f000 chore: bump emqx_management to 5.0.3 2022-08-03 12:34:30 +08:00
Zhongwen Deng
4869225395 chore: update Running/Stopped to running/stopped 2022-08-03 12:24:03 +08:00
zhongwencool
c6f879e03b
Merge pull request #8634 from zhongwencool/improve-swagger-router-generate
fix: return 503 instead of crash when dashboard generate router timeout
2022-08-03 10:46:59 +08:00
Zhongwen Deng
8e53a61791 fix: return 503 instead of crash when dashboard generate router timeout 2022-08-02 19:49:06 +08:00
JianBo He
cffaf95d00
chore: update apps/emqx/src/emqx_channel.erl 2022-08-02 17:20:58 +08:00
Thales Macedo Garitezi
4a1ede7e7e test: fix flaky gateway tests 2022-08-01 10:57:34 -03:00
Thales Macedo Garitezi
a78760dbac chore: bump app vsns 2022-08-01 10:57:34 -03:00
firest
78deee6846 fix(channel): Adjust the timing of the client.connected event 2022-08-01 17:35:48 +08:00
JianBo He
14920743ca
Merge pull request #8513 from lafirest/fix/limiter_interface
refactor(limiter): refactor the user interface
2022-08-01 11:02:15 +08:00
DDDHuang
55b9684541 fix: influxdb bridge api available 2022-08-01 10:28:07 +08:00
DDDHuang
01e9e8a0eb feat: add ee influxdb connector & bridge 2022-08-01 10:27:35 +08:00
DDDHuang
3fe76446bc Merge branch 'master' into dev/ee5.0 2022-08-01 10:14:21 +08:00
Thales Macedo Garitezi
a9b176b8bd
Merge pull request #8598 from thalesmg/license-fixes-50
license fixes (5.0)
2022-07-29 13:13:51 -03:00
JianBo He
be679f8128
Merge pull request #8589 from emqx/release-v5.0.4
Merge v5.0.4 into master branch
2022-07-29 08:49:10 +08:00
Thales Macedo Garitezi
8e08f045aa chore(bpapi): add new vsn 2022-07-28 17:59:54 -03:00
Thales Macedo Garitezi
f8a1bd0715 feat(license): copy license file to cluster when updating it 2022-07-28 17:29:59 -03:00
DDDHuang
a4992ef1b5 fix: hstreamdb connector conf & api 2022-07-28 16:47:30 +08:00
JianBo He
5835120d8e chore: relealse v5.0.4 2022-07-28 13:47:41 +08:00
Xinyu Liu
527289090d
Merge pull request #8580 from terry-xiaoyu/webhook_max_retries
fix(webhook): the 'max_retries' opt means request retry times
2022-07-27 17:42:33 +08:00
Shawn
23eeb21b13 fix(webhook): the 'max_retries' opt means request retry times 2022-07-27 17:06:14 +08:00
DDDHuang
9ae7c62656 fix: exs deps & bad suites 2022-07-27 16:24:13 +08:00
zhouzb
9323878442 chore: bump vsn 2022-07-27 16:23:54 +08:00
DDDHuang
be6de4aad0 fix: ee bridge & connector remove app mod 2022-07-27 11:38:45 +08:00
DDDHuang
fa4bc921ac fix: hstream db connector & bridge, TODO: SUITE 2022-07-27 11:38:45 +08:00
DDDHuang
98b36c4681 fix: hstream db connector , TODO: start apps 2022-07-27 11:38:45 +08:00
DDDHuang
f00a7417bb feat: hstream bridge & connector 2022-07-27 11:38:45 +08:00
Thales Macedo Garitezi
b4be9b6fae chore: bump ekka -> 0.13.3
Mainly: https://github.com/emqx/erlang-rocksdb/pull/7
2022-07-26 09:50:14 -03:00
JianBo He
257e310931 chore: ensure the bind output style
e.g:
- Configured as `1883`, printed as `:1883`
- Configured as `0.0.0.0:1883`, printed as `:1883`
- Configured as `127.0.0.1:1883`, printed as `127.0.0.1:1883`
- Configured as `::1:1883`, printed as `[::1]:1883`
- Configured as `[::1]:1883`, printed as `[::1]:1883`
2022-07-26 19:02:04 +08:00
firest
bc716884e0 fix(limiter): fix spellcheck error 2022-07-26 15:16:53 +08:00
firest
bcc78950a9 fix(limiter): fix schema error 2022-07-26 14:33:04 +08:00
JianBo He
38b5882dc8 test(gw): using ip_port in listener tests 2022-07-26 11:40:52 +08:00
JianBo He
53fda85c93 fix: conflicts resolving legacy 2022-07-26 11:10:40 +08:00
JianBo He
bad82b29ce feat(gw): change the listeners api fields 2022-07-26 11:05:04 +08:00
JianBo He
2c71d27a89 feat(listeners): change the GET /listeners api fields 2022-07-26 11:04:33 +08:00
zhouzb
79d6613a18
Merge pull request #8531 from HJianBo/fix-authn-cndn
fix(authn): fix cert_subject and cert_common_name placeholder
2022-07-26 09:09:34 +08:00
Chris Hicks
bc93d5f525
Merge pull request #8567 from emqx/EMQX-6018-v-5-0-4-cli-command-to-verify-config-syntax-against-schema
feat: Added emqx command to check configs
2022-07-25 17:14:42 +02:00
Ilya Averyanov
2f470b8878
Merge pull request #8554 from savonarola/authn-logging
Add more tracing for authentication
2022-07-25 17:43:00 +03:00
Ilya Averyanov
1a236db91b chore(log): add authentication tracing 2022-07-25 17:14:19 +03:00
zhongwencool
80831a7593
Merge pull request #8563 from zhongwencool/titlecase-swagger-tags
chore: make sure swagger's tags always titlecase
2022-07-25 17:45:54 +08:00
zhongwencool
2466881460
chore: Update apps/emqx_authn/src/emqx_authn_user_import_api.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 17:45:38 +08:00
zhongwencool
7261fbaa6b
chore: Update apps/emqx_authn/src/emqx_authn_user_import_api.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 17:45:28 +08:00
JianBo He
9ecb7563b4
Merge branch 'master' into fix-authn-cndn 2022-07-25 17:34:44 +08:00
Chris
24f88679ae feat: Added emqx command to check configs 2022-07-25 11:01:08 +02:00
Zhongwen Deng
02c0755867 fix: dashboard failed test 2022-07-25 16:55:38 +08:00
Zhongwen Deng
a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
zhongwencool
cc63479e69 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:33 +08:00
zhongwencool
087a098d64 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:25 +08:00
Zhongwen Deng
99340e424e chore: bump app.src version 2022-07-25 16:14:03 +08:00
Zhongwen Deng
dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
JianBo He
04da2d080a
Merge branch 'master' into support-listen-ipv6 2022-07-25 14:27:42 +08:00
JianBo He
1c8defeeda chore: make elvis happy 2022-07-25 13:17:54 +08:00
Zhongwen Deng
56417a3130 feat: list rules support for pagination and fuzzy filtering 2022-07-25 09:36:08 +08:00
JianBo He
74c5fd411b chore(schema): trim space in ip_port 2022-07-25 09:33:47 +08:00
JianBo He
e0b33dc258 fix(listener): support listen on ipv6 address 2022-07-25 09:31:16 +08:00
JianBo He
ba1347513e test(authn): test cert_subject/cert_common_name placeholder 2022-07-25 09:28:28 +08:00
JianBo He
f8f4ad3e5b fix(authn): fix cert_subject and cert_common_name placeholder 2022-07-25 09:28:28 +08:00
Thales Macedo Garitezi
343a78b08a feat(persistent_sessions): don't use rocksdb when unavailable 2022-07-22 10:59:41 -03:00
Thales Macedo Garitezi
2e75c35995
Merge pull request #8546 from thalesmg/fix-dashboard-cluster-rate
fix: dashboard monitor crash after badrpc
2022-07-22 09:10:41 -03:00
firest
ce46cb9216 fix(limiter): fix test case error 2022-07-22 18:59:02 +08:00
firest
15c8110af2 fix(limiter): lift the level of the client field 2022-07-22 17:14:24 +08:00
zhongwencool
f0f26b2408 Merge branch 'master' into fix-logger-json-format-config-not-working 2022-07-22 14:59:19 +08:00
JianBo He
b9cd9e51ef
Merge pull request #8530 from HJianBo/fix-exhook-dispatch-seq
fix(exhook): ensuring that exhook dispatches the client events are sequential
2022-07-22 10:43:00 +08:00
Zhongwen Deng
4d5dfe265b fix: logger json formatter's config not working 2022-07-22 09:48:11 +08:00
Thales Macedo Garitezi
be9efcae2e fix: dashboard monitor crash after badrpc
Accumulator becomes unusable after a `badrpc` error.

```
2022-07-21T15:22:17.825688-03:00 [warning] exception: error, line: 116, mfa: minirest_handler:apply_callback/3, path: /monitor_current, reason: {badmap,{badrpc,{'emqx@emqx-17.int.thales',{'emqx@emqx-17.int.thales',timeout}}}}, stacktrace: [{maps,get,[connections,{badrpc,{'emqx@emqx-17.int.thales',{'emqx@emqx-17.int.thales',timeout}}},0],[{file,"maps.erl"},{line,517},{error_info,#{module => erl_stdlib_errors}}]},{emqx_dashboard_monitor,'-merge_cluster_rate/2-fun-0-',3,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl"},{line,259}]},{maps,fold_1,3,[{file,"maps.erl"},{line,410}]},{lists,foldl,3,[{file,"lists.erl"},{line,1267}]},{emqx_dashboard_monitor,current_rate,0,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl"},{line,126}]},{emqx_dashboard_monitor_api,monitor_current,2,[{file,"/emqx/apps/emqx_dashboard/src/emqx_dashboard_monitor_api.erl"},{line,135}]},{minirest_handler,apply_callback,3,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,111}]},{minirest_handler,handle,2,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,44}]},{minirest_handler,init,2,[{file,"/emqx/deps/minirest/src/minirest_handler.erl"},{line,27}]},{cowboy_handler,execute,2,[{file,"/emqx/deps/cowboy/src/cowboy_handler.erl"},{line,41}]},{cowboy_stream_h,execute,3,[{file,"/emqx/deps/cowboy/src/cowboy_stream_h.erl"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,"/emqx/deps/cowboy/src/cowboy_stream_h.erl"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]
```
2022-07-21 15:40:29 -03:00
JianBo He
dbeb28520b chore: bump exhook app vsn 2022-07-21 20:09:23 +08:00
Zhongwen Deng
f080715ce9 fix: ensure /listeners API return all node's status 2022-07-21 15:47:11 +08:00
Zhongwen Deng
116c664df1 feat: add sysmon config handler to reload conf 2022-07-21 12:33:56 +08:00
JianBo He
2566f50c4e fix(exhook): ensuring that exhook dispatches the client events are sequential
porting by: https://github.com/emqx/emqx/pull/8311
2022-07-21 11:01:18 +08:00
Zhongwen Deng
a468f4ee9d chore: bump emqx_gateway to 0.1.2 2022-07-20 17:03:04 +08:00
Zhongwen Deng
a12478225a fix: fix bad swagger format 2022-07-20 16:56:07 +08:00
firest
dbab1bc96a fix(limiter): fix elvis && dialyzer error 2022-07-20 15:00:12 +08:00
firest
d3f965dfe7 refactor(limiter): refactor the user interface 2022-07-20 13:57:31 +08:00
Zaiming (Stone) Shi
53f9b59805
Merge pull request #8408 from zmstone/0704-docs-fix-enable_pipelining-docs
fix: enable_pipelining should not be allowed to be zero
2022-07-19 21:13:29 +01:00
zhongwencool
b1c259191c
Merge pull request #8502 from ieQu1/wait-cluster-rpc-shard
Wait cluster rpc shard
2022-07-19 11:29:02 +08:00
Zhongwen Deng
a05b7bf555 fix: dialyzer warning 2022-07-19 10:07:01 +08:00
ieQu1
f5d63c1555 fix(conf): Wait for the cluster RPC shard 2022-07-18 15:58:32 +02:00
ieQu1
6f00f51457 chore(ekka): Bump version 2022-07-18 15:13:40 +02:00
William Yang
4481ae6ff8 feat(quicer): bump to 0.0.16 2022-07-18 12:08:22 +02:00
Zhongwen Deng
15ebef4468 chore: improve metrics interval desc 2022-07-15 15:23:31 +08:00
Zhongwen Deng
26820ed0c4 chore: remove /configs/listeners, we should use /listeners/ API 2022-07-14 15:23:39 +08:00
lafirest
0f5f3985a5
Merge pull request #8481 from lafirest/fix/retainer_flow_control
fix(retainer): set default value of flow control
2022-07-14 15:20:23 +08:00
firest
be6f63d927 chore(retainer): update app version 2022-07-14 14:03:25 +08:00
firest
9afad90b91 fix(retainer): set default value of flow control 2022-07-14 10:40:03 +08:00
Zhongwen Deng
421251f4c8 chore: improve the dashboard listener startup log 2022-07-14 09:49:54 +08:00
DDDHuang
941440800b fix(cli): subscriptions with sub options, qos rh rap nl; admins response
data format
2022-07-13 15:55:07 +08:00
DDDHuang
88ca8ff503
Merge pull request #8470 from DDDHuang/tpm_check
fix(api): topic metrics check exist before create
2022-07-13 15:26:47 +08:00
DDDHuang
8f18bdff15 fix(api): topic metrics check exist before create 2022-07-13 13:50:30 +08:00
JimMoen
f42c8ffcfa test(connector): redis sentinel include name 2022-07-13 10:37:16 +08:00
JimMoen
994a76510d fix(authn): jwt ssl opts use emqx_schema:ssl_clients_opts 2022-07-13 10:37:16 +08:00
JimMoen
59c301243c fix(connector): redis sentinel field required 2022-07-13 10:37:16 +08:00
firest
bcc16230cc fix(stats): fix topic name error 2022-07-12 13:55:36 +08:00
Zaiming (Stone) Shi
49d008371f chore: bump version to 5.0.4 2022-07-08 22:35:16 +02:00
Zaiming (Stone) Shi
e49686a276 fix(authz): should apply no rule on superuser 2022-07-08 22:35:15 +02:00
Shawn
b55048f705 chore: update app versions 2022-07-08 16:29:07 +08:00
Shawn
9ca5927b88 fix: issue in test cases 2022-07-08 14:07:28 +08:00
Shawn
4da106882c fix(rule): create_at lost when save to config files 2022-07-08 09:17:23 +08:00
Shawn
841f816e39 refactor: improve the health_check for webhook bridges 2022-07-08 09:17:23 +08:00
Shawn
71f642518a fix: the file cluster-override.conf is emptied if hocon_pp:do/2 failed 2022-07-08 09:17:23 +08:00
Zaiming (Stone) Shi
179adeac57
Merge pull request #8425 from emqx/EMQX-6360-5-0-do-not-force-exp-field-in-jwt
fix: allow for exp field to optional to keep backwards compat with 4.X
2022-07-07 12:21:50 +01:00
Chris
dbe806d950 fix: allow for exp field to optional to keep backwards compat with 4.X 2022-07-07 10:18:52 +02:00
Zhongwen Deng
0b1117df47 chore: upgrade hocon to 0.28.3 to speed up schema cache 2022-07-07 15:00:41 +08:00
Zaiming (Stone) Shi
07783249bb chore: move emqx API version (in generated doc) to emqx_release.hrl
So we have one place to bump all versions
2022-07-06 14:01:35 +02:00
Zaiming (Stone) Shi
fa89b633d8 chore: bump version to 5.0.3 2022-07-04 23:23:20 +02:00
Zaiming (Stone) Shi
a7e948b0f4 fix(ws): websocket header get expects bin-string 2022-07-04 23:20:22 +02:00
ieQu1
f1d87944a9
Merge pull request #8407 from ieQu1/doc-cluster-singleton
docs(emqx_connector): Remove mentions of cluster_singleton
2022-07-04 15:08:34 +02:00
Zaiming (Stone) Shi
bb854a9667 fix: enable_pipelining should not be allowed to be zero 2022-07-04 12:18:01 +02:00
ieQu1
b18097375c docs(emqx_connector): Remove mentions of cluster_singleton
Fixes: 8339
2022-07-04 11:33:01 +02:00
Zaiming (Stone) Shi
4b383a42f3
Merge pull request #8399 from zmstone/0702-no-relup-for-opensource-edition
0702 no relup for opensource edition
2022-07-02 11:57:36 +01:00
Zaiming (Stone) Shi
999eac5376 chore: bump emqx app version to 5.0.2 2022-07-02 11:44:19 +02:00
Zaiming (Stone) Shi
c602ef708f chore: bump version to 5.0.2 2022-07-02 11:44:19 +02:00
Zhongwen Deng
3675ba0c9f fix: restricted_shell not working 2022-07-02 16:58:52 +08:00
zhouzb
0cce1df2b6 chore: bump release vsn 2022-07-01 22:03:47 +08:00
zhouzb
1b211434d0
Merge pull request #8381 from HJianBo/fix-content-type
chore: treat 200 and no body as ACL nomatch
2022-07-01 21:56:40 +08:00
JianBo He
2d8231c638 chore: fix gateway authz cases 2022-07-01 21:08:58 +08:00
JimMoen
2ad99fca7a chore: update appup.src 2022-07-01 21:07:33 +08:00
JimMoen
7b825fe4bd test(authn): authn is_superuser default value false. 2022-07-01 21:07:26 +08:00
JimMoen
f0c783b260 test(authn): emqx_authn and gateway_athn http content-type 2022-07-01 20:55:39 +08:00
JimMoen
b88796518e fix(authn): authn http is_superuser field
only support true|false|[num]
and for [num]: zero => false | non-zero => true

other type and string will fallback to default vaule => false
i.e null|undefined|[empty string]
2022-07-01 20:55:39 +08:00
ieQu1
7d46e8671e
Merge pull request #8376 from ieQu1/nicer-bpapi-errors
fix(bpapi): Make error messages nicer
2022-07-01 14:50:49 +02:00
JianBo He
4c17b38102 chore: treat 200/204 as acl nomatch 2022-07-01 20:42:22 +08:00
JianBo He
83f5da8f9d fix(authz-http): fix https://github.com/emqx/emqx/pull/8377#discussion_r911743360 2022-07-01 17:46:55 +08:00
JianBo He
52b77b570f refactor: authz-http return body to reject pub/sub 2022-07-01 17:46:55 +08:00
zhongwencool
670f83e415
Merge pull request #8369 from zhongwencool/sync-authz-certs
fix: sync data's authz and certs
2022-07-01 17:32:22 +08:00
DDDHuang
25c37a63ef
Merge pull request #8356 from DDDHuang/pubsub_api
Pubsub api
2022-07-01 17:24:18 +08:00
lafirest
62d822ee96
Merge pull request #8378 from lafirest/fix/hide_limiter_api
fix(api): temporarily hide the limiter's API
2022-07-01 17:14:33 +08:00
JianBo He
8f429b5ea3
Merge pull request #8316 from zmstone/0624-chore-add-a-note-in-authz-config
docs: refine authz file path doc
2022-07-01 16:56:27 +08:00
Zhongwen Deng
cbf467ee3d chore: update emqx_conf.appup.src 2022-07-01 16:44:29 +08:00
DDDHuang
07f8a93af3 fix: update mgmt bpapi version 2022-07-01 16:43:42 +08:00
firest
325997c592 fix(api): temporarily hide the limiter's API 2022-07-01 16:31:56 +08:00
JianBo He
a13d726d17
Merge pull request #8315 from lafirest/v5.0
feat: add exclusive subscription
2022-07-01 16:00:10 +08:00
JianBo He
127ecdbf77
Merge pull request #8375 from lafirest/fix/authn_metrics_clause
fix(metrics): fix authn metrics count clause error
2022-07-01 15:53:52 +08:00
Zhongwen Deng
c23ccbd370 chore: update bpapi.verions 2022-07-01 15:51:25 +08:00
ieQu1
e2c2f7b224 feat(bpapi): Add a header to bpapi.versions file 2022-07-01 09:50:04 +02:00
ieQu1
2f7078f314 fix(bpapi): Make error messages nicer 2022-07-01 09:34:35 +02:00
Zhongwen Deng
3d6f98e5f6 fix: filter data's dir 2022-07-01 15:32:12 +08:00
DDDHuang
6c9cad366b fix(api): client sub & unsub batch 2022-07-01 15:21:11 +08:00
William Yang
ff9ed0eab9
Merge pull request #8365 from qzhuyan/dev/william/bump-quicer
fix(quic): overload protection follows zone config
2022-07-01 09:17:22 +02:00
firest
9170a05990 fix(metrics): fix authn metrics count clause error 2022-07-01 15:14:46 +08:00
Zhongwen Deng
9af470dee9 chore: upgrade emqx_conf bpapi to version 2 2022-07-01 15:00:14 +08:00
firest
d205f10fab chore: add upgarde callback for emqx_exclusive_subscription 2022-07-01 14:59:10 +08:00
firest
5981a23fe4 fix(exclusive): add upgarde API && fix description error 2022-07-01 14:44:51 +08:00
firest
b1b1d40528 fix(exclusive): fix xref error && change exclusive default value 2022-07-01 14:43:32 +08:00
firest
85f6846f89 chore: update emqx.appup.src 2022-07-01 14:43:30 +08:00
firest
af5bf52ddf feat: add exclusive subscription 2022-07-01 14:36:41 +08:00
JianBo He
c32a416a2a
Merge pull request #8371 from HJianBo/auto-retry-auth-resource
AuthN/Z: automaticly re-connect to disconnected resources
2022-07-01 14:32:50 +08:00
Zhongwen Deng
aabdb07447 chore: always delete data zip file 2022-07-01 14:18:03 +08:00
Zhongwen Deng
8ba2b6cc18 fix: bpapi chekc failed 2022-07-01 14:08:16 +08:00
firest
9ce2dbb77a fix(metrics): adjust metrics count codes 2022-07-01 13:42:40 +08:00
firest
7f18969f1e fix(metrics): revert client.authenticate count method 2022-07-01 12:22:48 +08:00
firest
c45cf62b3d chore: update emqx.appup.src 2022-07-01 12:22:48 +08:00
firest
9415a94c7f feat(metrics): optimize client.authenticate 2022-07-01 12:22:48 +08:00
Zaiming (Stone) Shi
9a6f776f82
Merge pull request #8353 from zmstone/0630-chore-update-config-style
chore: update authz default config style
2022-07-01 05:21:02 +01:00
JianBo He
eac21e5b0a chore: make spellcheck happy 2022-07-01 12:10:37 +08:00
Zaiming (Stone) Shi
c3ffdef872 docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi
fd86e8bf0b docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi
3963856480 docs: Update apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf
Co-authored-by: JianBo He <heeejianbo@163.com>
2022-07-01 12:10:36 +08:00
Zaiming (Stone) Shi
5ac9e9f824 docs: refine authz file path doc 2022-07-01 12:10:36 +08:00
JianBo He
a78a389206 chore: using standard log format 2022-07-01 12:06:35 +08:00
JianBo He
f8c90452cc chore: auto retry disconnected authn/authz resources 2022-07-01 12:01:39 +08:00
Zhongwen Deng
740ff3587c fix: sync data's authz and certs 2022-07-01 12:01:32 +08:00
Xinyu Liu
b134c3562a
Merge pull request #8367 from terry-xiaoyu/release_5.0.1-beta.1
chore: release 5.0.1-beta.1
2022-07-01 11:15:10 +08:00
Shawn
264cf036c7 chore: release 5.0.1-beta.1 2022-07-01 11:12:08 +08:00
JianBo He
094ed05897
Merge pull request #8351 from HJianBo/compatible-password-field
Authn: backword compatibility for 4.x authn data
2022-07-01 11:10:59 +08:00
zhongwencool
e0ab8e58cf
Merge pull request #8360 from zhongwencool/example-name
chore: mv i18n.conf to emqx_dashboard/priv/
2022-07-01 10:23:10 +08:00
DDDHuang
c64f589ef5
Merge pull request #8286 from DDDHuang/fix_rm_dashboard_user
fix: dashboard users api, cannot delete self
2022-07-01 09:42:46 +08:00
Zhongwen Deng
92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
DDDHuang
4f95f097f7 fix: publish api rename param from - clientid 2022-07-01 09:19:19 +08:00
William Yang
ecf0c8d7e2 fix(quic): overload protection follows zone config 2022-06-30 20:51:45 +02:00
Zhongwen Deng
9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
Zhongwen Deng
eb6977f23e fix: display The log path has not been set when can't find log_path 2022-06-30 21:15:57 +08:00
ieQu1
227602fa3a fix(bpapi): Don't check forward compatibility from old release 2022-06-30 14:09:43 +02:00
JianBo He
9acfd0ff9e chore: update emqx_authn.appup.src 2022-06-30 15:23:09 +08:00
DDDHuang
f502e09f5f fix(dashboard): add more test suite 2022-06-30 14:52:48 +08:00
Zaiming (Stone) Shi
95706cf45f chore: update authz default config style 2022-06-30 08:09:38 +02:00
JianBo He
7de23f5863 chore(authn-redis): checking password field 2022-06-30 13:26:58 +08:00
JianBo He
8f696b6f8c fix(authn): correct peerhost placeholder rendering 2022-06-30 12:50:56 +08:00
JianBo He
d7c21020f6 feat(authn-redis): needs to compatible with 4.x auth data 2022-06-30 11:26:56 +08:00
DDDHuang
0b32bf72f7 fix: dashboard users api, cannot delete self 2022-06-30 10:51:44 +08:00
Thales Macedo Garitezi
e70ab24a48 fix(hooks): return error on hook-removed subscription rather than deleting it (5.0)
Port of https://github.com/emqx/emqx/pull/8346
2022-06-29 11:10:36 -03:00
Zaiming (Stone) Shi
79be7f9420
Merge pull request #8308 from zmstone/0623-fix-relup
5.0: fix relup
2022-06-29 13:41:24 +01:00