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
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