Commit Graph

6497 Commits

Author SHA1 Message Date
Tobias Lindahl 31cb1179af refactor: Move deliver and persist out of server context 2021-08-09 11:38:47 +02:00
Tobias Lindahl 1c274b15d2 refactor: move common router parts out 2021-08-09 11:38:47 +02:00
Tobias Lindahl 6497dc30b7 feat: Add session router and persist messages to persistent subscribers
The session routing is keeping track of the subscriptions of persistent sessions.
2021-08-09 11:38:47 +02:00
Tobias Lindahl 5d4645b774 test: add some tests for persistent sessions 2021-08-09 10:47:51 +02:00
Tobias Lindahl 008eae5a8e feat: More reliable persistent sessions
Add sessions with expiry interval set to > 0 to a mnesia table to
avoid losing the session even if the connection process dies or the
node goes down. Messages sent after the process dies are still lost.
2021-08-09 10:29:26 +02:00
Tobias Lindahl 6e05ba17b0 test: add Makefile target for running one testsuite locally 2021-08-09 10:19:37 +02:00
tigercl 40a9932167
Merge pull request #5427 from tigercl/feat/redis-authn
feat(authn redis): support authn with redis
2021-08-09 11:11:37 +08:00
JianBo He ade69c1e18 fix(exhook): more safe type convertion 2021-08-07 08:48:34 +08:00
JianBo He 6dd33907f1 fix(exhook): fix the server name type 2021-08-07 08:48:34 +08:00
JianBo He 183a65d263 fix(exhook): fix the server config format 2021-08-07 08:48:34 +08:00
JianBo He 31d4f72d16 fix(exhook): correct the broker-info 2021-08-07 08:48:34 +08:00
Zaiming (Stone) Shi e162b42b40
Merge pull request #5414 from zmstone/fix-graceful-shutdown
feat: add graceful shutdown
2021-08-06 13:53:18 +02:00
Zaiming Shi e698600903 refactor(emqx_machine): supervise terminator 2021-08-06 12:51:25 +02:00
Zaiming Shi 032a49114c fix(emqx_machine): start terminator in emqx_machine_app 2021-08-06 12:16:15 +02:00
Zaiming Shi 5063d3a2b3 fix(emqx_machine): ensure digraph is deleted after use
also add tests
2021-08-06 12:16:10 +02:00
Zaiming Shi 75f9741d75 fix(terminator): ensure erl_signal_server init:stop
ensure init:stop can be triggered by kill signal even before the
terminator is ready
2021-08-06 11:10:16 +02:00
Zaiming Shi 304b322a0c fix(emqx_machine): handle early shutdown 2021-08-06 10:20:42 +02:00
zhouzb f43d3e9f66 feat(authn redis): add api spec for redis authentication 2021-08-06 15:22:49 +08:00
Zaiming Shi 81c9dcb6ae refactor(emqx_machine_terminator): future-proof try-catch
Ensure exceptions in emqx_machine:stop_apps/0 is caught
and call init:stop/0 in the after clause
2021-08-06 08:51:48 +02:00
Zaiming Shi 044e084698 feat(emqx_machine): ignore sighup, ensure sigterm 2021-08-06 08:46:07 +02:00
Zaiming Shi 85f8ba10ce fix(emqx_machine_signal_handler): ignore unknown info 2021-08-06 08:21:06 +02:00
zhouzb 3761db0525 feat(authn redis): support authn with redis 2021-08-06 14:05:31 +08:00
Zaiming Shi bee8f01ee8 feat(emqx_machine): add a kill signal handler
Now the signal from kill PID can also be handled gracefully
2021-08-06 02:12:21 +02:00
Zaiming Shi 4025d31295 refactor(emqx_machine): move code from _app module to to emqx_machine 2021-08-05 14:30:59 +02:00
Zaiming Shi bc23ff5e47 feat: add graceful shutdown
prior to this cahnge emqx node shutdown is done by init:stop
which might have undesired stop order of the applications

