Commit Graph

4453 Commits

Author SHA1 Message Date
Zaiming Shi eeffc209df perf(emqx_router): optimise trans result receive 2021-05-06 06:36:46 +02:00
William Yang 84e032f2e1 chore(ci): disable elvis checks on pull requests
It is meaningless to do elvis checks on maintenance branches.
2021-05-05 11:49:08 +02:00
Zaiming (Stone) Shi 989ab64c21 chore(schema): update schema comment for trans lock type 2021-05-05 11:49:08 +02:00
William Yang b45a60fd3c fix(upgrade): default val for trans lock type. 2021-05-05 11:49:08 +02:00
William Yang 2f405f9fa6 feat(upgrade): upgrade code for new trans lock types 2021-05-05 11:49:08 +02:00
William Yang 74bc7c6a07 perf(broker): speedup trans when broker has a big mqueue 2021-05-05 11:49:08 +02:00
William Yang a4d8ef4f93 perf(broker): Optimization for handling bursty traffic
intro. new lock type: 'spawn' of broker.perf.route_lock_type

mnesia get lock calls are not optimized for selective receive.

hence taking locks would be very expensive while there are tones of
messages in the brokers message queue.

This optimization run the transaction in a separate process to utilize
the selective receive optimization of the compiler.
2021-05-05 11:49:08 +02:00
William Yang e9c14df7a3 perf(broker): new perf toggle broker.perf.route_lock_type 2021-05-05 11:49:08 +02:00
William Yang 154bf0d446 fix(broker): broker call should not timeout before client timeout
So change broker call timeout to infinity.
2021-05-05 11:49:08 +02:00
William Yang ebc1b8521b perf(router): add route runs in async dirty context 2021-05-05 11:49:08 +02:00
William Yang cee378c345 perf(trie): use global lock
Use global lock to reduce remote lock overhead.

So that emqx route trans can run in dirty *sync* context.

At least 10X subscribe/unsubscribe improvments.
2021-05-05 11:49:08 +02:00
Zaiming (Stone) Shi 23164f0a2d
Merge pull request #4725 from zmstone/upgrade-ekka-0.7.7
chore(deps): upgrade to ekka 0.7.7
2021-04-30 19:07:53 +02:00
Zaiming Shi ad73e252dc chore(deps): upgrade to ekka 0.7.7 2021-04-30 14:42:38 +02:00
zhanghongtong 6429c948c1 chore: fix syntax error 2021-04-16 20:16:16 +08:00
zhanghongtong 28810b62c8 fix(ws connection): fix peer_cert_as_username error when ws connect 2021-04-16 14:52:34 +08:00
zhouzb 054f9907c6 chore(upgrade): delete rebar3 script 2021-03-26 09:42:11 +08:00
zhouzb b0ad39376c chore(upgrade): add upgrade script 2021-03-26 09:42:11 +08:00
zhouzb 198da2c688 fix(ping): deny pingreq when mqtt not connected 2021-03-24 17:12:32 +08:00
Shawn 9e5a868bf1 fix(emqx): validate mqtt malformed variable byte integer 2021-03-10 18:29:59 +08:00
CrazyWisdom af73516c59 docs(README.md): update Community section 2021-01-28 17:03:20 +08:00
Zaiming Shi b439d51337 fix(ekka): Upgrade to 0.7.6 to allow remsh
Before ekka 0.7.6, when epmd is not used, ekka_dist would calculate
a port number from node name. This does not work for remote consoles
because a remsh node name is like remsh81random0-<target-node>
i.e. the calculated port number is always the same
as the target node.

The fix in 0.7.6 allows remsh prefixed nodes to use a range of ports
to listen.
2021-01-16 13:59:26 +08:00
zhouzb 305918ec9e fix(hot upgrade): fix bad hot upgrade script 2020-12-23 14:08:25 +08:00
zhanghongtong 897f862d29 chore(appup): update appup version 2020-12-11 20:01:31 +08:00
JianBo He c1e47fd147 test(limiter): more robust asserting logic 2020-12-11 17:33:53 +08:00
JianBo He 19e8a187e4 feat(ssl): supports configuration of keyfile password 2020-12-11 17:33:53 +08:00
zhanghongtong ca86e795e8 feat(listener): add depth for ssl listener 2020-12-11 17:33:53 +08:00
Zaiming Shi e06fcbb769 chore(elvis): only trigger in github action when pull request 2020-12-11 17:33:53 +08:00
ayodele.akingbule 315d14d3ed chore(lint): Add Elvis Linter Config and Github Action 2020-12-11 17:33:53 +08:00
z8674558 fd986bbbb2 docs(contrib): add CONTRIBUTING.md 2020-12-11 17:33:53 +08:00
z8674558 6a7438ce6b feat(ci): use gitlint to check if commit messages are semantic 2020-12-11 17:33:53 +08:00
zhouzb 9ced63cadd fix(ekka): update ekka version to fix oom 2020-12-11 17:33:53 +08:00
Viacheslav Katsuba 389228ecc0 Update README
Fix broken link to installation
2020-12-05 16:52:36 +08:00
Zaiming Shi bc4f7798a8
Merge pull request #3841 from duyuxuan/README-JP
Add readme Japanese translation
2020-11-28 15:59:33 +01:00
duyuxuan 6da6b69ad8 Add readme Japanese translation 2020-11-23 14:22:19 +09:00
zhanghongtong cf7c3b4f0c fix(appup): fix syntax error 2020-11-13 17:40:36 +08:00
zhanghongtong 253c43e405 feat(emqx_metrics): add new functions to count message received 2020-11-13 16:42:48 +08:00
JianBo He bcd98bda1c chore(esockd): upgrade esockd to 5.7.4 2020-10-24 15:49:15 +08:00
JianBo He b373c0cf1b fix(json): fix decoding/encoding empty object error 2020-10-24 15:49:15 +08:00
zhouzb 8462da9652 fix(topic metrics): add appup.src 2020-10-24 11:21:39 +08:00
zhouzb b927bb7af6 fix(topic metrics): calculate the rate correctly 2020-10-24 11:21:39 +08:00
JianBo He 2feeb4d91f fix(ws): take ws_cookie to clientinfo
see: https://github.com/emqx/emqx/issues/3747#issuecomment-702268570
2020-10-24 11:21:39 +08:00
bignullnull 87ef4e4dd9 chore(types): Add the disconnected_at field definition in conninfo (#3764) 2020-10-24 11:21:39 +08:00
terry-xiaoyu 7b98f62f7a fix(config): enable force_shutdown_policy by default 2020-09-30 11:36:30 +08:00
turtled 048e510dde fix(force-shutdown-policy): default to enable force_shutdown_policy 2020-09-30 08:35:24 +08:00
tigercl da4d71917f fix(ignore-loop-deliver): fix issue#3738 (#3741) 2020-09-29 15:35:16 +08:00
JianBo He 76ec65830c fix: fix session_locking_strategy enum typos 2020-09-29 15:35:16 +08:00
JianBo He 06b9b6e6b0 chore: update esockd version to fix ssl:getstat/2 for dtls connection 2020-09-29 15:35:16 +08:00
zhanghongtong fa31062a5e chore(topic rewrite): export more functions 2020-09-11 12:37:47 +08:00
JianBo He 3d4eac7e7a fix(json): fix safe_encode for utf8 string 2020-09-11 12:26:13 +08:00
turtleDeng edcbdcce87 improve: module_acl_internal load/unload api (#3706) 2020-09-05 17:23:22 +08:00