Commit Graph

6677 Commits

Author SHA1 Message Date
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