Skip to content

Commit 5615fd3

Browse files
authored
Merge pull request #13719 from rabbitmq/mergify/bp/v4.0.x/pr-13717
Fix test flakes in various testsuites (backport #13470) (backport #13717)
2 parents 8cd7f66 + a1744a7 commit 5615fd3

File tree

6 files changed

+32
-5
lines changed

6 files changed

+32
-5
lines changed

deps/rabbit/test/logging_SUITE.erl

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
logging_to_syslog_works/1]).
5858

5959
suite() ->
60-
[{timetrap, {minutes, 1}}].
60+
[{timetrap, {minutes, 3}}].
6161

6262
all() ->
6363
[

deps/rabbit/test/priority_queue_recovery_SUITE.erl

+3-1
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ end_per_suite(Config) ->
3535
rabbit_ct_helpers:run_teardown_steps(Config).
3636

3737
init_per_group(_, Config) ->
38+
Suffix = rabbit_ct_helpers:testcase_absname(Config, "", "-"),
3839
Config1 = rabbit_ct_helpers:set_config(Config, [
39-
{rmq_nodes_count, 2}
40+
{rmq_nodes_count, 2},
41+
{rmq_nodename_suffix, Suffix}
4042
]),
4143
rabbit_ct_helpers:run_steps(Config1,
4244
rabbit_ct_broker_helpers:setup_steps() ++

deps/rabbit_common/mk/rabbitmq-run.mk

+5-2
Original file line numberDiff line numberDiff line change
@@ -320,10 +320,13 @@ start-background-broker: node-tmpdir $(DIST_TARGET)
320320
$(BASIC_SCRIPT_ENV_SETTINGS) \
321321
$(RABBITMQ_SERVER) \
322322
$(REDIRECT_STDIO) &
323+
trap 'test "$$?" = 0 || $(MAKE) stop-node' EXIT && \
323324
ERL_LIBS="$(DIST_ERL_LIBS)" \
324325
$(RABBITMQCTL) -n $(RABBITMQ_NODENAME) wait --timeout $(RMQCTL_WAIT_TIMEOUT) $(RABBITMQ_PID_FILE) && \
325-
ERL_LIBS="$(DIST_ERL_LIBS)" \
326-
$(RABBITMQCTL) --node $(RABBITMQ_NODENAME) await_startup
326+
for i in $$(seq 1 10); do \
327+
ERL_LIBS="$(DIST_ERL_LIBS)" $(RABBITMQCTL) -n $(RABBITMQ_NODENAME) await_startup || sleep 1; \
328+
done && \
329+
ERL_LIBS="$(DIST_ERL_LIBS)" $(RABBITMQCTL) -n $(RABBITMQ_NODENAME) await_startup
327330

328331
start-rabbit-on-node:
329332
$(exec_verbose) ERL_LIBS="$(DIST_ERL_LIBS)" \

deps/rabbitmq_mqtt/test/v5_SUITE.erl

+17
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,27 @@ end_per_testcase(T, Config) ->
206206
end_per_testcase0(T, Config).
207207

208208
end_per_testcase0(Testcase, Config) ->
209+
%% Terminate all connections and wait for sessions to terminate before
210+
%% starting the next test case.
211+
_ = rabbit_ct_broker_helpers:rpc(
212+
Config, 0,
213+
rabbit_networking, close_all_connections, [<<"test finished">>]),
214+
_ = rabbit_ct_broker_helpers:rpc_all(
215+
Config,
216+
rabbit_mqtt, close_local_client_connections, [normal]),
217+
eventually(?_assertEqual(
218+
[],
219+
rpc(Config, rabbit_mqtt, local_connection_pids, []))),
209220
%% Assert that every testcase cleaned up their MQTT sessions.
221+
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_queues, []),
210222
eventually(?_assertEqual([], rpc(Config, rabbit_amqqueue, list, []))),
211223
rabbit_ct_helpers:testcase_finished(Config, Testcase).
212224

225+
delete_queues() ->
226+
_ = [catch rabbit_amqqueue:delete(Q, false, false, <<"test finished">>)
227+
|| Q <- rabbit_amqqueue:list()],
228+
ok.
229+
213230
%% -------------------------------------------------------------------
214231
%% Testsuite cases
215232
%% -------------------------------------------------------------------

deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/FailureTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ void noLostConfirmedMessagesWhenLeaderGoesAway() throws Exception {
221221
() -> {
222222
connected.set(false);
223223

224+
try { Thread.sleep(2000); } catch (Exception e) {}
224225
Client locator =
225226
cf.get(new Client.ClientParameters().port(streamPortNode2()));
226227
// wait until there's a new leader
@@ -467,6 +468,7 @@ void consumerReattachesToOtherReplicaWhenReplicaGoesAway() throws Exception {
467468
// avoid long-running task in the IO thread
468469
executorService.submit(
469470
() -> {
471+
try { Thread.sleep(2000); } catch (Exception e) {}
470472
Client.StreamMetadata m = metadataClient.metadata(stream).get(stream);
471473
int newReplicaPort = m.getReplicas().get(0).getPort();
472474

deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/LeaderLocatorTest.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.rabbitmq.stream.impl.Client.Response;
2929
import com.rabbitmq.stream.impl.Client.StreamMetadata;
3030
import java.util.Collections;
31+
import java.time.Duration;
3132
import java.util.HashMap;
3233
import java.util.Map;
3334
import java.util.Set;
@@ -57,7 +58,9 @@ void invalidLocatorShouldReturnError() {
5758
void clientLocalLocatorShouldMakeLeaderOnConnectedNode() {
5859
int[] ports = new int[] {TestUtils.streamPortNode1(), TestUtils.streamPortNode2()};
5960
for (int port : ports) {
60-
Client client = cf.get(new Client.ClientParameters().port(port));
61+
Client client = cf.get(new Client.ClientParameters()
62+
.port(port)
63+
.rpcTimeout(Duration.ofSeconds(30)));
6164
String s = UUID.randomUUID().toString();
6265
try {
6366
Response response =

0 commit comments

Comments
 (0)