Commit Graph

4468 Commits

Author SHA1 Message Date
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
周子博 35e699e54e Make sure test case of emqx_banned passes 2018-12-04 16:11:25 +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
周子博 b2c3d8366d Add logs for malformed acl configuration file 2018-12-03 13:57:37 +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
Shawn 6fa183f847 Add CLI for log level (#1977) 2018-11-23 11:04:33 +08:00
Shawn 2bd0f16884 Add CLI for log tracer (#1973) 2018-11-23 11:01:10 +08:00
tigercl 551d5d99d2 Change 'aquire' to 'acquire' (#1976)
* Change 'aquire' to 'acquire'
2018-11-23 11:00:30 +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
terry-xiaoyu bc1464a33f Lazy logging without header 2018-11-19 11:17:58 +08:00
terry-xiaoyu 82b8047349 Helper funcs for adding proc meta-data 2018-11-19 11:17:58 +08:00
terry-xiaoyu e8cc65ef40 Change logger micros 2018-11-19 11:17:58 +08:00