Commit Graph

17197 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 03c8e01509 chore: fix a typo in log message 2023-08-15 16:27:19 +02:00
Zaiming (Stone) Shi c8d1dc7100 chore: bump version to e5.2.0-alpha.2 2023-08-15 16:27:00 +02:00
Andrew Mayorov e39bbf4c49
chore(topicidx): add more descriptive comments and specs
To (hopefully) better illustrate what is happening there.
2023-08-15 16:55:48 +04:00
Andrew Mayorov d302aaae4c
chore: add changelog entry 2023-08-14 15:36:58 +04:00
Andrew Mayorov fe9477f92e
chore: bump applications versions
* emqx_rule_engine 5.0.23
2023-08-14 15:36:58 +04:00
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