Commit Graph

310 Commits

Author SHA1 Message Date
JimMoen 289415b5aa fix(conf): change `max_topic_levels` default configuration 2021-11-25 09:52:12 +08:00
Shawn d2d42ed33e fix(logger): change default value of log.max_depth to 100
The value 20 is too small to inspect some error messages, especially
when it contains stack traces.
2021-08-13 09:46:49 +08:00
Zaiming (Stone) Shi 69ef5cbdc3
Merge pull request #4979 from zmstone/chore-config-rpc-connections-default-to-one
chore(conf): change default number of gen_rpc connections to 1
2021-06-11 09:58:50 +02:00
Turtle 8eebdd5cdb chore: remove lager schema info 2021-06-11 09:48:25 +08:00
Zaiming Shi 1f57968c9b chore(conf): change default number of gen_rpc connections to 1 2021-06-10 19:59:10 +02:00
JianBo He 7b43a23734 fix(schema): fix locking strategy typos 2021-05-29 11:32:29 +08:00
k32 7f2bb9b4ee fix(emqx): Add new shared_subscription_strategy atoms to the schema
Fixes: #4808
2021-05-14 09:47:06 +02:00
Zaiming Shi 7afd4940e7 chore(config): do not expose manual rpc peer port config
when using `manual`, all nodes in the cluster should agree
to the same port number, so there is no need to make peer
port number for clients.
2021-05-10 14:26:14 +02:00
Zaiming Shi 94c8add314 chore(config): default log.single_line=true 2021-05-06 11:03:02 +02:00
Zaiming Shi 81da075b9b chore(config): rename log.use_json_formatter to log.formatter 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 c4f070c9c6 feat: make log depth configurable 2021-05-06 11:03:02 +02:00
Zaiming Shi 0f30bdadbb feat(logging): make supervisor progress configurable
by default, when primary log level is set to debug or info
application controller prints supervisor progress info.

this new config make use of logger's built-in filters
for progress report
2021-05-03 21:13:36 +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 4bdcdfb9b9 chore(config): Add new configs to emqx.conf 2021-04-28 15:19:53 +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 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 87a653470e fix(logging): log sasl to tty when console or foreground 2021-04-23 17:12:02 +02:00
William Yang 9b13bab2c9 perf: new perf toggle broker.perf.route_lock_type 2021-04-23 13:51:42 +02:00
Zaiming Shi fd69969014 refactor(logging): Log to single line 2021-04-23 06:54:10 +02:00
zhanghongtong ea4a587f6d chore(listeners): delete the port override by the env 2021-04-15 21:50:14 +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
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
z8674558 9db5452b6c refactor(emqx.schema): use override_env to support alternative env 2021-04-05 17:04:01 +09:00
Zaiming Shi 6c77fa1bf7 fix(emqx_channel): Receive Maximum spec compliance
According to MQTT 5.0 specification
If the Receive Maximum value is absent then its value defaults to
65,535.
2021-03-29 09:42:07 +02:00
Zaiming Shi b10a60cddb fix(conninfo): Ensure receive_maximum do not exceed limit 2021-03-29 09:42:07 +02:00
Zaiming Shi e862ff6b20 chore(config): validate max_inflight range 2021-03-29 09:42:07 +02:00
William Yang 49bdcf1332
Merge pull request #4432 from qzhuyan/fix/emqx-4426-wss-listener-rendering
fix(cuttlefish-schema): parse IP addr for SSL listeners.
2021-03-24 18:16:30 +01:00
William Yang 8f6f649703 fix(cuttlefish-schema): parse IP addr for SSL listeners.
Convert IP addr str to tuple to please ranch.

Other types of listeners seem me to be happy with the tuple format as well.

Closes: #4426
2021-03-24 16:29:03 +01:00
Zaiming Shi a4b30ea77c feat(emqx): Add backtrace_depth configuration 2021-03-23 21:30:49 +01:00
zhanghongtong 2232bca150 chore(config): update enum for config item
The tcp listener's peer_cert_as_clientid and peer_cert_as_username can only be set to cn
2021-03-17 16:30:34 +08:00
zhanghongtong 237603cee6 revert: fix(config): delete peer_cert_as_username and peer_cert_as_clientid in tcp listener
This reverts commit: 4bf0ad1baf
2021-03-17 16:30:34 +08:00
zhanghongtong 4bf0ad1baf fix(config): delete peer_cert_as_username and peer_cert_as_clientid in tcp listener 2021-03-16 19:32:17 +08:00
Zaiming Shi 6b2949e2c1 chore(config): Change default log_to config
By default log to file.
When start from console or forgreground, only log to console.
Only log to file for package builds.
2021-03-02 14:05:04 +01:00
Zaiming Shi 3dfa9f45c4
Merge pull request #4183 from zmstone/merge-e4.2.4-to-dev-4.3.0
Merge e4.2.4 to dev 4.3.0
2021-02-19 10:26:47 +01:00
Zaiming Shi 98b319a0c0
Merge pull request #4190 from zmstone/refactor-assing-names-to-listeners
feat(listeners): Add identifier to listeners
2021-02-19 07:50:27 +01:00
Benjamin Große 28f9b4d519 feat(peer_cert_as_clientid): peer_cert_as_clientid = cn | dn | crt | pem | md5
pem is base64 encoded instead of binary crt

peer_cert_as_username=crt breaks exhook proto utf8 parsing of username

crt cannot be used in a topic name due to being invalid utf8
pem cannot be used in a topic name due to having slashes

peer_cert_as_clientid = md5 allows to e.g. subscribe to "t/%c" with ACL

existing peer_cert_as_username combinations are unaffected.
2021-02-19 10:53:11 +08:00
z8674558 74b7ea34d9 feat(bin): let cuttlefish read env var 2021-02-19 01:09:06 +09:00
Zaiming Shi 153977609e feat(listeners): Add identifier to listeners
Listeners are internally identifiered by the listen-on tuple
which is not UI friendly when we have to find a listener by this
'signature'.

The listeners are actually named in configs, but the names are
discarded in the parsing functions.

This commit is to keep the name and provide an API to find
listener by name (identifier).
2021-02-14 18:12:40 +01:00
Zaiming Shi 9b82112b7c Merge remote-tracking branch 'origin/dev/e4.3.0' into merge-e4.2.4-to-dev-4.3.0 2021-02-13 11:10:08 +01:00
Zaiming Shi 507759b9f1 Revert "refactor(emqx_modules): Move modules config to app dir"
This reverts commit 9cae8784c0.
Because the reverted change broke compatibility with 4.2.x
configuration.
2021-02-11 16:44:12 +01:00
Zaiming Shi 9cae8784c0 refactor(emqx_modules): Move modules config to app dir 2021-02-10 00:02:52 +01:00
Zaiming Shi 5ebf94a50a chore(config): One config
emqx.conf was split into small files for enterprise
which leads to merge difficulties

This commit merges back config into the same file.
2021-02-09 21:34:46 +01:00
tigercl 5878950dc3
feat(websocket): support for checking subprotocols (#4099) 2021-01-28 20:42:57 +08:00
ayodele.akingbule 5794a708ed feat(emqx_ws_connection): Prevent EMQX from CSWSH Cross-Site Web-Socket Hijack 2021-01-15 14:28:22 +01:00