Skip to content

SQSMessageConsumerPrefetch keeps fetching messages after stop #238

Open
@XakepSDK

Description

@XakepSDK
  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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions