Commit Graph

8218 Commits

Author SHA1 Message Date
lafirest c9cbaeff95 fix(emqx_lwm2m): limit the max size of cmd record 2021-12-09 14:39:11 +08:00
JimMoen 30e3d65662
Merge pull request #6409 from JimMoen/update-dashboard-version
chore(dashboard): change dashboard repo and version
2021-12-09 13:49:10 +08:00
JianBo He 028f1fa71c chore(gw): fix listener examples 2021-12-09 11:33:09 +08:00
JimMoen 257ee19be5 chore(dashboard): change dashboard repo and version 2021-12-09 11:31:31 +08:00
Shawn f7941cd2bb
Merge pull request #6387 from terry-xiaoyu/improve_connector_apis
Improve bridge and connector APIs
2021-12-09 10:54:55 +08:00
DDDHuang 7aa08a82d5
Merge pull request #6283 from DDDHuang/as_doc_example
fix: add auto subscription swagger example
2021-12-09 10:35:08 +08:00
Thales Macedo Garitezi d132f96380
Merge pull request #6407 from emqx/bugfix-live-chan-count-50
fix(live_conn): fix live connection count on race condition (5.0)

Port from #6406 to 5.0.

When multiple clients try to connect concurrently using the same
client ID, they all call `emqx_channel:ensure_connected`, increasing
the live connection count, but only one will successfully acquire the
lock for that client ID.  This means that all other clients that
increased the live connection count will not get to call neither
`emqx_channel:ensure_disconnected` nor be monitored for `DOWN`
messages, effectively causing a count leak.

By moving the increment to `emqx_cm:register_channel`, which is only
called inside the lock, we can remove this leakage.

Also, during the handling of `DOWN` messages, we now iterate over all
channel PIDs returned by `eqmx_misc:drain_down`, since it could be
that one or more PIDs are not contained in the `pmon` state.
2021-12-08 16:21:17 -03:00
Ilya Averyanov 1c9d867c5e chore(authz): add test for authz backend creation dry run 2021-12-08 21:38:10 +03:00
Ilya Averyanov b7d227d2ef chore(authz): move file backend to a separate module 2021-12-08 21:38:10 +03:00
Ilya Averyanov 056558e445 chore(authz): encapsulate authz backend logic 2021-12-08 21:38:10 +03:00
Thales Macedo Garitezi 2b5fe9179e
fix(live_conn): fix live connection count on race condition (5.0)
Port from #6406 to 5.0.

When multiple clients try to connect concurrently using the same
client ID, they all call `emqx_channel:ensure_connected`, increasing
the live connection count, but only one will successfully acquire the
lock for that client ID.  This means that all other clients that
increased the live connection count will not get to call neither
`emqx_channel:ensure_disconnected` nor be monitored for `DOWN`
messages, effectively causing a count leak.

By moving the increment to `emqx_cm:register_channel`, which is only
called inside the lock, we can remove this leakage.

Also, during the handling of `DOWN` messages, we now iterate over all
channel PIDs returned by `eqmx_misc:drain_down`, since it could be
that one or more PIDs are not contained in the `pmon` state.
2021-12-08 15:15:27 -03:00
k32 9fbc247e29 feat(system_monitor): Add system_monitor application 2021-12-08 16:34:10 +01:00
Shawn d76f82d3d2 fix(bridges): add new option 'enable' for bridge configs 2021-12-08 18:16:38 +08:00
JianBo He afb2cf19c2
Merge pull request #6297 from HJianBo/gw-improve-apis-2
Standardize HTTP-APIs return value and Status/Error Code
2021-12-08 18:02:13 +08:00
Tobias Lindahl 92f116afa4
Merge pull request #6393 from emqx/fix-takeover-race-on-enqueued-messages 2021-12-08 11:00:46 +01:00
JianBo He 7c261b5356 chore(gw): improve examples for _gateway_api 2021-12-08 17:18:39 +08:00
JianBo He e48f10d2d6 chore(gw): ignore needless args 2021-12-08 11:33:11 +08:00
JianBo He a937a3d4dc chore(gw): fix bad argument type 2021-12-08 11:13:00 +08:00
JianBo He 0eff5358ca chore(gw): add examples for gw&client api 2021-12-08 10:52:27 +08:00
Ilya Averyanov 2b0a3e8ba3 refactor(authn): unify password hashing 2021-12-07 23:38:26 +03:00
Zaiming (Stone) Shi 9276a5bc3c
Merge pull request #6394 from zmstone/fix-typo-in-hook-point-name
fix: typo takeovered -> takenover
2021-12-07 21:06:30 +01:00
Tobias Lindahl 14bef1ba31 refactor: make clauses safe for future reordering 2021-12-07 16:14:32 +01:00
Zaiming (Stone) Shi 5440b431a1 fix: typo takeovered -> takenover 2021-12-07 16:06:23 +01:00
William Yang 3fdc075b24
Merge pull request #6390 from qzhuyan/fix/william/systemd-restart-on-failure
build(deb): fix postrm for checking systemd
2021-12-07 14:41:30 +01:00
Tobias Lindahl e6ecc6ca60 fix(emqx_channel): fix race condition in session takeover
Sessions must not enqueue messages when another process is taking over
the client id, since it already passed on the message queue in the
session state.

