Commit Graph

4484 Commits

Author SHA1 Message Date
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
spring2maz f9f09f66dd Add new shutdown-policy config schemas 2018-09-21 18:58:18 +02:00
spring2maz 721f237bc4 Rewrite emqx_gc.erl
The implementation prior to this commit supports
only one gc enforcement policy which is message count threshold.
The new implementation introduces 1 more: volume threshold based
2018-09-21 22:56:34 +08:00
turtleDeng 98758752d4
Merge pull request #1839 from tigercl/emqx30
Calculate the 1.5 keep alive time exactly
2018-09-21 20:05:10 +08:00
terry-xiaoyu 389b3c80bc Fix the message delivery to remote 2018-09-21 20:00:43 +08:00
周子博 ab2697671a Change the location of the recording last packet timestamp 2018-09-21 19:59:32 +08:00
周子博 aade94711c Use process dictionaries to record last packet timestamp 2018-09-21 18:50:26 +08:00
周子博 b1d4ec750a Remove the same test cases as emqx_keepalive 2018-09-20 17:58:54 +08:00
周子博 2c350bf5fb Match test case for last change 2018-09-20 17:19:21 +08:00
周子博 768d1786c7 Fix bug 2018-09-20 15:55:36 +08:00
周子博 073bf481c9 Calculate the 1.5 keep alive time exactly 2018-09-20 15:51:28 +08:00
tigercl 1256ce1500
Merge pull request #8 from emqx/emqx30
Emqx30
2018-09-20 15:15:11 +08:00
spring2maz f58165db73 Move shutdown policy config to zone configs 2018-09-19 22:28:22 +02:00
spring2maz f75a624197 Add a test case to cover timeout message flush in emqx_misc 2018-09-19 21:15:00 +02:00
spring2maz 25b61afe0d 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-19 21:14:56 +02:00
spring2maz 81d575c3c1 Add new shutdown-policy config schemas 2018-09-19 21:14:15 +02:00
spring2maz e940c1c970 Rewrite emqx_gc.erl
The implementation prior to this commit supports
only one gc enforcement policy which is message count threshold.
The new implementation introduces 1 more: volume threshold based
2018-09-19 21:08:16 +02:00