Commit Graph

19397 Commits

Author SHA1 Message Date
Clément Nussbaumer c22687e322
feat(helm): only keep last digits for ipv6 ports
permits specifying ports such as :::18083, a somewhat strange but needed
syntax when trying to make emqx listen on IPv6 addresses
The solution here is to split by colon `:` and to only keep the last
entry, which will corespond to the actual number for the port.

Signed-off-by: Clément Nussbaumer <clement@n8r.ch>
2024-01-01 16:14:48 +01:00
Andrew Mayorov a87df28dfc
Merge pull request #12243 from keynslug/fix/EMQX-11483/route-async-repl
fix(router): rely on local sync state updates to propagate routes
2023-12-29 16:31:00 +01:00
Andrew Mayorov 42da329b34
chore: add changelog entry 2023-12-29 14:05:50 +01:00
Andrew Mayorov 5c91984ad7
chore: leave comment describing need for tighter synchronization 2023-12-29 14:04:48 +01:00
Ilya Averyanov 02110bc79d
Merge pull request #12245 from savonarola/1229-improve-emqx_ds-interface
feat(ds): restore original add_generation/update_db_config callback semantics
2023-12-29 14:40:42 +02:00
Ilya Averyanov 9e0f3ce53b feat(ds): restore original add_generation/update_db_config callback semantics 2023-12-29 13:12:15 +03:00
JimMoen a3fc4fa5c3
Merge pull request #12242 from JimMoen/1228-chore-typo-and-style
chore: typo and style
2023-12-29 16:39:03 +08:00
JimMoen 8f8ad2895b
chore: bump git-blame-ignore-revs 2023-12-29 09:08:21 +08:00
JimMoen 5e100f52b8
style: erlfmt all `rebar.config` files and `bin/nodetool` 2023-12-29 09:08:03 +08:00
JimMoen 0f10d9a8bb
build: erlfmt `rebar.config` files and `bin/nodetool` 2023-12-29 09:08:03 +08:00
JimMoen a3f33cc8bc
chore: fix typos in code and suite 2023-12-29 09:07:51 +08:00
JimMoen a35ed4dacb
docs: enhance markdown indent and fix typos 2023-12-29 09:07:26 +08:00
JimMoen 572f465346
fix(typo): sync to enterprise
- follow up emqx/emqx#10398
2023-12-29 09:07:26 +08:00
JimMoen ed10827343
docs: README spell 2023-12-29 09:07:25 +08:00
Andrew Mayorov b9627c420f
fix(router): rely on local sync state updates to propagate routes
Instead of (potentially lagging) global table state itself. Local
state should be the only source of truth anyway. Moreover,
synchronize parts of local state update logic through the broker
pool to ensure consistency.

The problem was that `emqx_router:has_route/2` check may observe a
stale route, which deletion is not yet replicated from the core node
to the local replicant node.

For example:
1. The only one subscriber per a given topic A unsubscribes from
   a replicant node.
2. The route to A is deleted by the emqx_broker.
3. Mria makes RPC to a core node, it succeeds and returns.
4. The client resubscribes or another client subscribes to the same
   topic A.
5. emqx_broker tries to add a route again:
   `emqx_router:do_add_route(Topic)`.
6. `emqx_router` checks if the route is present.
7. The stale route is present because deletion not replicated yet,
   so no route is being added.
8. Route deletion is replicated locally but it's too late:
   we already have a local subscriber without a route.

Co-Authored-By: Serge Tupchii <serge.tupchii@protonmail.com>
2023-12-28 19:16:31 +01:00
Andrew Mayorov 331bfaa535
fix(broker): avoid reclaiming per-topic counter twice 2023-12-28 17:43:50 +01:00
Andrew Mayorov a8cd609ff4
chore(broker): simplify subscribe code path 2023-12-28 17:43:42 +01:00
Zaiming (Stone) Shi 2b61f5290d
Merge pull request #12236 from zmstone/1227-ensure-short-mqtt-bridge-clientid
fix(bridge/mqtt): ensure short clientid
2023-12-28 16:06:09 +01:00
zhongwencool a6acebb4aa
Merge pull request #12240 from zhongwencool/ft-api-e-541
fix: return raw config when update ft's config
2023-12-28 22:25:22 +08:00
Andrew Mayorov 0eb737c96e
Merge pull request #12241 from keynslug/fix/EMQX-11665/s3-headers
fix(s3): handle extra configured headers correctly
2023-12-28 15:23:53 +01:00
Andrew Mayorov 72677f69d4
chore: add changelog entry 2023-12-28 14:49:05 +01:00
Andrew Mayorov 18dc9b2516
fix(s3): remove `emqx_bridge_http` from runtime dependencies
Otherwise it's impossible to test `emqx_s3` in isolation.
2023-12-28 14:13:22 +01:00
Andrew Mayorov 1d9374125c
chore: bump `emqx_s3` to 5.0.13 2023-12-28 14:12:33 +01:00
Andrew Mayorov 33ef964582
fix(s3): handle extra configured headers correctly
* Header names in config become atoms.
  (Probably because of blanket `unsafe_atom_key_map/1` in `emqx_config`)
