Feng Lee
4b8b5bfa2c
Tuning the Erlang VM for the broker and edge ( #3197 )
...
* Tuning the Erlang VM for the broker and edge
* Remove +stbt and use +sbt instead
2020-01-17 15:47:13 +08:00
Feng Lee
3ae3d8a40d
Tune and optimize the Erlang VM ( #3195 )
2020-01-17 09:58:34 +08:00
Feng Lee
a318532bb0
Tuning the 'force_gc_policy' of MQTT connections ( #3192 )
...
Tuning the 'force_gc_policy' of MQTT connections
2020-01-17 09:42:16 +08:00
Feng Lee
a71486cac7
Tuning the number of threads in async thread pool ( #3193 )
2020-01-17 09:32:01 +08:00
Feng Lee
2b3003b323
Move the global GC server from 'emqx-recon' to 'emqx' project ( #3190 )
2020-01-16 23:45:17 +08:00
zhouzb
9a76164e65
Update emqx.conf
2020-01-15 20:16:58 +08:00
zhouzb
40ed0ce7ad
Defaults to disable force_shutdown_policy
2020-01-15 20:16:58 +08:00
JianBo He
612abc23ab
Fix the memory of shutdown policy too_large ( #3168 )
2020-01-10 15:53:37 +08:00
JianBo He
0c3e863ac1
Enlarge performance args for internal zone ( #3154 )
2020-01-06 09:51:55 +08:00
tigercl
116c593178
Fix returned value of plugin reloading ( #3126 )
2019-12-20 16:34:07 +08:00
zhanghongtong
03681b6a3b
Update config file version
2019-12-13 10:54:29 +00:00
turtled
c7f1df0d0c
Fix typo
2019-12-07 19:43:18 +08:00
Feng Lee
bbcd2bffc5
Improve the session module ( #3082 )
...
Improve the session module
2019-12-07 15:54:02 +08:00
Feng Lee
9c3273a2c6
Improve the process of handling MQTT control packets ( #3079 )
2019-12-06 19:51:06 +08:00
turtleDeng
a540958846
Add mqtt.strict_mode configuration ( #3069 )
...
Add mqtt.strict_mode configuration
2019-12-04 10:54:52 +08:00
zhouzb
62484ba84e
Fix test cases and update certs
2019-11-18 16:08:51 +08:00
terry-xiaoyu
dc7c39d479
Update pem certs
2019-11-15 12:05:00 +08:00
turtled
e863263156
Fix typo
2019-11-08 15:11:26 +08:00
Feng Lee
4c9dda105f
Add 'active_n' option for WebSocket listener
2019-11-01 08:00:11 +08:00
Feng Lee
a0e72fd040
Breaking change of listener's rate_limit config
2019-10-18 18:52:57 +08:00
Feng Lee
8c1e452b6e
Add 'hibernate_after' option for zone
2019-10-12 16:56:18 +08:00
Feng Lee
0a1679b122
Implement a new flapping module ( #2884 )
2019-09-10 15:21:08 +08:00
Feng Lee
919aa13221
Update the default acl conf
2019-08-28 15:58:23 +08:00
turtled
91a8dbda56
Fix conflicts
2019-08-09 16:41:11 +08:00
GilbertWong
ddc25be915
Rename node.proto_dist to cluster.proto_dist
2019-08-09 15:56:33 +08:00
terry-xiaoyu
20a7ed6f53
RPC batch
2019-07-29 09:35:06 +08:00
terry-xiaoyu
b0e2b7db0c
Support inter-node messages via RPC cast
2019-07-27 12:59:07 +08:00
terry-xiaoyu
b61d72cdcd
Add options for gen_rpc
2019-07-26 11:22:25 +08:00
turtled
01f8ce1dc7
Add default k8s.suffix
2019-07-19 18:03:53 +08:00
turtled
caf6dab808
Support K8S hostname auto discovery cluster
2019-07-19 18:03:53 +08:00
terry-xiaoyu
86333802b9
Add configuration for sys_heartbeat
2019-07-19 17:33:24 +08:00
terry-xiaoyu
96fff39535
Change default logger level to warning
2019-06-28 21:34:21 +08:00
Gilbert
9df6345a6c
Remove bridge functions from emqx ( #2652 )
...
* Remove bridge functions from emqx
2019-06-26 19:33:17 +08:00
terry-xiaoyu
c4de0b1792
No chars limit by default
2019-06-13 13:53:59 +08:00
Gilbert
0857b976ed
Better zone ( #2548 )
2019-05-25 22:29:23 +08:00
JianBo He
97cca1a5ba
Set {active, N} for ssl connection ( #2531 )
2019-05-13 10:18:01 +08:00
tigercl
7e0ac5bd34
Fix bad config type of long_gc ( #2504 )
2019-05-08 10:19:49 +08:00
terry-xiaoyu
a1eb7ca7d2
Adapt max-heap-size to Arch-32 systems
...
The erlang:process_flag(max_heap_size, MaxHeapSize) can only set a MaxHeapSize of `small integer`, which is smaller than 2^59 on 64-bit systems, and 2^27 on 32-bit systems.
2019-05-07 17:27:06 +08:00
terry-xiaoyu
0ea6697a57
Enlarge chars_limit to 8192
2019-05-05 21:28:59 +08:00
terry-xiaoyu
0a56fc236a
Enable force_shutdown_policy by default #2494
...
Set default max-queue-len to 10000, and default max-heap-size to 1024MB.
2019-05-05 16:41:28 +08:00
Gilbert
eaa1deab20
Refactor flapping code ( #2476 )
...
* Refactor flapping code
2019-04-24 10:42:26 +08:00
terry-xiaoyu
a8d2497480
Truncate logs that is too long
2019-04-19 16:49:17 +08:00
Gilbert Wong
bcbb4b68e9
Add flapping detect feature
2019-04-19 16:34:33 +08:00
spring2maz
8821cfcfc7
Fix typo round_robbin -> round_robin in emqx.schema
2019-04-17 10:24:48 +08:00
Gilbert Wong
043f7d5473
Delete duplicated kubernates namespace config entry
2019-03-28 09:44:54 +08:00
YoukiLin
fee94525db
Add etcd client certificate configuration ( #2367 )
...
* Add etcd client certificate
2019-03-27 13:53:40 +08:00
Gilbert
2534b8dc64
Support to pass ws compressing options ( #2356 )
...
Add new config entries about websocket
2019-03-27 10:19:35 +08:00
Shawn
111b66121c
Support TLS/DTLS PSK ( #2297 )
...
* Improve filter functions for emqx-hook
* Add PSK hook
* Reset hook args for filter functions
2019-03-13 22:24:19 +08:00
spring2maz
48450d1d37
Move request response out of emqx client ( #2293 )
...
* Delete response_topic_prefix
The Response-Infomation in CONNACK was misinterpreated, it should
not be a broker's global config, instead, it should be per-client
or even per-session prefix/suffix mechanism
* Delete request-response code from emqx_client
* Add request-response test code
* meck as default dependency --- temp workaround for dep-vsn-check
2019-03-13 11:27:25 +08:00
Gilbert Wong
076f3e3068
Fix schema bug
2019-03-13 10:14:31 +08:00
tigercl
da755b88c7
Add monitors and alarm handler ( #2266 )
...
* Add monitors and alarm handler
2019-02-28 18:25:17 +08:00
Gilbert Wong
7efd7b3ec0
Rename portal to bridge
2019-02-28 15:31:54 +08:00
Gilbert Wong
d18f4ba550
Fix wrong config entries
2019-02-28 11:18:12 +08:00
Gilbert Wong
afa0d98b8d
Disable bridge defaultly
2019-02-28 11:17:27 +08:00
Gilbert
796fc3b1ba
Fix app config generation ( #2245 )
2019-02-28 11:17:27 +08:00
Gilbert Wong
d7e18c95c6
Fix spelling error
2019-02-28 11:17:27 +08:00
spring2maz
6d51d78dfc
Add portal transport over emqx_client.
2019-02-28 11:17:27 +08:00
spring2maz
fbe67e6784
Introduce new bridge impl
2019-02-28 11:17:27 +08:00
tigercl
a0fd9e63e0
Add data_dir to emqx.conf ( #2271 )
...
* Add data_dir to emqx.conf
2019-02-28 09:28:37 +08:00
张奇怪
44d3eff094
Auto-pull-request-by-2019-02-19 ( #2232 )
...
* Update Copyright to 2019 (#2191 )
* Disable bridges by default (#2189 )
* Fix warning logger args emqx#2195
* Ambiguity elimination (#2217 )
* Fix emqx_ws_connection: prevent crashes on pong (#2210 )
* Issue#2184 (#2194 )
* Delete dep-vsn-check
* Format app.src
2019-02-19 14:00:34 +08:00
Shawn
69954480bf
Hook args ( #2119 )
2019-01-03 13:54:31 +08:00
turtleDeng
6a1ebe299a
Merge emqx32 to emqx30 ( #2112 )
2018-12-28 19:44:41 +08:00
Shawn
24ac3e78a2
Add +L vm args for reducing some memory ( #2110 )
2018-12-28 15:49:38 +08:00
turtled
7d3357e0f3
Merge emqx32
2018-12-21 16:01:32 +08:00
Gilbert
7d9e350bbe
Add option to disconnect client in case acl deny ( #2059 )
...
* Add option to disconnect client in case acl deny
2018-12-19 10:34:06 +08:00
Shawn
c7fa4b1b15
Revert vm args in emqx conf b ( #2070 )
...
* Revert changes in emqx.conf for backward compatibility
2018-12-18 16:50:47 +08:00
turtled
666d9706a3
Fixed conflicts
2018-12-18 16:41:10 +08:00
Feng Lee
721b72b96a
Add 'active_n' option to optimize the CPU usage of emqx_connection ( #2060 )
...
* Add 'active_n' option to optimize the CPU usage of emqx_connection
* Supports batch processing 'DOWN' events
2018-12-17 19:53:29 +08:00
terry-xiaoyu
52e2c56ce1
Change default configs for max-connections
2018-12-14 18:30:19 +08:00
terry-xiaoyu
3df8de2419
Rename vm.args.cloud -> vm.args
2018-12-14 18:29:52 +08:00
terry-xiaoyu
7c7d6b031c
Modify the NOTE descripition at the begining of the file
2018-12-14 09:53:13 +08:00
terry-xiaoyu
68a6a88eb9
Move all vm args into separate file vm.args
2018-12-14 09:53:13 +08:00
terry-xiaoyu
d445c17e6c
Move some vm args to file vm.args
2018-12-14 09:53:13 +08:00
Feng Lee
abe9aff062
Add 'enable_session_registry' config
2018-12-13 18:28:32 +08:00
周子博
ea62b15c87
Alter apis provided by emqx_metrics, and use existing timer to commit metrics
2018-11-30 17:44:29 +08:00
周子博
194dbc02c8
Add batch commit for metrics
2018-11-30 17:44:29 +08:00
周子博
5c291ff23e
Fix the 'route_batch_delete' config
2018-11-28 16:04:04 +08:00
Shawn
09025338d4
Enable emqx.log by default ( #1979 )
2018-11-23 18:10:59 +08:00
tigercl
14b8036576
Use username replace id(issue#1737) ( #1961 )
...
* Use username replace id(issue#1737)
* Add test case for issue#1737
* Make with_connection/2 support batch connect
2018-11-21 22:51:33 +08:00
spring2maz
a2c658ba19
Add acking mechamism for shared dispatch ( #1872 )
...
* Add acking mechamism for shared dispatch
For QoS0 messages, no acking
For QoS1/2 messages, 'ACK' at any of events below:
- ACK when QoS is downgraded to 0
- Message is sent to connection process
'NACK' at any of events below:
- Message queue is full and the receiving session starts to drop old messages
- The receiving session crash
Upon 'NACK', messages are dispatched to the 'next' subscriber in the group,
depending on the shared subscription dispatch strategy.
2018-11-21 22:49:45 +08:00
Gilbert
16821490ce
Fix issue#1874 ( #1964 )
...
* Fix issue#1874
Prior to this change, if user use one client connect emqx with mqtt
v3.1.1, the client subscribe the topic and publish message to this
topic, it would receive this message itself published, this commit
provide a configure option to let user ignore the message itself published.
This change fix issue 1874.
* Small Fix
* Fix bug
* Better design
* Fix compile warning and improve coverage
* Better design to solve the performance issue
* Fix typo
* Fix typo
* Delete spaces in end of lines.
* Do not use anonymous function
* Better performance
2018-11-19 13:34:03 +08:00
周子博
cb835af42b
Fix bad comment
2018-11-19 10:49:05 +08:00
turtled
faeda253e1
Fix conflicts
2018-11-10 11:44:55 +08:00
terry-xiaoyu
997958aed1
Change the start_link API for emqx_client
...
Prior to this change, emqx_client:start_link does 2 works in one call:
- init an erlang process for emqx_client
- send MQTT CONNECT to remote broker
But this solution have some drawbacks:
- the return value of `start_link` compiles the return values of the 2
works: {ok, Pid, MqttResult}. It is inconsistent with the return value
of `gen_statem:start_link`, may causes confusions.
- the return mode of the 2 works are different:
`start_link` should always return {ok, Pid} or {error, Reason}, but
connecting to mqtt may throw out exceptions as it handles the
socket. But the caller couldn't have thought of the exception, he would
pattern match on the result of `emqx_client:start_link`, but it crashed!
- If the init work succeed but the connection failed, the caller couldn't
get a Pid from the return value, but indeed it was created inside the
emqx_client. This hides the fact that the Pid was created, and when the
Pid dies, the caller would receive an message from a Pid it doesn' know about.
This change divived these 2 work into 2 APIs:
- `start_link/1` is to build and verify the options, and returns {ok,Pid}
(on success) or {error, Reason} (on failure).
- `connect/1` is to send MQTT CONNECT, and returns {ok, MQTTResult::properties()} or
{error, MQTTReason}. MQTT reason codes will contains in the `MQTTReason`.
2018-11-09 17:43:04 +08:00
terry-xiaoyu
2dc8ec8b11
Bridge via TLS
2018-11-09 17:43:04 +08:00
terry-xiaoyu
f448c62e47
Fix config descriptions of ACL cache
2018-11-08 20:41:57 +08:00
terry-xiaoyu
92cc171aaf
Support tracing log files for specific topics or clients
2018-11-02 18:38:07 +08:00
terry-xiaoyu
94dbdffd59
New logger formatter with meta-data
2018-11-02 18:38:07 +08:00
terry-xiaoyu
2c63aef3f6
Update schema
2018-11-02 18:32:42 +08:00
terry-xiaoyu
1222dd0eab
Update log config template
2018-11-02 18:32:42 +08:00
terry-xiaoyu
46c7e86331
Fix some grammar
2018-11-02 18:32:42 +08:00
terry-xiaoyu
8f5b7a0d05
Optimize config for log section
2018-11-02 18:32:42 +08:00
spring2maz
ae743ad1f0
Rewrite emqx_mqueue.erl
...
Fixed bugs:
- Priority queue lack of a `len + 1` logic in `in/2`
Changed behaviors:
- Topics not found in priority table (from config) will be treated with default priority,
instead of hasing topic name to a priority number.
- Default priority is now configurable (it was always lower than all configured priorities)
- The dropped message due to reaching `max_len` is now returned from `in/2`,
so the queue owner (`in/2` caller) can perform autopsy on it
2018-10-27 14:21:53 +02:00
Gilbert Wong
3f761cbe6a
Support use certifate as username
...
Prior to this change, you can just use CN or EN field from the client
certificate as username.
This change add a new option to allow user to use Certificate directly as
username.
2018-10-23 14:37:05 +08:00
Gilbert
4c40f75f4b
Request & Response (broker and client) ( #1819 )
...
Add request & response support for CONNECT & CONNACK
Prior to this change, there is no validate and specified process for
Request-Response-Information and Response-Information
Also added basic Request/Response functionality to emqx_client implementation
2018-10-18 19:21:05 +02:00
Gilbert Wong
0adee194aa
Fix the refered link
...
Prior to this change, the refered wiki link in acl.conf has been
deprecated.
This change replace the deprecated link with the doc link in official site.
2018-10-19 01:03:09 +08:00
HuangDan
1bc175e0ce
Add mountpoint config to zone configs
2018-09-28 18:53:52 +08:00
HuangDan
d1c72b92af
Add 'sticky' dispatch strategy for shared subscription
2018-09-27 10:46:14 +08:00
Feng Lee
db520b9b94
Disable the rate_limit of MQTT/TCP listener by default.
2018-09-25 22:46:37 +08:00
Feng Lee
795ee300d1
Disable the publish_limit by default
2018-09-22 16:26:39 +08:00
Feng Lee
5689ad3485
Fix issue #1847 .
...
Change the config of 'zone.$name.publish_limit'
2018-09-22 16:26:39 +08:00
turtleDeng
8f35d13e17
Improve bridges design ( #1849 )
...
Improve the design of bridges
2018-09-22 16:19:28 +08:00
turtleDeng
8653732bae
Revert "Calculate the 1.5 keep alive time exactly"
2018-09-22 14:52:31 +08:00
Feng Lee
33f9e895ad
Merge branch 'emqx30' into more-gc-enforcement-policies
2018-09-22 05:52:41 +08:00
Feng Lee
fbac9ce43e
Improve the foce_gc_policy config.
2018-09-22 05:42:38 +08:00
周子博
073bf481c9
Calculate the 1.5 keep alive time exactly
2018-09-20 15:51:28 +08:00
Michal-Drobniak
737dcff44e
Add space before plugins.etc_dir in emqx.conf
2018-09-14 19:13:43 +02:00
周子博
f5ed6ddb05
Change comments
2018-09-14 11:49:17 +08:00
周子博
5eb92e37cc
Remove check for MQTT path, and normalize code
2018-09-14 11:49:17 +08:00
周子博
6f536eaac4
Add customized mqtt path for websocket
2018-09-14 11:49:17 +08:00
周子博
88b3460715
Add feature for issue#1809
2018-09-14 11:49:17 +08:00
Feng Lee
3045ec10ab
Add banned feature
2018-08-31 14:04:26 +08:00
Feng Lee
e6bed24bb3
Add server_keepalive config
2018-08-31 00:32:56 +08:00
Feng Lee
b0fad7a86d
Change the default value of 'zone.external.await_rel_timeout' to 300s
2018-08-30 21:02:01 +08:00
Feng Lee
8ed6266ace
Add mqueue_type, mqueue_priorities options
2018-08-30 18:26:13 +08:00
HuangDan
18eee0f1b0
Fixed Conflicting files
2018-08-30 10:53:35 +08:00
HuangDan
53d7d0a9d4
Update the peer_cert_as_username conf desc
2018-08-30 10:35:20 +08:00
HuangDan
0fbf813ebf
Add mqtt connect tests cases
2018-08-30 10:35:04 +08:00
Feng Lee
465963fec3
Merge branch 'emqx30' into emqx30-feng
2018-08-29 17:36:38 +08:00
Feng Lee
8e11845f87
Remove ignore_loop_deliver option
2018-08-28 07:36:22 +08:00
Feng Lee
d167a5c99a
Merge pull request #1748 from emqtt/emqx30-feng
...
Improve the emqx_listeners module
2018-08-27 16:24:59 +08:00
Feng Lee
e5b2e584e9
Remove 'TODO:'
2018-08-27 15:57:36 +08:00
turtled
91eb79967c
Add syslog
2018-08-27 13:50:38 +08:00
terry-xiaoyu
9d29dd0e10
use config enable_acl_cache
2018-08-26 18:25:17 +08:00
terry-xiaoyu
8cd20744be
improve cache datastruct using keys-queue
2018-08-26 13:33:00 +08:00
terry-xiaoyu
a904031979
acl cache using proc_dict
2018-08-26 13:30:18 +08:00
Feng Lee
4af6065984
For paho interoperability tests
2018-08-25 16:02:44 +08:00
Feng Lee
68cfcf6e0e
Pass paho mqtt interoperability tests
2018-08-24 23:19:11 +08:00
Feng Lee
694485252a
Merge branch 'emqx30-dev' of github.com:emqtt/emqttd into emqx30-dev
2018-08-24 18:43:36 +08:00
Feng Lee
0f052ce352
Upgrade connection, protocol and session modules for MQTT 5.0
2018-08-24 18:39:59 +08:00
turtled
22e8b07a3d
Receive/send messages by bridge
2018-08-19 20:31:44 +08:00
Feng Lee
d9004d4cfb
Add MQTT section in configuration file
2018-08-10 12:43:32 +08:00
Feng Lee
3ac4be84e4
Remove 'listener.wss.external.handshake_timeout' for cowboy does not support this option
2018-08-09 14:26:39 +08:00
Feng Lee
18116ac3b5
Remove etc/zone.conf
2018-08-09 09:32:56 +08:00
Feng Lee
e23a6e87d8
Merge listeners, zones, bridges config
2018-08-08 19:37:57 +08:00
Feng Lee
4cf1815030
Add more configurations for EMQ X R3.0
2018-08-08 19:23:32 +08:00
turtled
4d9e03a803
Refactor websocket conn using cowboy
2018-08-08 18:36:14 +08:00
Feng Lee
7d0cba9427
Add MQTT 5.0 supports for connection, protocol and session modules
2018-08-06 16:33:10 +08:00
Feng Lee
cbbc231210
Comment log.syslog.* to fix building issue
2018-07-19 10:08:37 +08:00
Feng Lee
e2a34ec98d
Comment lager syslog to be compatible with Erlang/OTP R21
2018-07-19 09:34:49 +08:00
Feng Lee
7ee54aac28
Add 'qos' field to message record
2018-07-18 23:41:00 +08:00
Feng Lee
b3adcc8971
Add RPC Args
2018-07-18 14:24:35 +08:00
Feng Lee
bbe56dabec
Fix whitespace
2018-04-25 15:37:30 +08:00
Feng Lee
f4fd6efe16
Merge the emqx-common, emqx-router libraries
2018-02-26 23:29:53 +08:00
Feng Lee
057ef7b668
Merge branch 'master'
2018-02-26 01:05:08 +08:00
Feng Lee
fcb2ec8427
Merge the latest enterprise branch
2018-02-24 15:56:32 +08:00
Feng Lee
b63c34ab14
Merge the latest master branch
2018-02-24 11:27:09 +08:00
turtled
91b64813fa
Modify tcp buffer config
2018-02-24 09:15:18 +08:00
turtled
a864aa9743
Modify tcp buffer config
2018-02-23 21:23:55 +08:00
Feng Lee
98d63a1454
Comment 'node.ssl_dist_optfile' option by default
2018-02-16 21:15:30 +08:00