Zaiming (Stone) Shi
14ba75502f
chore: update copyright year
2023-01-02 14:54:38 +01:00
Zaiming (Stone) Shi
0ab5ac95bb
test: refactor emqx_takeover_SUITE
2022-11-02 21:09:24 +01:00
Zaiming (Stone) Shi
a163ffce7c
test: assert message receive pid is in the expected pids list
2022-10-19 18:16:38 +02:00
Zaiming (Stone) Shi
73a5462cba
fix(shared): do not redispatch shared messages for certain shutdown
...
For takeover, there should be no message re-dispatch because
the messages will be retried by the new session.
For kick, messages should not be re-dispatched for security reason.
i.e. if admin has identified that there are malicious messages
stored in persisted sessions, killing the session should not
cause messages to be re-dispatched
2022-10-19 17:21:56 +02:00
Zaiming (Stone) Shi
a1032db4e1
test: add test case to verify QoS 0 message is never redispatched
2022-10-05 18:07:43 +02:00
Zaiming (Stone) Shi
d23dfcca39
fix(shared): only re-dispatch QoS1 inflights
2022-10-05 16:03:43 +02:00
Zaiming (Stone) Shi
d46393c45c
Merge remote-tracking branch 'origin/release-v43' into 1004-fix-wildcard-redispatch-for-shared-subs
2022-10-05 12:42:03 +02:00
Zaiming (Stone) Shi
3339df8b24
test: Add test case to cover shared sub QoS2 pubrel in inflights
2022-10-05 12:38:12 +02:00
Zaiming (Stone) Shi
2e28d5e73e
test: fix more flaky test in share sub SUITE
2022-10-03 13:02:46 +02:00
Thales Macedo Garitezi
ebf131266a
test: fix flaky shared sub test case
...
the route replication is async, added a function to wait for it
2022-09-30 17:22:58 +02:00
Thales Macedo Garitezi
a1a3f5198a
test: attempt to fix flaky shared sub test
...
```
%%% emqx_shared_sub_SUITE ==> t_local_fallback: FAILED
%%% emqx_shared_sub_SUITE ==> {{badmatch,[{share,<<"local_foo/bar">>,{ok,1}},
{share,<<"local_foo/bar">>,{error,no_subscribers}}]},
[{emqx_shared_sub_SUITE,t_local_fallback,1,
[{file,"/emqx/test/emqx_shared_sub_SUITE.erl"},
{line,411}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
{test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1292}]},
{test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1224}]}]}
```
2022-08-24 09:19:38 -03:00
Ilya Averyanov
a19fbe214f
feat(node_rebalance): implement node evacuation and rebalancing
2022-08-13 11:32:14 +03:00
ieQu1
b042498b3c
test(shared_sub): Apply remarks
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-07-26 15:25:01 +02:00
ieQu1
0982e8e7fd
test(shared_sub): Fix gen_rpc setup
2022-07-26 15:15:25 +02:00
ieQu1
1a2a8f017c
test(shared_sub): Increase timeout
2022-07-26 10:37:40 +02:00
Georgy Sychev
31d4c92a17
fix(shared): retry dispatch when inflights are full
2022-05-25 20:31:10 +04:00
Georgy Sychev
b345002e84
feat(shared): redispatch to another shared sub, when no ACK received
2022-05-18 18:28:58 +04:00
JimMoen
6168745f90
chore: update copyright
2022-04-14 11:23:25 +08:00
JianBo He
bf1a3fe1eb
chore: eliminate some compiling warnings and improve change logs
2022-04-08 11:16:37 +08:00
Georgy Sychev
0c74227995
feat(shared_sub): per group strategies and local strategy
...
Adds backward compatible per group strategy for shared subscriptions
Adds local shared subscription strategy
2022-04-07 13:40:02 +04:00
Zaiming Shi
6354e75626
chore: update copyrights
2021-04-23 20:43:00 +02:00
Zaiming Shi
ca32ac310f
chore(style): make elvis happy
2021-01-21 21:05:56 +01:00
Zaiming Shi
0087303b25
feat(shared_sub): Support hashing from source topic.
2021-01-21 21:05:56 +01:00
Zaiming Shi
d67212e7fa
chore(test): Make test profile build
2020-12-11 08:19:26 +01:00
JianBo He
98faa698f3
feature(quota): add quota confs to limit the number of message forwards
2020-08-14 16:58:08 +08:00
JianBo He
40758fb693
Workflow ( #3163 )
...
Add workflows
2020-01-09 11:53:20 +08:00
zhouzb
7ea75f4289
Update copyright
2020-01-03 18:31:08 +08:00
Feng Lee
0f9f1258b6
Improve the emqx_message module and add more test cases
...
- Add 'emqx_message:clean_dup/1' function
- Clean dup flag before publishing a message
- Add more test cases for emqx_message module
2019-12-10 09:22:38 +08:00
zhanghongtong
c3d07dbf80
Add more test cases for emqx_shared_sub
2019-11-07 15:05:41 +08:00
zhouzb
e3ddd4ebe9
Make test cases pass temporarily
2019-11-01 16:58:53 +08:00
Feng Lee
7be110cdef
Add more test cases
2019-10-23 16:35:15 +08:00
terry-xiaoyu
7f730ffec6
Revert client_id options in the testcases
2019-10-12 18:05:34 +08:00
terry-xiaoyu
54e11d3bb5
Fix client_id options in testcases
2019-10-12 15:10:49 +08:00
Feng Lee
8ab682151d
Improve the connection and channel modules
...
- Rename the 'client_id' field to 'clientid'
- Support publish stats in channel module
- Update test cases for frame and channel modules
2019-09-29 10:22:02 +08:00
Feng Lee
7175e4a74c
Set 'boot_modules' when starting emqx apps.
2019-09-06 17:36:34 +08:00
GilbertWong
3f20bcf58f
Relace emqx_client with emqtt
2019-08-22 14:27:29 +08:00
terry-xiaoyu
2fcda7d891
Dirty update testcases for shared_sub
2019-08-09 15:44:29 +08:00
Feng Lee
a2d5b834da
Improve emqx_pmon module and add more test cases
2019-08-08 22:42:45 +08:00
Feng Lee
4afa02ee48
Update all the test cases
2019-08-06 09:04:37 +08:00
Feng Lee
c8317a230d
Update copyright
2019-08-03 11:43:30 +08:00
spring2maz
ac0e637a4b
Delete APPLICATION macro from erl-opts in rebar.config
2019-05-24 10:16:10 +08:00
Gilbert Wong
b3927ff730
Add emqx_ct_helpers as deps and refactor test suites
2019-04-25 13:41:22 +08:00
Gilbert
771f8c052a
Merge branch 'develop' into introduce-new-bridge-impl
2019-02-28 15:14:40 +08:00
Feng Lee
e3bc8e4f0a
Support batch delivery
...
- Upgrade the emqx_session module to support batch delivery
- Update emqx_protocol:deliver/2 to support batch delivery
- Update some test cases
2019-02-28 15:09:13 +08:00
spring2maz
b9e8bde3b0
Add first CT test for emqx_portal based on rpc
2019-02-28 11:17:27 +08:00
turtled
31e95b56c4
Update Copyright to 2019
2019-01-29 10:43:25 +08:00
turtleDeng
00863acea3
Merge emqx30 ( #2181 )
...
* Change the reason code in will topic acl check (#2168 )
* Fix bridge bug (#2160 )
* Limit bridge QoS less than 1
* Improve shared sub dispatch implementation. (#2144 )
* Upgrade ekka, esockd libraries
* Improve the 'try_open_session' function
* Reload config (#2180 )
2019-01-25 13:01:48 +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
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