Commit Graph

588 Commits

Author SHA1 Message Date
Tobias Lindahl 5643eba166 chore(persistent_session): add description for ps db backend 2021-11-01 10:29:22 +01:00
Tobias Lindahl 03309ccd7c refactor(persistent_session): clean up code in termination 2021-11-01 10:28:39 +01:00
Tobias Lindahl bb040ed95e test(persistent_session): try to fix flaky snabbkaffe failure 2021-11-01 10:17:00 +01:00
Tobias Lindahl b4d99bc176 fix(persistent_sessions): Add both disc and ram tables to avoid schema confusion 2021-11-01 09:40:52 +01:00
Tobias Lindahl ab3526260c feat(persistent_sessions): make table type in mnesia backend configurable 2021-10-29 10:14:39 +02:00
Tobias Lindahl 716dcd0086 chore(persistent_sessions): tune mnesia parameters for better dump behavior 2021-10-28 09:56:36 +02:00
Tobias Lindahl 9481a77a01 test(persistent_sessions): stabilize flaky tests 2021-10-27 14:12:03 +02:00
Tobias Lindahl d2bc5e77a7 fix(persistent_sessions): channels can terminate without a session 2021-10-27 14:09:08 +02:00
Tobias Lindahl 48c7788d6f
Merge pull request #5875 from emqx/extend-persistent-sessions
Extend persistent sessions
2021-10-27 09:12:13 +02:00
Tobias Lindahl 99836b2660 fix(persistent_sessions): add back the trap_exit 2021-10-26 10:52:27 +02:00
JimMoen 0bd5cd9336 feat(authn): authn users page query 2021-10-26 16:16:37 +08:00
Tobias Lindahl 558416af1d chore(persistent_sessions): remove redundant trap_exit flag 2021-10-26 10:01:02 +02:00
Tobias Lindahl 28417ad1d7 fix(persistent_sessions): allow for some failures of workers 2021-10-26 09:55:57 +02:00
Tobias Lindahl 234641ccf4 refactor(persistent_sessions): don't start session sup when disabled 2021-10-26 09:54:41 +02:00
Tobias Lindahl e3dc9b3f4f fix(persistent_sessions): start the message gc timer 2021-10-26 09:53:49 +02:00
Tobias Lindahl f39ccfb304 chore(persistent_sessions): address review comments 2021-10-26 09:53:18 +02:00
Zaiming Shi a7413bc11e fix(authn): save certificates to certs dir 2021-10-24 16:21:57 +02:00
Zaiming Shi 71d2e6bebd refactor(authz): call emqx_tls_lib to save & read SSL files 2021-10-24 10:44:47 +02:00
Zaiming Shi a7771afd9d refactor(tls): move ssl files handling to emqx_tls_lib
This is an attempt ot make it more generic for other APPs to use.
Aslo added test cases to cover most of the code paths.
2021-10-23 18:20:38 +02:00
Zaiming (Stone) Shi bdeb1685e0
Merge pull request #5977 from zmstone/chore-pin-hocon-0.20.5
Pin hocon 0.20.5
2021-10-22 16:36:12 +02:00
Zaiming Shi 0937c81632 test: fix emqx_config_SUITE 2021-10-22 09:45:01 +02:00
Tobias Lindahl 64787f4ccd test(persistent_session): fix bad guard 2021-10-22 01:03:08 +02:00
Tobias Lindahl 10de564abf test(persistent_sessions): test websocket connection 2021-10-22 00:46:58 +02:00
Zaiming Shi aa6053291e fix(schema): add roots for emqx_zone_schema
emqx_zone_schema is never used at root level, but for config doc
generation, it needs the roots.
2021-10-21 23:11:02 +02:00
Zaiming Shi b03b0717ce docs: authenticator_config ref link to the struct 2021-10-21 23:11:02 +02:00
Zaiming Shi f9b211cce6 chore: pin hocon 0.20.5
for two changes:
default string values are filled with binary() instead of [integer()]
better reference links in config document
2021-10-21 23:09:51 +02:00
Tobias Lindahl 9188f5b67e fix(persistent_sessions): postpone table creation until configs are loaded 2021-10-21 15:23:22 +02:00
Tobias Lindahl fe4d14303c fix(persistent_session): fix rebase error 2021-10-21 15:23:22 +02:00
Tobias Lindahl ec429857e0 refactor(persistent_sessions): code format changes after review 2021-10-21 15:23:21 +02:00
Tobias Lindahl 655d31726a feat(persistent_session): add early removal of delivered message 2021-10-21 15:23:21 +02:00
Tobias Lindahl b9b8111edb test: add new proper types to #session{} after rebase 2021-10-21 15:23:21 +02:00
Tobias Lindahl fd71bc50ab fix(persistent_session): Make sure to discard expired sessions on reconnect 2021-10-21 15:23:21 +02:00
Tobias Lindahl f2d26f5e03 test(persistent_sessions): Remove bogus stopping of quicer 2021-10-21 15:23:21 +02:00
Tobias Lindahl 12639addb9 fix(persistent_session): Make sure the connection processs is dead 2021-10-21 15:23:21 +02:00
Tobias Lindahl ed0f435546 chore(persistent_sessions): correct copyright information in new files 2021-10-21 15:23:21 +02:00
Tobias Lindahl fdba441f4f fix(persistent_sessions): revert bogus table type change 2021-10-21 15:23:21 +02:00
Tobias Lindahl 7808ffe600 fix(persistent_sessions): protect (un)subscribe from calling session router 2021-10-21 15:23:21 +02:00
Tobias Lindahl 7b394267dd feat: persistent sessions stored in mnesia
* Persistent sessions can survive node/connection process down
* Internal SessionID is generated, external ClientID is as before
* Sessions are persisted to mnesia
* A session router is added in parallel to the ordinary router
* Messages that are subscribed to by a persistent session are
  persisted by publisher
