Zaiming Shi
4fbc64d84e
chore(release): Add OTP_VERSION file to release dir
2020-12-14 10:58:44 +01:00
JianBo He
17e0409c09
feat(ssl): supports configuration of keyfile password
2020-12-14 11:24:07 +08:00
Zaiming Shi
f6f6fe47da
chore(build): Remove plugin config collection
...
Plugin configs are to be added manually
2020-12-12 11:59:26 +01: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
JianBo He
7f556d36d1
Merge branch 'dev/v4.3.0' into e422_to_v430
2020-12-09 11:28:36 +08:00
Shawn
d00ea48752
feature(tcp): alarm when tcp connection congested
2020-12-07 14:35:38 +08:00
zhanghongtong
ef19e8a08b
feat(listener): add depth for ssl listener
2020-12-05 17:01:24 +08:00
Zaiming Shi
73d02beace
refactor(apps): Merge emqx_libs back to emqx
...
And move emqx app back to root level
After realising the challenges of developing plugins in standalone
rebar projects. it is perhaps more smooth to keep using emqx as
a rebar dependency
2020-12-04 19:58:58 +01:00
Zaiming Shi
9382bed9f5
refactor(proj): Move etc and data dir to apps/emqx/
2020-12-03 12:53:02 +01:00
terry-xiaoyu
20b66e03a1
feature(project): add etc/emqx.d
2020-10-31 12:18:38 +08:00
terry-xiaoyu
151d820058
feature(project): change to rebar3 umbrella project
2020-10-31 11:07:25 +08:00
JianBo He
485bffadd6
refactor(exhook): improve the exhook implementation
2020-10-31 10:24:28 +08:00
JianBo He
d1a87d38ba
refactor(exproto): improve the exproto implementation
2020-10-31 10:21:53 +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
JianBo He
76ec65830c
fix: fix session_locking_strategy enum typos
2020-09-29 15:35:16 +08:00
JianBo He
f6b35d63f2
improve: rename quota option name
2020-09-05 17:23:22 +08:00
terry-xiaoyu
2b603bfd11
feature(gen_rpc): support a stateless port discovery
2020-08-28 17:10:26 +08:00
zhouzb
b2c0728cd7
fix(conf): add additional_configs line
2020-08-28 17:10:26 +08:00
zhouzb
ec12acc4ef
feature(mqtt piggyback): transporting mutli MQTT packets at once or single
2020-08-22 15:27:11 +08:00
Rory Z
f47e10e08a
feature(emqx_mod_rewrite): separate rewrite rules for pub and sub ( #3676 )
2020-08-22 15:27:11 +08:00
zhouzb
dbeabf3de0
refactor(telemetry): remove telemetry code from emqx core
2020-08-22 15:27:11 +08:00
tigercl
e37a70509b
feature(telemetry): support for collecting telemetry data and disable it by default ( #3653 )
2020-08-14 16:58:08 +08:00
JianBo He
98faa698f3
feature(quota): add quota confs to limit the number of message forwards
2020-08-14 16:58:08 +08:00
zhouzb
1ba4743213
refactor(alarm): new data structure and support regular cleaning of deactivated alarms
2020-07-31 18:07:20 +08:00
JianBo He
83a2af812f
feat(ratelimit): refactor ratelimit
2020-07-31 18:07:20 +08:00
tigercl
1b6a586948
feature(mqtt): support response information ( #3533 )
2020-06-20 15:07:37 +08:00
JianBo He
a05c411566
fix(confs): delete `X-Forwarded-*` options for wss listener
2020-06-06 13:54:27 +08:00
terry-xiaoyu
ac82ad12e3
Add log overload protection parameters
2020-05-28 21:18:32 +08:00
tigercl
7a0ad0f8af
Update certs ( #3447 )
...
* Update certs
* Update certs
* Fix test cases fail
Co-authored-by: turtleDeng <deng@emqx.io>
2020-05-12 10:37:26 +08:00
turtleDeng
d49f4118fe
Mgmt emqx modules ( #3376 )
2020-04-10 19:55:21 +08:00
JianBo He
1790cde942
Get client's addr/port from proxy header if enable proxy_protocol
2020-04-10 19:40:10 +08:00
tigercl
55a8b1b173
Support topic metrics ( #3341 )
...
Support topic metrics
2020-03-27 13:33:10 +08:00
tigercl
5eadca1782
Merge pull request #3335 from emqx/reload_plugin
...
Read new configuration items when plugins is loaded
2020-03-26 18:35:49 +08:00
JianBo He
9e6966110d
Move emqx_delay_publish here ( #3323 )
...
Move emqx_delay_publish here
2020-03-26 18:32:24 +08:00
张奇怪
2ab6ec418e
Add subscription option for proxy subscribing
2020-03-24 11:31:25 +08:00
zhouzb
3b537760d5
Read new configuration items when plugins is loaded
2020-03-23 15:23:38 +08:00
JianBo He
cc25ec5835
Revert some lines
2020-03-05 15:54:57 +08:00
JianBo He
6b3446e2b0
Fix emqx.conf typo error
2020-03-05 15:54:57 +08:00
JianBo He
3f6f0eca40
Add an option to allow client bypass auth plugins
2020-02-21 09:42:26 +08:00
JianBo He
24e9765916
Fix typo
2020-02-17 13:45:37 +08:00
Feng Lee
d532b5f2e3
Remove the unused 'hibernate_after' config
2020-02-04 15:14:52 +08:00
JianBo He
cbaddc4120
Increase shutdown_time of vm.args
2020-01-17 18:01:08 +08:00
Shawn
4655ef94d2
Merge branch 'develop' into tune-node-config
2020-01-17 17:03:32 +08:00
terry-xiaoyu
36b3a443b7
Reduce default tcp client nums to schedulers/2
2020-01-17 17:00:55 +08:00
Feng Lee
050a3feab2
Tune the 'force_gc_policy' and 'force_shutdown_policy' parameters ( #3201 )
2020-01-17 16:59:36 +08:00
Feng Lee
46479ed608
Tune the default config for node
2020-01-17 16:18:11 +08:00
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