Commit Graph

3150 Commits

Author SHA1 Message Date
Gilbert Wong
a748e8f1d8 Refactor send_fun in protocol and other connection module
Prior to this change, in the send function, the packet is forced to
use emqx:serialize to serialize packet, it is a wrong design because
other plugins which need to transform the mqtt packet to other packets
can not use their own serialize function to serialize packet.

This change solve the problem issued above.
2018-10-18 13:24:06 +08:00
Gilbert Wong
599121052a Add test case for init_proc_mng_policy 2018-10-18 10:41:01 +08:00
Gilbert Wong
c890792613 Fix the init_proc_mng_policy bug
Prior to this change, when the plugin like emqx_sn_gateway which has
no zone run the init_proc_mng_policy function, it would trigger error
and application crash.

This change add a case to avoid crash.
2018-10-17 17:24:05 +08:00
Gilbert Wong
d36a34fb59 Fix topic_name validation bug
Prior to this change, Prior to this change, the validation for the mqtt5.0 publish packet
which both contains zero-length topic name and topic alias is wrong.
2018-10-09 17:45:40 +08:00
Feng Lee
b25dbd866b Update README.md 2018-10-04 12:17:28 +08:00
HuangDan
e5f977d808 Upgrade the esockd library 2018-09-29 22:16:54 +08:00
spring2maz
e3f2ae8db8 Change from customized total heap size check to set process flag
The `max_heap_size` process flag can be used to limit total
heap size of a process, and it gives much more detailed
crash log if the limit is hit.
2018-09-29 21:36:34 +08:00
周子博
1705f25db6 Fix bug in session expiry interval 2018-09-29 21:30:22 +08:00
HuangDan
cb85c5fea0 Upgrade the esockd library to v5.4.2 2018-09-29 18:59:35 +08:00
周子博
1638aff0f9 Remove duplicate match 2018-09-29 14:47:21 +08:00
周子博
a77f8d28f9 Improve coverage 2018-09-29 14:47:21 +08:00
周子博
59798762a9 Remove will message when received disconnect packet with reason code 0x00 2018-09-29 14:47:21 +08:00
周子博
2d354ca883 Improve topic alias maximum in connect packet 2018-09-29 14:47:21 +08:00
周子博
064db65206 improve receive maximum in connect packet 2018-09-29 14:47:21 +08:00
HuangDan
1bc175e0ce Add mountpoint config to zone configs 2018-09-28 18:53:52 +08:00
HuangDan
2a0bbd1c37 Fixed errors './cuttlefish: command not found' when running make app.config 2018-09-28 16:52:14 +08:00
spring2maz
3bab3cbd2a Shared subscriber should be keyed by SharedName + Topic
Prior to this change, if a producer session produces to two
or more shared subscriber groups, the previously picked subscriber
for sticky strategy may not be a valid member for the next group.
2018-09-28 09:37:51 +08:00
HuangDan
96b5d71a67 Fix args errors on emqx_hook:run('message.acked') 2018-09-27 11:49:23 +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
spring2maz
c123064afc Upload coveralls data only when sucess
This is done by moving coveralls send to after_success section
in .travis.yml.
having it in after_success should not make the build fail if
coveralls send fails due to server being overloaded etc.
2018-09-25 22:09:13 +08:00
spring2maz
0b0ef9bd54 Fix default QoS in test cases 2018-09-25 22:09:13 +08:00
spring2maz
9b2629e884 Fix dependency version discrepancy between Makefile and rebar.config 2018-09-25 22:09:13 +08:00
spring2maz
8a8729f9ea Make rebar3 xref work.
Fixed a bad call in emqx_mod_subscription module
also commented out dead code for now in emqx_config.erl
2018-09-25 22:09:13 +08:00
HuangDan
5dfd431040 Fix typo 2018-09-22 19:40:07 +08:00
turtleDeng
925e98a3e5
Merge pull request #1823 from emqx/add-shared-sub-strategy
Add new shared subscription dispatch strategy
2018-09-22 19:30:08 +08:00
HuangDan
a46a1a2525 Upgrade the esockd library to v5.4.1 2018-09-22 18:34:18 +08:00
周子博
4336b7c9a0 Fix bug in issue#1848 2018-09-22 18:23:56 +08:00
turtled
5afaac4641 Add emqx_broker:subscribe/3 defult qos 2018-09-22 18:03:05 +08:00
spring2maz
3b9247994d Refine emqx_mock_client
Before this change, eqmx_mock_client uses a shared ets table
to store last received message, this causes troulbe when we
want to start / stop two or more clients in one test case
the ets table gets owned by the first spanwed client and
gets closed when the owner client dies.

Now it keeps the last received message in process state
and a gen_server call is added to retrieve it for verification

Along with this change in emqx_mock_client, it made possible
to write test case to verify the actual subscriber pid
used in shared subscription strategy, so test cases were
added (and modified) to verify different strategies
2018-09-22 10:51:38 +02:00
spring2maz
b35d37c92d Add new shared subscription dispatch strategy
'random' was already there before this change
Added two new strategies: 'sticky' and 'round_robin'
'sticky' is made default as it is the cheapest
2018-09-22 10:50:34 +02: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
turtled
475f2a87c6 Rm emqx_ctl set|show cmds 2018-09-22 16:17:21 +08:00
tigercl
03f607c1b2 Fix issue#1833 and #1834 (#1845) 2018-09-22 16:10:24 +08:00
turtleDeng
8653732bae Revert "Calculate the 1.5 keep alive time exactly" 2018-09-22 14:52:31 +08:00
Feng Lee
b4b31dbfe4 Merge branch 'more-gc-enforcement-policies' into emqx30 2018-09-22 06:41:08 +08:00
Feng Lee
02ddcf37cd
Merge branch 'emqx30' into more-gc-enforcement-policies 2018-09-22 06:35:11 +08:00
Feng Lee
a4cbe4d0ad Merge branch 'shutdown-policy' into emqx30 2018-09-22 06:29:55 +08:00
Feng Lee
3dfe4168cb
Change '0KB' to '0MB' 2018-09-22 06:24:41 +08:00
Feng Lee
71c556bb8a Merge branch 'shutdown-policy' of github.com:emqx/emqx into shutdown-policy 2018-09-22 06:20:26 +08:00
Feng Lee
05a5ad0f8c
Use '0MB' to configure size of force_shutdown_policy 2018-09-22 06:14:43 +08:00
Feng Lee
29787d8945
Use '0MB' to configure bytes of force_gc_policy 2018-09-22 06:08:53 +08:00
Feng Lee
ee7a7e2479
Fix typo 2018-09-22 06:05:29 +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
spring2maz
b61615323b Move shutdown policy config to zone configs 2018-09-21 18:58:18 +02:00
spring2maz
f70d16e387 Add a test case to cover timeout message flush in emqx_misc 2018-09-21 18:58:18 +02:00
spring2maz
6fca651a84 Add connection/session shutdown policy
The hibernation behaviour is also changed (implicitly) in this commit:
Prior to this change, connection/session always hibernates after
the stats timer expires regardless of messages in mailbox.
After this commit, connection/session process only goes to hibernate
when the timer expires AND there is nothing left in the mailbox to
process
2018-09-21 18:58:18 +02:00