* Header names should be normalized to lowercase.
  (Otherwise signature will be incorrect)
2023-12-28 13:55:05 +01:00
Zaiming (Stone) Shi 4669c4d552 fix(bridge/mqtt): ensure short clientid
Some mqtt brokers do not allow long client IDs.
To make it compatible with this limitation, this commit
tries to limit the number of bytes under 23 with a best-effort
attempt to derive it from the bridge name.
2023-12-28 11:53:27 +01:00
JianBo He d26f56e99b
Merge pull request #12238 from emqx/compatible-bridge-http-conf
fix(bridge-http): compatible conf with the error format introduced in 5.3.2
2023-12-28 16:18:44 +08:00
zhongwencool 1fd67564ce fix: return raw config when update ft's config 2023-12-28 14:49:36 +08:00
JianBo He 3ce2f225d7 test: update the test config 2023-12-28 13:48:51 +08:00
JianBo He c0aba14d27 chore: update changes 2023-12-28 11:41:20 +08:00
JianBo He b6391cf18c fix(bridge-http): compatible conf with the error format introduced in 5.3.2 2023-12-28 11:36:48 +08:00
SergeTupchiy 2d209ec576
Merge pull request #12234 from SergeTupchiy/EMQX-11643-fix-otel-conf-incompatibility
fix(emqx_opentelemetry): use converter to convert legacy metrics config
2023-12-27 15:44:28 +02:00
zhongwencool e645fa4874 fix: ft config update api return raw config 2023-12-27 21:13:47 +08:00
Serge Tupchii 423b8b4274 fix(emqx_opentelemetry): use converter to convert legacy metrics config
HOCON converter is cleaner and safer option,
that will also work for configurations defined in emqx.conf.
Previously used `upgrade_raw_conf/1` is currently not supported in hocon_cli (used in bin/emqx).

Fixes: EMQX-11643
2023-12-27 14:15:12 +02:00
zhongwencool 711a9a06c8
Merge pull request #12221 from thalesmg/test-flaky-retry-m-20231222
test: reduce flakiness
2023-12-27 14:30:25 +08:00
JianBo He 4ebf776f65
Merge pull request #12232 from zhongwencool/force-leave-clean-rpc-commit
fix: remove rpc commit info when force_leave cluster
2023-12-27 09:25:17 +08:00
zhongwencool 11feab983f fix: clean rpc_commit when force_leave cluster 2023-12-26 15:25:58 +08:00
Zaiming (Stone) Shi 95194216cc
Merge pull request #12226 from zmstone/1222-sync-e5.4.0-build.2-to-master
1222 sync `e5.4.0-build.2` to master
2023-12-23 11:22:47 +01:00
Zaiming (Stone) Shi e421e9ce56 Merge remote-tracking branch 'origin/release-54' into 1222-sync-e5.4.0-build.2-to-master 2023-12-23 11:22:05 +01:00
Zaiming (Stone) Shi f36b842d94 chore: prepare for e5.4.0 retag 2023-12-23 11:18:19 +01:00
Zaiming (Stone) Shi 86a018d921 chore: bump app versions 2023-12-22 21:28:26 +01:00
Zaiming (Stone) Shi 9fdac4af0c Merge remote-tracking branch 'origin/master' into 1222-sync-e5.4.0-build.2-to-master 2023-12-22 21:27:27 +01:00
Zaiming (Stone) Shi f1e1a05f4c docs: rename changelog e5.4.0-build.1.en.md to e5.4.0-build.2.en.md 2023-12-22 20:12:10 +01:00
Zaiming (Stone) Shi 77c0a288b2
Merge pull request #12225 from zmstone/1222-fix-config-update-for-ft
1222 fix config update for ft
2023-12-22 20:10:54 +01:00
Thales Macedo Garitezi 890970345b test: reduce flakiness 2023-12-22 15:31:56 -03:00
Thales Macedo Garitezi 0e172f6d1f
Merge pull request #12222 from thalesmg/test-fix-after-fix-m-20231222
test: restore connect timeout for test case
2023-12-22 15:28:49 -03:00
Zaiming (Stone) Shi ac6e4cf2cc fix: config update for ft 2023-12-22 19:01:14 +01:00
Zaiming (Stone) Shi 733196aa83 chore: prepare for e5.4.0-build.2 2023-12-22 18:59:46 +01:00
Thales Macedo Garitezi 85963d3b45 test: restore connect timeout for test case 2023-12-22 14:10:24 -03:00
Zaiming (Stone) Shi 4c3c38a35a
Merge pull request #12220 from zmstone/1221-prepare-bpapi-on-otp-26
1221 prepare bpapi on otp 26
2023-12-22 18:08:09 +01:00
Zaiming (Stone) Shi 23ded313ec chore: update app versions 2023-12-22 15:29:22 +01:00