Commit Graph

2118 Commits

Author SHA1 Message Date
k32
1db8483bb3 feat(node_dump): Hide `secret' configuration keys
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2021-05-06 14:19:09 +02:00
k32
e6c85dfb04 fix(node_dump): Attempt to censor passwords 2021-05-06 14:19:09 +02:00
Zaiming Shi
4cff5c4dac chore: fix config doc 2021-05-06 11:03:02 +02:00
Zaiming Shi
6b0487d69d feat(logger): merge metadata to log data 2021-05-06 11:03:02 +02:00
Zaiming Shi
79181072e2 feat(logger): add formatter emqx_logger_jsonfmt 2021-05-06 11:03:02 +02:00
Zaiming Shi
92d3e16d43 perf(router): receive-mark optimise for short-lived transaction process 2021-05-05 11:00:00 +02:00
Zaiming Shi
f8700e3f27 fix(emqx_packet): no crash if publish packet has no data 2021-05-04 13:48:35 +02:00
Zaiming Shi
bf4baf708a fix(emqx_packet): list element index out of range 2021-05-04 09:24:54 +02:00
Zaiming Shi
171933301a fix(dashboard): display full Erlang/OTP version 2021-04-30 12:26:59 +02:00
William Yang
e122ac5716 perf(broker): speedup trans when broker has a big mqueue 2021-04-29 08:52:42 +02:00
William Yang
e7fc75fdf2 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-04-28 15:39:46 +02:00
Zaiming Shi
29475eb610 feat(emqx_http_lib): try to parse host ip 2021-04-28 10:43:36 +02:00
Zaiming Shi
b688bcfe74 feat(eqmx_misc): add an api to ensure ipv6_probe socket option 2021-04-28 10:43:36 +02:00
Zaiming Shi
e54433d342 feat(emqx_vm): add api to inspect which otp version running on 2021-04-28 10:43:36 +02:00
Zaiming Shi
d926800204 chore: add emqx_broker_bench.erl 2021-04-26 14:40:39 +02:00
Zaiming Shi
cdacaf8694 perf(emqx_trie): use ordered_set 2021-04-26 14:18:40 +02:00
Zaiming Shi
b1df759adc refactor(emqx_trie): rename internal function to match_# 2021-04-26 14:18:40 +02:00
Zaiming Shi
8d55d425dc chore(emqx_trie): add test case to cover multiple levels of + wildcards 2021-04-26 14:18:40 +02:00
Zaiming Shi
eb946eb80c fix(emqx_trie): do not try to match wildcard topics 2021-04-26 14:18:40 +02:00
Zaiming Shi
22e72cdd82 refactor(emqx_trie): rename record from eqmx_topic to emqx_trie 2021-04-26 14:18:40 +02:00
Zaiming Shi
bc6a87946c refactor(emqx_trie): store only prefixes
This commit refactors emqx_trie implementation
with mainly two changes

1. Deleted the edge table.

   In the old implementation, trie consist of nodes and edges.
   e.g. for topic 'a/b/+/d', node 'a' with edge 'b'
   points to node 'a/b' and so on.

   However, edges can be computed at runtime,
   so there is no need to store them in a table.
2021-04-26 14:18:40 +02:00
Zaiming Shi
7128bc9e6e chore(emqx_app): do not print 'starting' log when test 2021-04-26 14:18:40 +02:00
Zaiming Shi
5569c86319 docs(emqx_trie): no doc for internal functions 2021-04-26 14:18:40 +02:00
Zaiming Shi
6be28cecab chore(logging): default to multi-line logging 2021-04-26 11:11:27 +02:00
William Yang
907502fed0
Merge pull request #4645 from qzhuyan/dev/william/fix-issue-2985-c3
fix: issue 2985 attempt 3
2021-04-25 12:39:52 +02:00
Zaiming Shi
708420eb97 fix(emqx_connection): log true stacktrace 2021-04-25 12:01:05 +02:00
Zaiming Shi
2e6ad828a0 chore: remove copyright and license Erlang macros 2021-04-23 20:43:00 +02:00
Zaiming Shi
6354e75626 chore: update copyrights 2021-04-23 20:43:00 +02:00
William Yang
9b13bab2c9 perf: new perf toggle broker.perf.route_lock_type 2021-04-23 13:51:42 +02:00
Zaiming Shi
3547dc4c93 fix(log): client id as string for log metadata
so it does not print <<"...">> to the logs
2021-04-23 06:54:10 +02:00
Zaiming Shi
fd69969014 refactor(logging): Log to single line 2021-04-23 06:54:10 +02:00
William Yang
0166bb5a87 fix: broker call should not timeout before client timeout
So change broker call timeout to infinity.
2021-04-21 18:59:46 +02:00
William Yang
17870fdb39 perf(router): add route runs in async dirty context 2021-04-21 18:59:46 +02:00
William Yang
3972a6b435 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-04-21 18:59:24 +02:00
Zaiming Shi
97f2e5d544 test(auth_http): test unset acl_req app env 2021-04-19 08:39:26 +02:00
zhouzb
49502b4e7c feat(uri): add missed function 2021-04-16 20:19:45 +08:00
zhouzb
bd1051d1e6 feat(uri): support decoding uri in string 2021-04-16 20:19:45 +08:00
Shawn
4885171e4f fix(emqx): add timeout for open/kick a session 2021-04-15 23:09:58 +08:00
zhanghongtong
446a69c814 fix(ws connection): fix peer_cert_as_username error when ws connect 2021-04-15 09:06:27 +08:00
z8674558
a48e7df4f5 feat(emqx_ws_connection): check http header to know real IP/port 2021-04-14 06:45:39 +00:00
JianBo He
49b7d870e0 fix(modules): load application first for ekka_mnesia scanner 2021-04-13 09:57:33 +08:00
JianBo He
16c999ed9b
Start emqx-modules application by default (#4518)
* fix(modules): start emqx_modules by default

* chore(test): eliminate some compile warnings
2021-04-12 09:45:31 +08:00
Shawn
f902d880c1 fix(emqx): rename wont_clear_alarm_in to min_alarm_sustain_duration 2021-04-10 12:17:04 +08:00
Shawn
df0e905754 refactor(emqx): the congestion alarm 2021-04-10 12:17:04 +08:00
Shawn
327b0c0995 fix(mqtt_sn): send pingresp until all pubacks received 2021-04-10 09:36:56 +08:00
Yudai Kiyofuji
e3a5f65c88
feat(config): print override env (#4517) 2021-04-09 16:28:01 +02:00
Zaiming Shi
7667b65710 fix(emqx): Do not io:format when testing 2021-04-09 10:18:25 +02:00
Zaiming Shi
6f5aa88562 chore(emqx_connection): Add a test case to cover oom kill 2021-03-30 10:08:13 +02:00
Zaiming Shi
6e1a55e9ed perf(emqx_connection): no priority receive
Prior to this change the main message receive loop of emqx_connection
is a priority receive which selects system messages and parent EXIT
signals prior to other message.
This accidental (not intended) design may cause the receive operation
to scan potentially large mail box.
2021-03-30 10:08:13 +02:00
Zaiming Shi
66693d6846 fix(emqx_connection): connection OOM kill immediately
Prior to this change, connection process' OOM kill is a loopback
message, which results in a delayed kill when message queue length
is large.
In this change, the loopback message is changed to an exit signal.
2021-03-30 10:08:13 +02:00