Commit Graph

10421 Commits

Author SHA1 Message Date
firest 23e9ed763e chore: bump version && update changes 2024-01-09 10:20:54 +08:00
zhongwencool 7365160eeb
Merge pull request #12275 from thalesmg/sync-r54-m-20240108
sync r54 into master
2024-01-09 10:05:06 +08:00
Thales Macedo Garitezi 7763b0fd34 chore: bump app vsns 2024-01-08 17:42:56 -03:00
Thales Macedo Garitezi 756980837c Merge branch 'release-54' into sync-r54-m-20240108 2024-01-08 17:39:42 -03:00
ieQu1 caf461fdf6 fix(ds): Don't start the supervision tree when feature is not in use 2024-01-08 17:59:19 +01:00
firest c180325e0a feat(retain): add two new endpoints for retain API 2024-01-08 19:11:43 +08:00
firest 714abaf73b chore: bump syskeeper version 2024-01-08 15:47:39 +08:00
firest 2fb1569363 fix(sysk): improve the seakeeper schema 2024-01-08 15:25:56 +08:00
zhongwencool ec34b6f41d refactor: remove redis_type from redis action 2024-01-08 15:09:37 +08:00
zhongwencool 3404f39fd2 chore: remove redundant redis action swagger example 2024-01-08 10:45:54 +08:00
lafirest 7f57ec47d5
Merge pull request #12261 from lafirest/fix/iotdb
feat(iotdb): improve the IoTDB bridge to v2 style
2024-01-08 09:46:07 +08:00
firest 6f4b22e376 test(iotdb): add template test case for IoTDB 2024-01-06 21:32:37 +08:00
firest d221f34ce8 chore: bump version && update changes 2024-01-06 13:34:07 +08:00
firest e20b024b6e fix(iotdb): fix iotdb testcases 2024-01-06 13:01:43 +08:00
Andrew Mayorov 803529968e
test(s3): fix httpc ssl opts 2024-01-05 19:35:13 +01:00
Ivan Dyachkov 06117c3a33 Merge remote-tracking branch 'upstream/release-54' into 0105-sync-r54 2024-01-05 14:20:38 +01:00
Ivan Dyachkov d04ac08d1d chore: release 5.4.1 2024-01-05 11:48:28 +01:00
firest d16458ccd0 feat(iotdb): improve the IoTDB bridge to v2 style 2024-01-05 16:54:31 +08:00
yr 37feeed560 fix: judgment condition always failure 2024-01-05 14:23:15 +08:00
Xinyu Liu da3937b80e
Merge pull request #12247 from emqx/split_influxdb_connector_actions
refactor: split influxdb bridges to actions and connectors
2024-01-05 14:07:35 +08:00
Shawn 2f08471303 fix: cannot found desc for influxdb_parameters 2024-01-05 11:59:13 +08:00
Shawn 9714092525 fix: fix: update more influxdb testcases 2024-01-05 11:20:27 +08:00
Andrew Mayorov 304fe84434
fix(mysql): expect password may be missing from config 2024-01-04 15:16:27 +01:00
Shawn 8ebd233a46 chore: update influxdb-erl to 1.1.12 2024-01-04 10:20:52 +08:00
zhongwencool 90404b62a4 fix: incorrectly attempt to update the field value when the previous field don't have value 2024-01-04 10:12:34 +08:00
Shawn 19e2ec9748 fix: update influxdb testcases 2024-01-03 18:39:29 +08:00
zhongwencool 00e8a36dbe fix: the API prompt garbled characters for updating the configuration 2024-01-03 15:34:45 +08:00
JianBo He 57c0a7c5ef
Merge pull request #12235 from zhongwencool/ft-config-update-api
fix: ft config update api return raw config
2024-01-03 14:07:22 +08:00
Ivan Dyachkov d4c83cf463 chore: tag 5.4.1-alpha.1 2024-01-02 14:37:45 +01:00
Shawn 904bd0270f chore: bump app versions 2024-01-02 18:04:06 +08:00
Shawn 7c7a0b2172 refactor: split influxdb bridges to actions and connectors 2024-01-02 18:01:22 +08: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 5c91984ad7
chore: leave comment describing need for tighter synchronization 2023-12-29 14:04:48 +01:00
Ilya Averyanov 9e0f3ce53b feat(ds): restore original add_generation/update_db_config callback semantics 2023-12-29 13:12:15 +03:00
JimMoen 5e100f52b8
style: erlfmt all `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 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 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
zhongwencool 1fd67564ce fix: return raw config when update ft's config 2023-12-28 14:49:36 +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
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
zhongwencool 11feab983f fix: clean rpc_commit when force_leave cluster 2023-12-26 15:25:58 +08: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
Thales Macedo Garitezi 890970345b test: reduce flakiness 2023-12-22 15:31:56 -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 23ded313ec chore: update app versions 2023-12-22 15:29:22 +01:00
Zaiming (Stone) Shi 891fd972bd Merge remote-tracking branch 'origin/release-54' into 1221-prepare-bpapi-on-otp-26 2023-12-22 15:19:25 +01:00
Zaiming (Stone) Shi 5b5d4a6f68 chore: bump release version to e5.4.0-build.1 2023-12-22 14:00:12 +01:00
zhongwencool a16bce8c24 fix: deobfuscate ft's secret keys in api 2023-12-22 13:13:44 +01:00
Zaiming (Stone) Shi 20543d55ef chore: bump app vsn 2023-12-22 13:13:30 +01:00
Zaiming (Stone) Shi 322b7bb7d2 chore: bump app vsn 2023-12-22 13:00:37 +01:00
Zaiming (Stone) Shi ecc31217fd Merge remote-tracking branch 'origin/master' into 1221-prepare-bpapi-on-otp-26 2023-12-22 12:48:06 +01:00
Zaiming (Stone) Shi 17d3037a13 chore: add 5.4.bpapi 2023-12-22 12:47:41 +01:00
ieQu1 ec0693861a fix(static_checks): Prepare for OTP26 2023-12-22 12:02:30 +01:00
zhongwencool 2d5f7e0a6d
Merge pull request #12215 from thalesmg/sync-r54-m-20231221
sync r54 to master
2023-12-22 10:24:29 +08:00
Thales Macedo Garitezi 035f5f977e Merge remote-tracking branch 'origin/release-54' into sync-r54-m-20231221 2023-12-21 17:53:05 -03:00
Zaiming (Stone) Shi f4286f3208 test(gcp_pubsub): increase wait timeout and fix falt injection 2023-12-21 20:59:51 +01:00
Zaiming (Stone) Shi 36d2929534 chore: prepare for release version 5.4.0 2023-12-21 19:51:12 +01:00
Zaiming (Stone) Shi a9b1b82546
Merge pull request #12210 from keynslug/feat/EMQX-11579/schema-type-doc
feat(schema): provide type-level documentation snippets
2023-12-21 18:46:22 +01:00
Zaiming (Stone) Shi d9b3280f30
Merge pull request #12214 from zhongwencool/update-actions-connectors
fix: emqx conf ctl load failed with connectors/actions
2023-12-21 17:39:44 +01:00
Andrew Mayorov aa3f8d6735
fix(typedoc): meld it into the field doc in the meantime 2023-12-21 17:15:54 +01:00
Andrew Mayorov 85d7518a7d
feat(schema): provide type-level documentation snippets
For stuff like `duration()`, `bytesize()` and `secret()` for now.
2023-12-21 17:15:54 +01:00
zhongwencool 37930f1d3c fix: emqx conf ctl load failed with connectors/actions 2023-12-21 22:09:53 +08:00
zhongwencool 74f1ce0955
Merge pull request #12211 from zhongwencool/redis-resource-opts
fix: redis resource_opts not working
2023-12-21 22:08:41 +08:00
Thales Macedo Garitezi 18b69809da Merge branch 'release-54' into sync-r54-m-20231221 2023-12-21 10:05:13 -03:00
Thales Macedo Garitezi d898573acf
Merge pull request #12208 from thalesmg/test-yet-another-attempt-r54-20231220
test(gcp_pubsub_consumer): yet another attempt to stabilize tests
2023-12-21 09:55:33 -03:00
zhongwencool 5d1a412d0c fix: redis resource_opts not working 2023-12-21 18:29:49 +08:00
lafirest de02dd21ca
Merge pull request #12157 from lafirest/feat/dsgen
feat(ds): add an API for making new generations
2023-12-21 09:30:17 +08:00
Thales Macedo Garitezi 471877598e
Merge pull request #12209 from thalesmg/fix-schema-file-typo-r54-20231220
ci: fix typo in file name
2023-12-20 17:49:07 -03:00
Thales Macedo Garitezi aeabff41c9 ci: fix typo in file name 2023-12-20 15:39:57 -03:00
Thales Macedo Garitezi b2c82ab052 test(gcp_pubsub_consumer): yet another attempt to stabilize tests
Hopefully, should work better after https://github.com/emqx/emqx/pull/12197
2023-12-20 13:21:13 -03:00
Thales Macedo Garitezi a43f49f8fa chore: prepare to tag `5.4.0-rc.1` 2023-12-20 12:43:08 -03:00
Thales Macedo Garitezi 2b03ae8daf
Merge pull request #12205 from thalesmg/fix-list-v2-actions-in-v1-bridges-r54-20231220
fix(bridges_v1): don't list v2-only bridges in API
2023-12-20 12:37:16 -03:00
Andrew Mayorov f39af14524
Merge pull request #12180 from keynslug/fix/gw-dtls-opts
fix(gw): use more conservative set of DTLS options
2023-12-20 15:24:56 +01:00
firest 612be8e280 fix(ds): make dialyzer happy 2023-12-20 22:09:03 +08:00
Thales Macedo Garitezi b61ccf3373 fix(bridges_v1): don't list v2-only bridges in API
Fixes https://emqx.atlassian.net/browse/EMQX-11614
2023-12-20 10:46:35 -03:00
Andrew Mayorov ccb9a977d6
test(gw-authn): switch to `emqx_cth_suite` + simplify testsuite 2023-12-20 14:38:18 +01:00
Andrew Mayorov 76c89ad372
test(gw-authz): switch to `emqx_cth_suite` + simplify testsuite
Also separate DTLS related MQTT-SN test config, so that it doesn't
leak into this test suite.
2023-12-20 14:37:49 +01:00
Serge Tupchii 333709164c refactor: change mria default shard transport from 'gen_rpc' to 'distr'
Erlang distribution seems to outperform gen_rpc (unless gen_rpc clients
are scaled up, but this is not easy to achive for shard transport as it
may reorder events).
2023-12-20 15:37:00 +02:00
Andrew Mayorov 32a64cf201
fix(gw): update DTLS listener setup according to esockd 5.11.x
Also drop unnecessary UDP default options.
2023-12-20 13:59:30 +01:00
Andrew Mayorov 62bb9938e7
test(exproto): switch to `emqx_cth_suite` + fix listener options 2023-12-20 13:59:30 +01:00
firest ed38ca67d5 fix(ds): Unified the names of the `add_generation` API 2023-12-20 18:58:03 +08:00
Andrew Mayorov 5c5ecbe3cf
fix(gw): unbreak schema + transform DTLS options properly
Thus ensuring full backward compatibility. Unsupported options
(`gc_after_handshake`, `ocsp`) are silently ignored now. Also make
sure that UDP configuration are part of DTLS option set, as expected
by `esockd`.
2023-12-20 11:46:08 +01:00
Andrew Mayorov 3ea2bbefaa
test(mqttsn): generate TLS certificates for tests on the fly 2023-12-20 11:46:07 +01:00
Andrew Mayorov 3d679f7e26
test(cth-tls): add test helpers for TLS related activities
Currently, only certificate issuing and related utilities are there.
2023-12-20 11:46:07 +01:00