First of all - thanks a lot for making elasticmq! We use it extensively for unit testing in my current project.
I have encountered a problem where the behaviour in elasticmq differs from AWS SQS. If the message visibility is changed (by calling changeMessageVisibility()) while another thread is doing a long-poll with receiveMessage(), the receiveMessage() will not return the message when it becomes visible, but rather when the long-polling wait time is expired.
First of all - thanks a lot for making elasticmq! We use it extensively for unit testing in my current project.
I have encountered a problem where the behaviour in elasticmq differs from AWS SQS. If the message visibility is changed (by calling changeMessageVisibility()) while another thread is doing a long-poll with receiveMessage(), the receiveMessage() will not return the message when it becomes visible, but rather when the long-polling wait time is expired.
The following Java code illustrates the problem:
When using AWS SQS, the second long poll returns once the message becomes visible, but with elasticmq it returns after 10 seconds.
Hope this is understandable and that you will look into it.
Thanks! Sindre