amazon-sqs-java-messaging-lib icon indicating copy to clipboard operation
amazon-sqs-java-messaging-lib copied to clipboard

SQSMessageConsumerPrefetch keeps fetching messages after stop

Open XakepSDK opened this issue 1 year ago • 0 comments

  1. We have TestA: this test sends the message in the testAQueue, and checks some response after it was processed
  2. We have TestB: this test invokes http endpoint and waits for the message in the testAQueue

When we run TestA, we start JMS Listener for the testAQueue. After the test, we stop the listener When we run TestB, sometimes message in the testAQueue does not appear immediately, but appears after WAIT_TIME_SECONDS Both tests should run one after another.

After some debugging, it appears that SQSMessageConsumerPrefetch tries to fetch the message even when running = false I've put a non-suspending breakpoint here: https://github.com/awslabs/amazon-sqs-java-messaging-lib/blob/master/src/main/java/com/amazon/sqs/javamessaging/SQSMessageConsumerPrefetch.java#L261 to print the state of the running flag. When the error I've described is hit, the flag running is in false state.

XakepSDK avatar May 29 '24 15:05 XakepSDK