in this change, emqx_machine_terminator is added to stop apps
in defined order and then terminate the node in infinite loop
2021-08-05 14:11:58 +02:00
Zaiming (Stone) Shi 70e49ab629
Merge pull request #5409 from zmstone/refactor-listener-impl
Refactor: listeners listing & quic listener start
2021-08-05 14:10:12 +02:00
Zaiming Shi d453005d8b fix(emqx): pin quicer 0.0.7 2021-08-05 13:43:22 +02:00
Zaiming Shi d3038c0b71 fix(exhook): BrokerInfo uptime is now a duration integer 2021-08-05 12:58:03 +02:00
Zaiming Shi 6f8ca4ce07 feat: allow disable listener from environment variable 2021-08-05 12:58:03 +02:00
Zaiming Shi ce24696329 refactor(emqx_app): start quic listener condition
when the app is present, and when listners are configured
2021-08-05 12:58:03 +02:00
Zaiming Shi bdb871cb9a refactor(emqx_listeners): simplify listing logic 2021-08-05 12:07:10 +02:00
DDDHuang e7cb9491c6
Merge pull request #5306 from DDDHuang/sys_info
chore: sys uptime by millisecond
2021-08-05 13:51:06 +08:00
zhanghongtong dba37513a1 fix(emqx_ctl): fix an error when "~" in the print content 2021-08-05 10:45:40 +08:00
JianBo He 835eb84b5d chore(gw): remove needless files 2021-08-05 09:47:17 +08:00
JianBo He 94e33c3917 chore(gw): adapt to authn config format 2021-08-05 09:47:17 +08:00
JianBo He 1b2f732f13 chore(gw): fix zone name 2021-08-05 09:47:17 +08:00
JianBo He f36c523ae8 chore(gw): integrate with emqx-authn 2021-08-05 09:47:17 +08:00
zhanghongtong cf20fc6db7 chore(CI): easier build packages
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-04 22:20:54 +08:00
Zaiming (Stone) Shi e6573fe32b
Merge pull request #5406 from zmstone/build-some-fixes-for-build-on-otp24
build: update few dependencies for otp 24 build
2021-08-04 15:23:08 +02:00
Zaiming Shi 255d97ae1e build: update few dependencies for otp 24 build 2021-08-04 12:38:51 +02:00
Zaiming (Stone) Shi 58446217a6
Merge pull request #5341 from zmstone/split-emqx-app
Split emqx app
2021-08-04 09:43:10 +02:00
DDDHuang b3ea7f9cce
Merge pull request #5378 from DDDHuang/clients_api_fix
fix: add cleints api query params doc & unsubscribe api
2021-08-04 15:07:51 +08:00
Zaiming Shi 781de7f2a7 test(authz): ensure config cleaned up after test 2021-08-04 08:40:09 +02:00
Zaiming Shi e6232665a3 refactor(emqx): ensure app shutdown and reboot order
make use of application dependency to ensure start order.
also the same dependency top-sorted for shutdown and reboot order
2021-08-04 08:40:03 +02:00
DDDHuang b99ec04267
Merge pull request #5379 from DDDHuang/listeners_api_fix
fix: listeners id param name
2021-08-04 14:39:45 +08:00
DDDHuang ac2084daeb
Merge pull request #5382 from DDDHuang/publish_api_fix
fix: publish api params
2021-08-04 14:39:05 +08:00
Zaiming Shi ff006abd5c fix(rebar.config): app names for dialyzer 2021-08-04 08:36:10 +02:00
Zaiming Shi ebf897a14c fix(rebar.config): do not restart emqx_machine 2021-08-04 08:36:10 +02:00
Zaiming Shi 3cda69fa3f fix(logging): text log formatter avoid binary literals 2021-08-04 08:36:10 +02:00
Zaiming Shi 58d0717b2f fix: add debug log for apps stop 2021-08-04 08:36:10 +02:00