Commit Graph

3277 Commits

Author SHA1 Message Date
Feng Lee
8d50c62a94 Optimize connection and session management 2018-12-12 16:10:16 +08:00
Feng Lee
2a747c9d53 Improve the subscription sharding. 2018-12-12 13:40:01 +08:00
Feng Lee
b279eff181 Add t_mnesia/1 test case 2018-12-12 13:40:01 +08:00
Feng Lee
33830d8120 Improve the design of trie, router and broker modules
1. Add do_add_route/1 do_add_route/2, do_delete_route/1,
do_delete_route/2 APIs in emqx_router module
2. Improve the code of emqx_trie module
3. Update the emqx_broker module to call the new APIs of emqx_router
2018-12-12 13:40:01 +08:00
Feng Lee
faac09eac9 Merge subscription sharding 2018-12-10 10:28:01 +08:00
Feng Lee
fb7b63c59b
Merge branch 'emqx32' into subscription-sharding 2018-12-10 10:08:18 +08:00
Feng Lee
3d4af2cc4a Merge branch 'emqx30' into emqx32 2018-12-10 09:54:27 +08:00
Gilbert Wong
e0eb76afa6 Fix subscription 2018-12-08 16:09:54 +08:00
Feng Lee
64f62fa0ce Make some processes hibernate after 1s. 2018-12-08 15:03:34 +08:00
spring2maz
a32b043980 Download erlang.mk and use git tag in appfile vsn 2018-12-08 15:03:34 +08:00
Feng Lee
f008ceb5c8 Optimize the route and trie modules.
1. Use mnesia:wread/1 to replace mnesia:read/2
2. Update the router supervisor
2018-12-08 15:03:34 +08:00
Gilbert Wong
3712d0c90f Add eunit tests to increase coverage. 2018-12-08 15:03:34 +08:00
Gilbert
0b70896456 Fix the coverage shaky (#2010) 2018-12-08 15:03:34 +08:00
spring2maz
10288827d1 Fallback to git clone -n then checkout if git version is older than 1.8 2018-12-08 15:03:34 +08:00
spring2maz
b6c123b173 Use git tag for app vsn 2018-12-08 15:03:34 +08:00
turtled
5164d0d6a5 Fix unsubscribe fail and rename shared -> shard 2018-12-08 11:40:08 +08:00
turtled
d1be51d398 Format code 2018-12-08 10:52:15 +08:00
turtled
ba897e51f9 Subscriber down clear emqx_suboption table 2018-12-08 10:26:50 +08:00
turtled
5e53eaeee5 rename shard shared 2018-12-08 09:56:00 +08:00
Feng Lee
36e7d63d66 Implement subscription sharding.
1. Improve the design router, broker and shared_sub
2. New ets tables' design for subscription sharding
2018-12-07 18:20:09 +08:00
Feng Lee
bce1ddc5c4 Implement a hash-based subscription sharding 2018-12-06 18:45:07 +08:00
Feng Lee
d11e734dae Make some processes hibernate after 1s. 2018-12-05 10:31:11 +08:00
Feng Lee
b4d981daf2 Add a sequence module to generate index for subscription sharding 2018-12-04 15:59:24 +08:00
spring2maz
520a5e0225 Download erlang.mk and use git tag in appfile vsn 2018-12-03 15:16:53 +08:00
Feng Lee
95446ca837 Optimize the route and trie modules.
1. Use mnesia:wread/1 to replace mnesia:read/2
2. Update the router supervisor
2018-12-03 11:10:47 +08:00
Gilbert Wong
61030c8d10 Add eunit tests to increase coverage. 2018-12-03 09:15:10 +08:00
Gilbert
295a9d692e
Fix the coverage shaky (#2010) 2018-11-30 19:16:48 +08:00
spring2maz
29f697dd69
Merge pull request #2009 from emqx/track-vsn-using-git-tag
Track vsn using git tag
2018-11-30 11:29:17 +01:00
spring2maz
b87e72861a Fallback to git clone -n then checkout if git version is older than 1.8 2018-11-30 11:03:26 +01:00
spring2maz
14dfe03426 Use git tag for app vsn 2018-11-30 11:03:26 +01:00
spring2maz
fe33aeb3dc For git older than 1.8, there is no shallow clone support 2018-11-30 17:47:59 +08:00
Feng Lee
d9470f365f Optimize read/write concurrency of mnesia/ets tables 2018-11-30 17:46:15 +08:00
Feng Lee
e15e5d1f98 Fix the atom leaks in emqx_reason_codes module. 2018-11-30 17:45:28 +08:00
周子博
fde5fbe73a Align the code 2018-11-30 17:44:29 +08:00
周子博
ddb9eaef7b Improve test coverage of emqx_metrics 2018-11-30 17:44:29 +08:00
周子博
ad8b547519 Make batch committing of metrics more elegant 2018-11-30 17:44:29 +08:00
周子博
f315994eb9 Remove unnecessary spec 2018-11-30 17:44:29 +08:00
周子博
c87aabbbeb Some forgotten changes in last commit 2018-11-30 17:44:29 +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
Shawn
76d5dedb3b
Remove simple log handler at startup (#2000)
The simple logger handler is not removed if we set the `log.to=file` in
emqx.conf.

This might be an issue of OTP logger:
https://bugs.erlang.org/browse/ERL-788

I set the error_logger to silent as a workaround.
2018-11-30 14:29:34 +08:00
Feng Lee
21ed012a0c Add an elegant batch module 2018-11-29 10:13:09 +08:00
Feng Lee
309f3560f3 Bump version to 3.0.0 2018-11-28 16:05:17 +08:00
周子博
5c291ff23e Fix the 'route_batch_delete' config 2018-11-28 16:04:04 +08:00
Gilbert Wong
d08ed351be Do no execute rebar-clean before distclean
Prior to this change, this project support to be built with rebar3 and
erlang.mk meanwhile but when we want to make distclean, this project
would execute rebar-clean which would get dependencies via rebar3, it
slow down the procedure of distclean.
2018-11-27 17:00:23 +08:00
Gilbert
d13c5f8ec1
Reduce dep size (#1981) 2018-11-26 17:55:48 +08:00
周子博
78fdb798f8 Update vsn 2018-11-26 13:51:32 +08:00
Shawn
eeb0cab3e3 Update proc meta-data for empty clientid (#1980) 2018-11-23 18:11:46 +08:00
Shawn
09025338d4 Enable emqx.log by default (#1979) 2018-11-23 18:10:59 +08:00
Shawn
93a079752f Update cuttlefish to v2.1.1 (#1978) 2018-11-23 11:04:55 +08:00