Without this fix, messages arriving after `{takeover, 'begin'} to a
channel with no connection (i.e., a persistent session) would be lost.
2021-12-07 14:17:59 +01:00
William Yang afd07591bd build(deb): fix postrm for checking systemd 2021-12-07 13:27:46 +01:00
William Yang ff0aa0b224
Merge pull request #6360 from qzhuyan/fix/william/systemd-restart-on-failure
Fix emqx restart when failure for deb package
2021-12-07 12:22:45 +01:00
William Yang 75eafcd630 build(deb): deb pkg enable/disable emqx system 2021-12-07 10:57:38 +01:00
Shawn 12fbcd8181 feat(connector): add num_of_bridges to the response of GET /connectors 2021-12-07 15:09:08 +08:00
Shawn 51f772aade
Merge pull request #6342 from terry-xiaoyu/improve_rule_api_swagger
Improve HTTP APIs for /rules, /bridges and /connectors
2021-12-07 11:13:19 +08:00
Shawn 098d8eacb7 fix(metrics): update testcases for plugin_libs_metrics 2021-12-07 10:12:04 +08:00
Shawn cc96880f18 fix(dialyzer): some dialyzer issue 2021-12-07 09:56:57 +08:00
Shawn 6903997b94 feat(connector): add new option 'mode' to mqtt connectors 2021-12-07 09:56:57 +08:00
Shawn 9b4fe87ed0 fix(bridges): update testcases for bridge APIs 2021-12-07 09:56:57 +08:00
Shawn e1794fbce6 fix(connector): create different schema for POST,PUT,GET methods 2021-12-07 09:56:57 +08:00
Shawn 56d46c80eb refactor(rule): generate swagger from hocon schema for /bridges 2021-12-07 09:56:57 +08:00
Shawn affe69afd6 fix(rules): update the test cases for rule APIs 2021-12-07 09:48:47 +08:00
Shawn 416b9f8d7c refactor(rule): generate swagger from hocon schema for /rules 2021-12-07 09:48:47 +08:00
Shawn 24bded99d5 refactor(metrics): rename speed to rate in emqx_plugin_libs_metrics 2021-12-07 09:47:53 +08:00
Shawn e07fce791f feat(connector): add examples to the swagger doc 2021-12-07 09:47:53 +08:00
Tobias Lindahl 4eef9a5bac
Merge pull request #6378 from emqx/fix-flaky-tests-persistent-session-SUITE
test(flaky_tests): fix persistent_session_SUITE
2021-12-06 14:01:34 +01:00
Thales Macedo Garitezi b6dede3679
Merge pull request #6372 from emqx/fix-typo-listeners
fix(listeners): fix typo in listener type

`emqx_listeners:{current,max}_conns` were matching on type `tcl`.
However, this type doesn't exist (it's not defined in
`?TYPES_STRING`). Therefore, this clause would never match.  It seems
that the intention was that it shouldbe `tcp`.
2021-12-06 09:06:54 -03:00
Tobias Lindahl 6ed3dbd39b test(persistent_session_SUITE): protect against non-atom sinks 2021-12-06 12:40:58 +01:00
Thales Macedo Garitezi 2d46ae7517
fix(typo): fix more typos and restore rate_limit config after test 2021-12-06 08:14:50 -03:00
Tobias Lindahl e62b094f3b test(snabbkaffe): Update to latest snabbkaffe
In particular, this should remove the flaky snabbkaffe failures in
persistent session SUITE where the snabbkaffe_nemesis is trying to
make an ets:lookup in a table that no longer exists.
2021-12-06 11:22:25 +01:00
JimMoen a6a1b288d2
Merge pull request #6365 from JimMoen/fix-vm-mem-info
fix(vm_mem): info calc and display
2021-12-06 17:47:52 +08:00
Tobias Lindahl 366c757959 test(flaky_tests): fix persistent_session_SUITE
Increase timeout on message receive and ensure more info when the test fails.
2021-12-06 10:42:19 +01:00
DDDHuang b0b2adca37
Merge pull request #6377 from DDDHuang/alram_api_info
fix(alarm): alarm message with .2f format
2021-12-06 17:42:02 +08:00
JianBo He d735e2e755 chore: delete 500 error 2021-12-06 16:34:00 +08:00
JianBo He f1dbeb4bda chore: fix bad result match 2021-12-06 16:34:00 +08:00