Andrew Mayorov
eed9358abd
chore: bump ecpool to 0.5.4
...
With fixed typings and empty pool handling.
2023-05-30 17:21:45 +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
c7528e9b35
feat(mqttconn): add pool_size config parameter
...
That currently tunes the number of MQTT clients employed both for
subscriptions (if shared subscription is used) and for publishing to
a remote broker.
2023-05-30 17:21:44 +03:00
Andrew Mayorov
6e97dffdb8
feat(mqttconn): deprecate mode config parameter
...
It adds no value: the only mode was `cluster_shareload` and we just as
well can decide to "share" the load across cluster just by looking if
the remote topic is shared subcription filter or not.
2023-05-30 17:21:44 +03:00
Thales Macedo Garitezi
cb7929a2fc
test(broker): attempt to reduce flakiness
2023-05-30 11:12:18 -03:00
Thales Macedo Garitezi
26992e9d98
test(banned): attempt to improve flaky test
2023-05-30 11:08:31 -03:00
Thales Macedo Garitezi
04bd39861d
chore: bump app vsns
2023-05-30 11:08:20 -03:00
JianBo He
a132df5568
fix(coap): to better handle coap requests in connection mode
...
Fixes for connection deletion and message publishing requests not taking effect
issues once the connection has been created in a different UDP port
first.
2023-05-30 21:48:57 +08:00
JianBo He
48c53d8b32
chore: add emqx_management_proto_v4
2023-05-30 21:46:33 +08:00
Thales Macedo Garitezi
6b5b9fc8b8
Merge pull request #10864 from thalesmg/fix-flaky-channel-test-20230529
...
test(channel): fix flaky test
2023-05-30 10:18:47 -03:00
Thales Macedo Garitezi
5f6ff9144b
Merge pull request #10862 from thalesmg/fix-flaky-cassandra-test-v50
...
test(cassandra): attempt to fix flaky test
2023-05-30 10:02:14 -03:00
Thales Macedo Garitezi
9c3f838e14
Merge pull request #10841 from thalesmg/kafka-validate-key-v50
...
feat({kafka,pulsar}_producer): add validation for empty message key when strategy = key_dispatch
2023-05-30 09:37:15 -03:00
Kjell Winblad
a4fcc0dcb3
fix: password log leak in RabbitMQ bridge
...
This fixes a vulnerability in the RabbitMQ bridge, which could
potentially expose passwords to log files. This was accomplished by
initializing the encryption library specifically designed for RabbitMQ's
passwords. Consequently, passwords are no longer stored in unencrypted
format. As a result, they will no longer be visible as plain text in log
messages, thereby enhancing the system's security.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9976
2023-05-30 14:36:02 +02:00
JianBo He
fc806c4acd
test: fix failed tests
2023-05-30 20:15:49 +08:00
Thales Macedo Garitezi
75fcac9711
Merge pull request #10826 from thalesmg/test-partial-batch-expired-inflight-v50
...
test(buffer_worker): add assertion for inflight count after batch expiration
2023-05-30 09:05:59 -03:00
Thales Macedo Garitezi
5bcc28b8df
Merge pull request #10861 from thalesmg/fix-flaky-telemetry-test-v50
...
test(telemetry): fix flaky test
2023-05-30 09:05:28 -03:00
JianBo He
1e7872c319
feat: support kickout clients in batch
2023-05-30 19:58:40 +08:00
Zaiming (Stone) Shi
0f080cda66
chore: bump emqx_rule_engine app vsn
2023-05-30 13:50:36 +02: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
6967f621d8
fix(mqttconn): unify error interpretation in sync/async modes
...
Also move this logic to the mqtt connector itself, in order to avoid
dealing with extra callback layer.
2023-05-30 14:50:05 +03:00
Andrew Mayorov
67d703f8c5
refactor(mqttconn): simplify mqtt connector
...
Inline `emqx_connector_mqtt_msg` module code into
`emqx_connector_mqtt_worker` module, since it's not really used
anywhere else and does not provide any reusable abstractions.
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
Andrew Mayorov
4da0d83faf
chore(mqttconn): remove dead code
2023-05-30 14:50:04 +03:00
Zaiming (Stone) Shi
aa096f496f
Merge pull request #10876 from zmstone/merge-release-51-back-to-master
...
Merge release 51 back to master
2023-05-30 13:49:21 +02:00
Kjell Winblad
5cfe04956d
Merge pull request #10858 from kjellwinblad/kjell/rule_engine_funcs/add_timezone_to_second/EMQX-10058
...
feat: add timezone_to_second/1 function to rule engine
2023-05-30 12:29:40 +02:00
Zaiming (Stone) Shi
d2ce7c22fd
chore: bump app vsn, core app 'emqx' is now at 5.1
2023-05-30 11:32:18 +02:00
Zaiming (Stone) Shi
1e8ed89db8
Merge remote-tracking branch 'origin/master' into release-51
2023-05-30 11:29:44 +02: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
367de2a2eb
docs: update bpapi readme
2023-05-30 08:29:43 +02:00
Zaiming (Stone) Shi
941939f7d7
build: finalize 5.0.bpapi
2023-05-30 08:28:45 +02:00
Zaiming (Stone) Shi
3b8cba6ba0
chore: bump rlease versions
2023-05-30 08:28:45 +02:00
Zaiming (Stone) Shi
9529919046
chore: bump app versions
2023-05-30 08:08:29 +02:00
JimMoen
8569fac6eb
fix: make static_check happy
2023-05-30 14:00:20 +08:00
Zaiming (Stone) Shi
747eb6fcff
Merge remote-tracking branches 'origin/release-50' and 'origin/master' into release-51
2023-05-30 07:54:34 +02:00
Zaiming (Stone) Shi
286eefb563
Merge remote-tracking branch 'origin/release-50'
2023-05-30 07:52:54 +02:00
JimMoen
909d348570
chore: fix spec typo
2023-05-30 11:31:37 +08:00
JimMoen
bb363e9b9e
chore: bump dependency vsn
...
* bump `snappyer` ~> 1.2.9
- as dependency of `kafka_protocol` ~> 4.1.3
- as dependency of `brod`
* bump `rocksdb` ~> 1.7.2-emqx-11
2023-05-30 11:11:30 +08:00
Thales Macedo Garitezi
1aff46b7c9
test(channel): fix flaky test
2023-05-29 19:04:48 -03:00
Thales Macedo Garitezi
bae00c909f
test(cassandra): attempt to fix flaky test
...
```
=ERROR REPORT==== 29-May-2023::20:35:20.457796 ===
id: <<"bridge:cassandra:emqx_bridge_cassandra_SUITE">>
msg: unrecoverable_error
reason: {8704,<<"Expected 8 or 0 byte long for date (4)">>}
=CRITICAL REPORT==== 29-May-2023::20:35:20.458850 ===
"check stage" failed: error
{assertMatch,[{module,emqx_bridge_cassandra_SUITE},
{line,619},
{expression,"Trace"},
{pattern,"[ # { result := { ok , _Pid } } ]"},
{value,[]}]}
Stacktrace: [{emqx_bridge_cassandra_SUITE,'-t_missing_data/1-fun-3-',1,
[{file,
"/emqx/apps/emqx_bridge_cassandra/test/emqx_bridge_cassandra_SUITE.erl"},
{line,619}]},
{emqx_bridge_cassandra_SUITE,t_missing_data,1,
[{file,
"/emqx/apps/emqx_bridge_cassandra/test/emqx_bridge_cassandra_SUITE.erl"},
{line,607}]}]
=CRITICAL REPORT==== 29-May-2023::20:35:20.471872 ===
Check stage failed. Trace dump: "/emqx/_build/test/logs/ct_run.test@127.0.0.1.2023-05-29_20.34.32/snabbkaffe/1685392520460040358.log"
%%% emqx_bridge_cassandra_SUITE ==> tcp.sync.with_batch.t_missing_data: FAILED
%%% emqx_bridge_cassandra_SUITE ==> {{panic,#{msg => "Unexpected result",result => {error,check_stage_failed}}},
[{emqx_bridge_cassandra_SUITE,t_missing_data,1,
[{file,"/emqx/apps/emqx_bridge_cassandra/test/emqx_bridge_cassandra_SUITE.erl"},
{line,624}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1223}]}]}
```
2023-05-29 18:19:26 -03:00
Thales Macedo Garitezi
fa508a95c1
test(telemetry): fix flaky test
...
```
%%% emqx_telemetry_SUITE ==>
Failure/Error: ?assertEqual(0, get_value ( num_clients , TelemetryData1 ))
expected: 0
got: 1
line: 454
```
2023-05-29 18:09:35 -03: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
Kjell Winblad
354603da01
test: helper function was interpreted as a test function
2023-05-29 17:20:37 +02:00
Thales Macedo Garitezi
3edbad9f56
feat(pulsar_producer): add validation for empty message key when strategy = key_dispatch
2023-05-29 10:04:19 -03:00
Kjell Winblad
995025b572
feat: add timezone_to_second/1 function to rule engine
...
This commit adds the functions timezone_to_offset_seconds and its alias
timezone_to_second to the rule engine. As the names suggests, these
functions convert a timzone offset string such as "+02:00", "Z", "local"
to an integer representing how many seconds that the given timezone
differs from UTC. timezone_to_offset_seconds is the one of the two
functions that should be advertised while timezone_to_second in kept for
backwards compatibility with 4.X.
Fixes:
https://emqx.atlassian.net/browse/EMQX-10058
2023-05-29 14:30:43 +02:00
Zaiming (Stone) Shi
08c1d5e5ae
test: stop testing i18n.conf
2023-05-29 14:22:23 +02:00
Zaiming (Stone) Shi
d014b80834
build: download zh translation from emqx-i18n.git
2023-05-29 14:22:23 +02:00
Thales Macedo Garitezi
79f6861499
chore: prepare to tag v5.0.26
2023-05-29 09:17:59 -03:00
Thales Macedo Garitezi
639feefab6
Merge remote-tracking branch 'origin/master' into tag-v5026
2023-05-29 09:15:48 -03:00
JimMoen
9526d080af
fix: override emqx_license is unnecessary
...
* continue #10820
2023-05-29 19:10:31 +08:00
JimMoen
adae1aec96
chore: fix typo for enterprise readme
2023-05-29 19:08:15 +08:00
JimMoen
6551eb21f2
Merge pull request #10851 from JimMoen/fix-bad-api-logging
...
fix: redact api request to hide auth token
2023-05-29 17:40:44 +08:00
JimMoen
e287cf9a09
Merge pull request #10820 from JimMoen/fix-license-checker-update
...
fix: reboot `emqx_license` app for join cluster
2023-05-29 17:40:29 +08:00
Andrew Mayorov
daa7eebc0f
Merge pull request #10843 from keynslug/fix/ft-prop-zerodiv
...
test(ft): ensure no division by zero in coverage proptest
2023-05-29 10:23:52 +03:00
zhongwencool
2b6d3bb748
Merge pull request #10833 from zhongwencool/telemtry-report
...
fix: only report enable authn/authz in telemetry
2023-05-29 15:14:36 +08:00
zhongwencool
1e986a7b93
Merge pull request #10847 from zhongwencool/telemetry-conf-update
...
feat: support emqx_conf:update([telemetry],Conf).
2023-05-29 15:14:16 +08:00
Zaiming (Stone) Shi
e6869a2904
chore: bump app vsn for emqx_machine
2023-05-29 09:04:17 +02:00
Zaiming (Stone) Shi
8e6dc29637
chore: bump release version to v5.0.26-alpha.1
2023-05-29 08:57:28 +02:00
Zaiming (Stone) Shi
25319c3151
Merge pull request #10839 from zmstone/0526-merge-release-50-to-master
...
0526 merge release 50 to master
2023-05-29 08:56:20 +02:00
Zhongwen Deng
8c814bc861
fix: only report enable authn/authz in telemetry
2023-05-29 14:17:46 +08:00
Zhongwen Deng
4dee1a2429
test: add more test for emqx_telemetry
2023-05-29 14:08:59 +08:00
JimMoen
6f90369429
fix: make dialyzer happy
2023-05-29 13:48:00 +08:00
JimMoen
cb05406a00
fix: reboot emqx_license app for join cluster
2023-05-29 13:47:46 +08:00
JimMoen
dcfe985ee9
fix: redact api request to hide auth token
2023-05-29 11:02:02 +08:00
某文
8ccee19aa5
feat: support emqx_conf:update([telemetry],Conf).
2023-05-28 22:54:35 +08:00
Zaiming (Stone) Shi
c2450d230d
Merge pull request #10605 from zmstone/0503-no-telemetry-app-for-ee
...
0503 refactoring: no telemetry app for ee
2023-05-27 10:57:15 +02:00
Thales Macedo Garitezi
d27f593309
test: fix flaky authn test
2023-05-26 16:44:00 -03:00
Andrew Mayorov
98ce7e8bbd
test(ft): ensure no division by zero in coverage proptest
2023-05-26 21:53:01 +03:00
Thales Macedo Garitezi
9b7e473cf6
feat(kafka_producer): add validation for empty message key when strategy = key_dispatch
...
Fixes https://emqx.atlassian.net/browse/EMQX-9979
2023-05-26 12:02:58 -03:00
Zaiming (Stone) Shi
fe81e9521a
Merge pull request #10600 from zmstone/0504-delete-statsd-all-together
...
0504 delete statsd all together
2023-05-26 16:29:59 +02: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
3595a86724
chore(emqx_telemetry): add registered process names to app info
2023-05-26 15:28:06 +02:00
Zaiming (Stone) Shi
d167d6dd41
chore(emqx_telemetry): update supervisor's child restart strategy
2023-05-26 15:28:06 +02:00
Zaiming (Stone) Shi
256e92f4e9
refactor: call emqx_telemetry_config:on_server_stop
2023-05-26 15:28:06 +02:00
Zaiming (Stone) Shi
6e2cde8224
refactor: delete emqx_statsd all together
2023-05-26 15:17:42 +02:00
Andrew Mayorov
45b128946a
Merge pull request #10825 from fix/EMQX-9991/bugs
...
fix(ft): avoid leaking secrets
2023-05-26 16:08:14 +03:00
Zaiming (Stone) Shi
7eb22e27c4
chore: bump release version to e5.0.4
2023-05-26 14:34:01 +02:00
Zhongwen Deng
9b6da3ff10
chore: bump hocon to 0.39.7
2023-05-26 19:00:58 +08:00
Zhongwen Deng
df4a0afdf5
fix: zones api default value
2023-05-26 18:59:38 +08:00
Zaiming (Stone) Shi
2d986140df
chore: bump version to e5.0.4-rc.2
2023-05-26 12:01:10 +02:00
Andrew Mayorov
48858dee33
fix(s3): wrap S3 secrets during config load
2023-05-26 12:59:21 +03:00
Andrew Mayorov
3d428a2e0e
fix(ft-s3): rely on asynchronous upload abort
...
So that upload aborts would not block assemblers. This should not
affect the expected behavior since S3 API usually allows having
concurrent uploads, plus we couldn't really guarantee successful aborts
anyway.
2023-05-26 12:59:20 +03:00
Andrew Mayorov
cc3275b389
fix(ft): use conservative timeouts for S3 uploader calls
2023-05-26 12:59:20 +03:00
Andrew Mayorov
d36c2c2928
fix(ft-gc): ensure GC of already complete transfers
2023-05-26 12:59:20 +03:00
Andrew Mayorov
75cf562c90
fix(ft): tune some logging levels
2023-05-26 12:59:20 +03:00
Andrew Mayorov
3278158c66
fix(ft): disable ipv6_probe by default for S3 clients
...
It's often demonstrates degraded performance on common setups, e.g.
containers with virtualized network interfaces.
2023-05-26 12:59:20 +03:00
Zaiming (Stone) Shi
17f6c58f7b
fix(telemetry): no default value for telemetry.enable in schema
...
the default value is computed from version string
2023-05-26 11:58:58 +02:00
Zaiming (Stone) Shi
dfc11e57d3
chore: delete telemetry.enable from enterprise.conf
...
telemetry is now not included in enterprise edition
2023-05-26 11:58:58 +02:00
Zaiming (Stone) Shi
ee122155f1
docs: fix spellcheck for telemetry app
2023-05-26 08:44:19 +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
JimMoen
a3b77563ba
fix: make static check happy
2023-05-26 10:34:15 +08:00
JimMoen
1ba65539c6
chore: refine traces command usage
2023-05-26 09:48:56 +08:00
JimMoen
0788f2f197
fix: emqx_ctl traces ... command args
...
* use second time as trace `start_at` and `end_at`
* default trace time duration 30min to same as api created
* prevent format line broken
2023-05-26 09:48:56 +08: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
32e6213ce3
fix(resource_manager_sup): use one_for_one instead of simple_one_for_one
...
Using `simple_one_for_one` has a potential race condition issue where
we read the PID of the resource manager before trying to remove a
resource, and then that PID changes because it was either dead at
first, or it crashed and changed, and later we use this stale PID to
try to remove it from the supervisor. Under such circumstances, the
restarting child might linger in the supervisor, leaking resources.
By using the resource ID itself as a child ID (and using `one_for_one`
restart strategy), we ensure the child is truly removed.
2023-05-25 18:07:43 -03:00
Thales Macedo Garitezi
e43517188f
fix(bridge): remove bridge if exception happens during creation
2023-05-25 16:38:09 -03:00
Thales Macedo Garitezi
cb34bc5c46
test(kafka_consumer): attempt to stabilize cluster tests
...
Example failure:
https://github.com/emqx/emqx/actions/runs/5070096710/jobs/9105822319#step:7:515
The attempt here is to setup the spy as early as possible, before the
bridge starts, so we avoid missing rebalancing events.
2023-05-25 16:38:09 -03:00
Thales Macedo Garitezi
0ca3f51503
fix(kafka): improve shutdown and health check logs during shutdown
2023-05-25 16:38:09 -03:00
Thales Macedo Garitezi
5df7314255
feat(kafka): ensure allocated resources are removed on failures
2023-05-25 16:38:09 -03:00