Commit Graph

17192 Commits

Author SHA1 Message Date
Andrew Mayorov
47dfba4341
perf(ruleeng): employ emqx_topic_index to speed up topic matching 2023-08-14 15:36:58 +04:00
Andrew Mayorov
9a249e4b01
test(topicidx): increase test coverage 2023-08-14 15:36:58 +04:00
Andrew Mayorov
fd0986071c
perf(topicidx): implement fast-forwarding prefixes
This should give less `ets:next/2` calls in general and much less
when index has relatively small number of long non-wildcard topics.
2023-08-14 15:36:58 +04:00
Andrew Mayorov
0c7bdbdab4
test(topicidx): add property test
Co-Authored-By: JianBo He <heeejianbo@gmail.com>
2023-08-14 15:36:57 +04:00
Andrew Mayorov
48a50c9137
fix(topicidx): fix missing matches when 'a/b' and 'a/b/#' both exist
Thanks to @HJianBo for spotting this issue. The approach to fix it
is different though: we try to keep the "recurrency branch factor"
to a minimum, instead introducing new condition for the case when
filter does not match, but iteration with `ets:next/2` is not yet
finished for the prefix.

Co-Authored-By: JianBo He <heeejianbo@gmail.com>
2023-08-14 15:36:57 +04:00
Andrew Mayorov
6a13406363
fix(topicidx): use custom topic words to keep required ordering
Otherwise, topic with empty tokens (e.g. `a/b///c`) would have
some of their tokens ordered before `#` / `+`, because empty
token was represented as empty atom (`''`).
2023-08-14 15:36:57 +04:00
Andrew Mayorov
28bcb394d1
fix(topicidx): allow to return matches unique by record id 2023-08-14 15:36:57 +04:00
Andrew Mayorov
8feda315f6
feat(index): add topic index facility
Somewhat similar to `emqx_trie` in design and logic, yet built on
top of a single, potentially pre-existing table.
2023-08-14 15:36:54 +04:00
Ivan Dyachkov
7852af896c chore: e5.2.0-alpha.1 2023-08-11 11:16:30 +02:00
Ivan Dyachkov
659647955a chore: remove support for docker-latest-* tag from cut.sh 2023-08-11 11:16:30 +02:00
Ivan Dyachkov
7bdefd065f chore: update scripts, workflows and documentation to support release-52 2023-08-11 11:11:58 +02:00
Ivan Dyachkov
bab05b6613
Merge pull request #11433 from id/0811-ci-upgrade-push-helm-action 2023-08-11 11:03:00 +02:00
lafirest
c9c0ce0734
Merge pull request #11432 from lafirest/chore/rate_limit_example
chore: add rate limit example
2023-08-11 15:47:38 +08:00
Ivan Dyachkov
b6084b0001 chore: bump apps/emqx version 2023-08-11 09:19:51 +02:00
lafirest
4eaced241d
Merge pull request #11423 from lafirest/chore/limiter_utils
fix(limiter): simplify the code of the limiter
2023-08-11 15:17:42 +08:00
Ivan Dyachkov
8e384ddb6b chore: enforce chart version matching release version in emqx_release.hrl 2023-08-11 09:15:27 +02:00
Ivan Dyachkov
be9b8e5fa8 ci: upgrade emqx/push-helm-action to v1.1 2023-08-11 08:51:17 +02:00
firest
2a0f5f8ba5 chore: add rate limit example 2023-08-11 13:51:21 +08:00
lafirest
4e974851e0
Merge pull request #11431 from JimMoen/fix-mgmt-api-500
fix: api total accumulate ignore `undefined` by down nodes result
2023-08-11 13:49:20 +08:00
JimMoen
060074e04a
fix: api total accumulate ignore undefined by down nodes result 2023-08-11 11:27:55 +08:00
Thales Macedo Garitezi
65aee8870b
Merge pull request #11427 from id/0810-cut-v5.1.5-build.3
v5.1.5-build.3
2023-08-10 09:52:58 -03:00
Paulo Zulato
9ca9c65af2
Merge pull request #11367 from paulozulato/feat-gcp-devices
feat(gcp-iot): port GCP IoT Core compatibility layer from e4.4
2023-08-10 09:44:55 -03:00
Ivan Dyachkov
10a1f1d43b docs: Generate changelog for v5.1.5-build.3 2023-08-10 12:56:40 +02:00
Ivan Dyachkov
801c93dd46 chore: v5.1.5-build.3 2023-08-10 12:56:28 +02:00
Ivan Dyachkov
6ead09b28d chore: merge 'upstream/master' 2023-08-10 12:56:00 +02:00
firest
6dbddfb089 fix(limiter): simplify the code of the limiter
move runtime code out from the schema
2023-08-10 18:20:05 +08:00
Ivan Dyachkov
b3082c3f90
Merge pull request #11422 from id/0810-ci-fix-publishing-packages 2023-08-10 12:04:32 +02:00
Ivan Dyachkov
9ad44f1bba ci: do not run tests on tag push 2023-08-10 09:57:53 +02:00
Ivan Dyachkov
1c5b42806b build: correctly parse package version 2023-08-10 09:01:39 +02:00
zhongwencool
aa798e531e
Merge pull request #11409 from zhongwencool/opentelemetry-metrics
feat: support opentelemetry metrics
2023-08-10 14:35:25 +08:00
Ivan Dyachkov
d6476481c9 ci(packages): run publish_artifacts on github hosted runner to get sudo 2023-08-10 07:58:57 +02:00
zhongwencool
d1dc37af4c
Merge pull request #11279 from zhongwencool/trace-log
fix: don't be kill when send large payload when log is debug
2023-08-10 11:58:31 +08:00
lafirest
b2394cf92d
Merge pull request #11399 from lafirest/fix/ph_utf8
fix(placeholder): porting fix to support utf8 key in placeholder
2023-08-10 09:41:39 +08:00
zhongwencool
5a4dd3a5e5 fix: truncate large payload 2023-08-10 09:35:12 +08:00
zhongwencool
d5fe891961 fix: don't be kill when send large payload when log is debug 2023-08-10 09:22:30 +08:00
Thales Macedo Garitezi
dcaae0b946
Merge pull request #11419 from thalesmg/r-v515-patch2-20230809
prepare `v5.1.5-patch.2`
2023-08-09 18:13:59 -03:00
Thales Macedo Garitezi
bb8ce68c2e docs: Generate changelog for v5.1.5-patch.2 2023-08-09 16:38:28 -03:00
Thales Macedo Garitezi
4491c3b882 Merge branch 'master' into r-v515-patch2-20230809 2023-08-09 16:36:50 -03:00
Ivan Dyachkov
4bd16ac4c9
Merge pull request #11418 from thalesmg/fix-ci-scripts-b-20230809 2023-08-09 21:33:58 +02:00
Thales Macedo Garitezi
9e0c0911a7 ci: fix docker registry variable 2023-08-09 16:28:10 -03:00
Thales Macedo Garitezi
fec38c2165
Merge pull request #11417 from thalesmg/release-v515-patch1-20230809
prepare `v5.1.5-patch.1`
2023-08-09 15:45:37 -03:00
Thales Macedo Garitezi
95df958f10 docs: Generate changelog for v5.1.5-patch.1 2023-08-09 13:18:09 -03:00
Thales Macedo Garitezi
5294d6b913 ci: use -patch.[0-9]+ for patch releases
Using just `-[0-9]+` requires further changes to the parser in `emqx_release`, and might
also cause problems with Elixir's `Version.parse` depending on the suffix.
2023-08-09 13:15:58 -03:00
Thales Macedo Garitezi
cce0d144f9 Merge branch 'master' into release-v515-patch1-20230809 2023-08-09 13:08:43 -03:00
Ivan Dyachkov
d5f75a45d5
Merge pull request #11414 from id/0809-ci-fix-packages-and-docker-workflows 2023-08-09 16:44:20 +02:00
Paulo Zulato
baa30bf581 fix(ldap): fix issue pointed by spellcheck 2023-08-09 10:48:25 -03:00
Paulo Zulato
a85c948e23 feat(gcp-iot): port GCP IoT Core compatibility layer from e4.4
Fixes https://emqx.atlassian.net/browse/EMQX-10341
2023-08-09 10:48:25 -03:00
Ivan Dyachkov
446421d38b fix(docker): separate product url, description and docs url for ce and ee
also fix latest tag for elixir version
2023-08-09 15:01:28 +02:00
Ivan Dyachkov
42b0a131ce fix(semver): use a.b.c-d version pattern instead of a.b.c.d for extra releases 2023-08-09 14:45:34 +02:00
Ivan Dyachkov
c587a753da fix(docker): use 'make $PROFILE-docker' in CI 2023-08-09 14:45:17 +02:00