Unanswered question

Test is not stopping on empty shared queue

With version 5.1.4, we are running tests that reads from an empty shared queue, the stop policy is not taken into account.

This forces us to stop the test manually. Is this a bug?

Philippe-Alexandre C.
Philippe-Alexandre C.

Philippe-Alexandre C.

Level
0
35 / 100
points

Answers

Nouredine A.
Nouredine A.

Nouredine A.

Level
4
5000 / 5000
points
Team

Where do you see that option to stop a test when a shared queue is empty?

Philippe-Alexandre C.
Philippe-Alexandre C.

Philippe-Alexandre C.

Level
0
35 / 100
points

@Nouredine A. there is no option on the queue itself but the stop policy of the population in the runtime tab. I dont want to stop when the queue is empty I want the test to stop EVEN if there are VU waiting on that empty queue

Nouredine A.
Nouredine A.

Nouredine A.

Level
4
5000 / 5000
points
Team

If your stop policy is to stop immediately the users should stop when their last action is finished.

The shared queue has a timeout so the users should wait no more than that timeout. Did you modify the default value which is 5000 ms?

Do you have any errors in the NeoLoad log files? The interesting one on controller side are the neoload****.log files. And for the load generators you should get them directly on the Results section under the logs tab.

 

Philippe-Alexandre C.
Philippe-Alexandre C.

Philippe-Alexandre C.

Level
0
35 / 100
points

@Noredine A. Yes we changed the timeout to a very big value. because the queue rarely fill based on our scenario and we did not want errors juste because its empty nor flag the action as a success.

Scenario A : add a value on the queue 10% of the time to represent what can happen in real life.

Scenario B : read the shared queue and when it gets lucky do what is required. Thats why we have set a High timeout.

Question : Inside a VU is there a way to know the test is in "stopping" mode?

Or I guess we have to accept the fact there will be sucessfull iteration that did nothing but wait and bailout.

Nouredine A.
Nouredine A.

Nouredine A.

Level
4
5000 / 5000
points
Team

Ok it makes sense. You have a NeoLoad variable that you can query/test to know the status of the test. There are 2 different status which are RUNNING or STOPPING. This pre-defined variable is NL-TestStatus.

A link from the NeoLoad documentation is  here