* Information about persisted and delivered messages are stored in
  mnesia per session.
* A resume protocol similar to takeover is implemented for resuming
  from mnesia
* Can be configured (and enabled) by the top lever config
  "persistent_session_store"
2021-10-21 15:23:21 +02:00
Tobias Lindahl fc7b4c0009 refactor: make it possible to use different tries
In preparation for persistent sessions
2021-10-21 15:23:21 +02:00
Tobias Lindahl 24e870672c refactor: use set_session in preparation for persistent sessions 2021-10-21 15:23:21 +02:00
Ilya Averyanov e37ecc10a6 style(behaviour attrs): unify behaviour declarations 2021-10-21 15:10:59 +03:00
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
k32 9fdd5e6a7e
fix(emqx_machine): Fix start/stop callbacks (#5969)
* fix(emqx_machine): Fix start/stop callbacks

* chore(ekka): Bump version to 0.11.1

* fix(router): Wait for the tables

* fix(emqx_cluster_rpc): Stop cluster RPC when joining a cluster

* fix(emqx_app): Fix a deadlock when joining the cluster

* fix(emqx_telemetry): Wait for mnesia tables

* test(ct_helper): Start ekka before emqx
2021-10-21 14:49:21 +08:00
Zaiming (Stone) Shi ed069cfecc
Merge pull request #5963 from zmstone/refactor-authn-schema
refactor(authn): check authenticator config with provider module
2021-10-21 08:07:48 +02:00
tigercl 45b484a26a
Merge pull request #5967 from tigercl/fix/authn-mysql
fix(authn): fix placeholders are not replaced correctly
2021-10-21 10:20:05 +08:00
zhouzb ef731c74eb chore(deps): unify version of hocon 2021-10-21 09:35:00 +08:00
William Yang 7b3537d822
Merge pull request #5966 from qzhuyan/dev/william/lc-0.1.2
feat(olp): bump to 0.1.2
2021-10-20 21:57:31 +02:00
Zaiming Shi ce5b456872 refactor(authn): make schema doc generation work 2021-10-20 17:42:06 +02:00
Zaiming Shi fa91e5f583 fix(authn): allow single authenticator instance from config 2021-10-20 15:06:08 +02:00
Zaiming Shi 019b9d17f6 refactor(emqx_config_handler): async remove 2021-10-20 14:12:46 +02:00