[
https://issues.apache.org/jira/browse/ARTEMIS-5148?focusedWorklogId=943326&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-943326
]
ASF GitHub Bot logged work on ARTEMIS-5148:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 12/Nov/24 14:00
Start Date: 12/Nov/24 14:00
Worklog Time Spent: 10m
Work Description: clebertsuconic commented on code in PR #5338:
URL: https://github.com/apache/activemq-artemis/pull/5338#discussion_r1838153248
##########
tests/soak-tests/src/test/java/org/apache/activemq/artemis/tests/soak/interruptlm/ClusteredLargeMessageInterruptTest.java:
##########
@@ -289,57 +268,51 @@ private void testInterrupt(String protocol, boolean tx,
boolean useKill) throws
ExecutorService executorService =
Executors.newFixedThreadPool(SENDING_THREADS + CONSUMING_THREADS);
runAfter(executorService::shutdownNow);
- CountDownLatch sendDone = startSendingThreads(executorService, protocol,
0, SENDING_THREADS, tx, queueName);
- CountDownLatch receiverDone = startConsumingThreads(executorService,
protocol, 0, CONSUMING_THREADS, tx, queueName);
-
- Thread.sleep(2000);
-
- killProcess(serverProcess, useKill);
- runningSend = false;
- runningConsumer = false;
- assertTrue(serverProcess.waitFor(10, TimeUnit.SECONDS));
- assertTrue(receiverDone.await(10, TimeUnit.SECONDS));
- assertTrue(sendDone.await(10, TimeUnit.SECONDS));
-
- logger.info("All receivers and senders are done!!!");
-
- serverProcess = startServer0();
-
- Thread.sleep(2000);
-
- sendDone = startSendingThreads(executorService, protocol, 1,
SENDING_THREADS, tx, queueName);
- receiverDone = startConsumingThreads(executorService, protocol, 1,
CONSUMING_THREADS, tx, queueName);
-
- killProcess(serverProcess2, useKill);
- assertTrue(serverProcess2.waitFor(10, TimeUnit.SECONDS));
- runningSend = false;
- runningConsumer = false;
- assertTrue(sendDone.await(1, TimeUnit.MINUTES));
- assertTrue(receiverDone.await(10, TimeUnit.SECONDS));
-
- serverProcess2 = startServer1();
-
- sendDone = startSendingThreads(executorService, protocol, 1,
SENDING_THREADS, tx, queueName);
- receiverDone = startConsumingThreads(executorService, protocol, 1,
CONSUMING_THREADS, tx, queueName);
-
- Thread.sleep(2000);
- runningSend = false;
- assertTrue(sendDone.await(10, TimeUnit.SECONDS));
-
- QueueControl queueControl1 = getQueueControl(server1URI, builderServer1,
queueName, queueName, RoutingType.ANYCAST, 5000);
- QueueControl queueControl2 = getQueueControl(server2URI, builderServer2,
queueName, queueName, RoutingType.ANYCAST, 5000);
-
File lmFolder = new File(getServerLocation(SERVER_NAME_0) +
"/data/large-messages");
File lmFolder2 = new File(getServerLocation(SERVER_NAME_1) +
"/data/large-messages");
- Wait.waitFor(() -> queueControl1.getMessageCount() == 0 &&
queueControl2.getMessageCount() == 0 && lmFolder.listFiles().length == 0 &&
lmFolder2.listFiles().length == 0);
+ {
+ CountDownLatch sendDone = startSendingThreads(executorService,
protocol, 0, SENDING_THREADS, tx, queueName);
+ CountDownLatch receiverDone = startConsumingThreads(executorService,
protocol, 1, CONSUMING_THREADS, tx, queueName);
+
+ // let it producing for a while
+ Thread.sleep(2000);
+
+ runningSend = false;
+ assertTrue(sendDone.await(10, TimeUnit.SECONDS));
+
+ killProcess(serverProcess);
+ assertTrue(serverProcess.waitFor(1, TimeUnit.MINUTES));
Review Comment:
I had the test failing with a 20 seconds window on my slow laptop.. although
the test was using Kill instead of destroyForcibly.
This is not of course taking the 1 minute.. just the necessary amount of
time... but since I had failures with a slow laptop I would like to keep a
longer timeout
Issue Time Tracking
-------------------
Worklog Id: (was: 943326)
Time Spent: 0.5h (was: 20m)
> Simpllify and make ClusteredLargeMessageInterruptTest more reliable
> -------------------------------------------------------------------
>
> Key: ARTEMIS-5148
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5148
> Project: ActiveMQ Artemis
> Issue Type: Test
> Reporter: Clebert Suconic
> Assignee: Clebert Suconic
> Priority: Minor
> Labels: pull-request-available
> Fix For: 2.39.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> As I was writing the test ClusteredLargeMessageInterruptTest I was trying
> many permutations, tinkering / hacking to reproduce an issue it was reported
> to me in production. once I found it I created
> AmqpLargeMessageTest::testDeleteUnreferencedMessage,
> and I ended up leaving the test in its last permutation thinking it would be
> a good thing.. however the test is failing for test issues in itself
> (consumers not being closed.. and test races). The main purpose of the test
> is to accumulate messages in the SNF and kill the servers.
> So as part of this task I'm simplifying the test making it more reliable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact