Andrew Mayorov
7e7b50c5ba
refactor(mqttbridge): move into separate application
2023-05-30 17:56:34 +03:00
Andrew Mayorov
a5fc26736d
refactor(mqttconn): split ingress/egress into 2 separate pools
...
Each with a more refined set of responsibilities, at the cost of slight
code duplication. Also provide two different config fields for each pool
size.
2023-05-30 17:21:44 +03:00
Andrew Mayorov
4e6269bedb
feat(mqttconn): subscribe each worker if shared subcription
...
Also rename `subscriptions` -> `ingress` and `forwards` -> `egress` for
consistency with the config schema.
2023-05-30 14:50:05 +03:00
Andrew Mayorov
81e78516aa
feat(mqttconn): employ ecpool instead of a single worker
2023-05-30 14:50:05 +03:00
Andrew Mayorov
bd956d00b6
feat(mqttconn): stop using gproc in hot path
...
Also drop fiddling with `mountpoint` since this option seems not to be
used anywhere.
2023-05-30 14:50:05 +03:00
Zaiming (Stone) Shi
91cdc69976
Merge pull request #10867 from zmstone/0530-merge-release-50-to-master
...
0530 merge release 50 to master
2023-05-30 09:54:57 +02:00
Zaiming (Stone) Shi
9529919046
chore: bump app versions
2023-05-30 08:08:29 +02:00
Thales Macedo Garitezi
67e182e0c9
Merge pull request #10813 from thalesmg/refactor-kafka-on-stop-v50
...
feat(kafka): ensure allocated resources are removed on failures
2023-05-29 16:49:29 -03:00
Zaiming (Stone) Shi
36e268c933
chore: bump app versions
2023-05-26 16:05:37 +02:00
Zaiming (Stone) Shi
cc5b4d3748
Merge remote-tracking branch 'origin/release-50' into 0526-ci-delete-otp-24-from-standalone-app-test
2023-05-26 15:58:16 +02:00
Zaiming (Stone) Shi
772a4575ca
Merge pull request #10821 from thalesmg/fix-webhook-bridge-req-timeout-r50
...
fix(webhook): keep `resource_opts.request_timeout` for webhook bridge (r5.0)
2023-05-26 08:39:00 +02:00
Zaiming (Stone) Shi
407cab220b
Merge pull request #10760 from paulozulato/fix-failure-joining
...
fix: avoid error 500 when node is re-joining cluster
2023-05-26 03:08:17 +02:00
Thales Macedo Garitezi
e43517188f
fix(bridge): remove bridge if exception happens during creation
2023-05-25 16:38:09 -03:00
Paulo Zulato
ea86f4442b
fix: avoid error 500 when node is re-joining cluster
...
Fixes https://emqx.atlassian.net/browse/EMQX-9899
2023-05-25 13:32:28 -03:00
Thales Macedo Garitezi
194faefc8a
fix(webhook): keep `resource_opts.request_timeout` for webhook bridge (r5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-10001
Recently, we unified request_timeout in a single field located at the
webhook connector schema. However, the correct fix would be to use
the resource_opts.request_timeout one, as that’s the only one that
allows infinity timeout.
2023-05-25 13:19:27 -03:00
JianBo He
6b5ff24952
test: assert the block_until result
2023-05-25 18:12:38 +08:00
JianBo He
de7f1c8aec
test: add tests for auto_restart_interval
2023-05-25 17:15:19 +08:00
zhongwencool
14a6b36899
Merge pull request #10803 from JimMoen/merge-release-50
...
Merge release-50 into master
2023-05-24 23:08:46 +08:00
JimMoen
28015597ee
Merge remote-tracking branch 'emqx/release-50' into merge-release-50
2023-05-24 19:34:12 +08:00
Kjell Winblad
4f21bdb885
fix: REST API version 2 not available in IoTDB 0.13 and 1.0
...
This commit makes sure that REST API version 1 is used when the
user has selected to use IoTDB 0.13 or 1.0
Fixes:
https://emqx.atlassian.net/browse/EMQX-9920
2023-05-24 13:09:47 +02:00
某文
7da0860d6c
chore: upgrade minirest to 1.3.10 for more clear error msg
2023-05-24 10:44:52 +08:00
Thales Macedo Garitezi
44ed6a19ee
fix(bridge): pass resource option `request_timeout = infinity` along to buffer workers (r5.0)
2023-05-23 14:50:43 -03:00
Thales Macedo Garitezi
b5f63f4151
test: fix wrong test listeners option
2023-05-23 14:50:43 -03:00
某文
1deb3c50c8
test: bridge test init dashboard listener failed
2023-05-23 10:28:01 +08:00
某文
67a30ee976
test: bridge test init dashboard listener failed
2023-05-23 10:16:43 +08:00
Zaiming (Stone) Shi
732a7be187
Merge remote-tracking branch 'origin/release-50'
2023-05-22 17:46:54 +02:00
Thales Macedo Garitezi
7d798c10e9
perf(buffer_worker): flush metrics periodically inside buffer worker process
...
Fixes https://emqx.atlassian.net/browse/EMQX-9905
Since calling `telemetry` is costly in a hot path, we instead collect
metrics inside the buffer workers state and periodically flush them,
rather than immediately as events happen.
2023-05-22 09:11:23 -03:00
William Yang
e824e1db39
Merge pull request #10698 from qzhuyan/perf/william/force-atom-conf-path
...
perf(config): enforcing atom key path in hotcode path
2023-05-22 09:38:09 +02:00
Thales Macedo Garitezi
09ea2e2224
fix(bridge_api): don't crash when formatting empty/unknown bridge metrics
...
Fixes https://emqx.atlassian.net/browse/EMQX-9872
2023-05-18 14:25:13 -03:00
Thales Macedo Garitezi
5d5c16a56d
feat(bridges): use union member selector function for better error messages
2023-05-17 17:57:29 -03:00
Thales Macedo Garitezi
447b76464b
Merge branch 'release-50' into merge-r50-into-v50-a
2023-05-17 14:50:18 -03:00
Thales Macedo Garitezi
b2afe4e90c
Merge pull request #10690 from thalesmg/perf-webhook-retry-async-reply-v50
...
perf(webhook): add async retries and evaluate reply callback in fresh process
2023-05-17 11:06:48 -03:00
Thales Macedo Garitezi
a7b41e1cdf
perf(webhook): add retry attempts for async
...
This is a performance improvement for webhook bridge.
Since this bridge is called using `async` callback mode, and `ehttpc`
frequently returns errors of the form `normal` and `{shutdown,
normal}` that are retried "for free" by `ehttpc`, we add this behavior
to async requests as well. Other errors are retried too, but they are
not "free": 3 attempts are made at a maximum.
This is important because, when using buffer workers, we should avoid
making them enter the `blocked` state, since that halts all progress
and makes throughput plummet.
2023-05-17 09:20:50 -03:00
William Yang
cdf42760fa
chore: little change avoid atom leak
2023-05-17 11:01:03 +02:00
某文
2b99a9b988
feat: hide resource_opts's request_timeout
2023-05-17 13:41:11 +08:00
Zaiming (Stone) Shi
9b9731b943
Merge pull request #10473 from zmstone/0421-refactor-delete-unused-schema-field
...
0421 refactor delete unused schema field
2023-05-16 22:22:03 +02:00
某文
a2aa6b4666
chore: make ci happy again
2023-05-16 21:29:52 +08:00
William Yang
1c746ed289
perf(config): enforcing atom key path in hotcode path
2023-05-16 09:57:04 +02:00
某文
7d7c069257
feat: update wehbook's request_timeout into resource_opts
2023-05-16 15:32:43 +08:00
zhongwencool
a953b951fe
Merge branch 'master' into sync-release-50-to-master
2023-05-12 18:01:58 +08:00
某文
6056b0e7a8
fix: ensure atom key for emqx_config:get
2023-05-11 17:40:03 +08:00
Zaiming (Stone) Shi
7566c25199
refactor: delete unused connector field 'base_url'
2023-05-11 09:04:55 +02:00
Zhongwen Deng
14952658d5
chore: convert rotation struct to roation_count
2023-05-09 11:24:51 +08:00
Stefan Strigler
d231e708cb
feat: add IotDB bridge
2023-05-08 16:19:01 +02:00
Zaiming (Stone) Shi
856129984b
refactor: remove raw_with_default config load option
...
This option was previously only in tests to avoid
emqx_conf app overwriting previously set configs with default values.
After a03f2dd64b
, the issue for
test cases had been resolved.
This commit is to get rid of the option all together
2023-05-04 09:48:28 +02:00
Zaiming (Stone) Shi
d5f5f35787
Merge remote-tracking branch 'origin/release-50' into 0502-merge-release-50-back-to-master
2023-05-02 18:08:04 +02:00
Zaiming (Stone) Shi
57cc854a4a
test(bridge): fix bridge map type filed converters
...
now the converters on map type fields only work at the wrapping map
level but not the values
2023-04-30 10:45:11 +02:00
Paulo Zulato
dd90b2f498
feat(oracle): Oracle Database integration
2023-04-27 13:07:20 -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
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