Skip to content

AMQ-9625 - Prevent queue messages from becoming stuck - #1355

Merged
cshannon merged 1 commit into
apache:mainfrom
cshannon:AMQ-9625
Nov 21, 2024
Merged

cshannon merged 1 commit into
apache:mainfrom
cshannon:AMQ-9625

Conversation

@cshannon

@cshannon cshannon commented Nov 20, 2024 •

Copy link
Copy Markdown
Contributor

Fixes a race condition bug that can lead to a message being missed on dispatch and stuck on a Queue until restart when caching and concurrentStoreAndDispatch are enabled on a Queue and the cache becomes disabled.

This is pretty much impossible to reproduce or test in a unit test so there's no test for this but the risk of breaking anything is very low because all this is doing is just waiting for the future to complete to ensure the task finishes before we continue.

For a detailed description of the problem see https://issues.apache.org/jira/browse/AMQ-9625

@cshannon cshannon self-assigned this Nov 20, 2024
@cshannon
cshannon requested a review from mattrpav November 20, 2024 17:31
@cshannon
cshannon force-pushed the AMQ-9625 branch 2 times, most recently from 4ab130b to 4b641ee Compare November 20, 2024 18:59
@cshannon

Copy link
Copy Markdown
Contributor Author

I updated the PR slightly as we needed the check/wait for the async to be done not only when the store is being synced, but also for any outstanding in flight async messages that were in progress by other threads when the mode switched.

Fixes a race condition bug that can lead to a message being missed on
dispatch and stuck on a Queue until restart when caching and
concurrentStoreAndDispatch are enabled on a Queue and the cache becomes
disabled.
@cshannon

Copy link
Copy Markdown
Contributor Author

I'm going to go ahead and merge this as it is low risk (we are just waiting on the pending writes so messages become sync) and it's nearly impossible to write a test case for it. In my testing it has shown some promising results but if the issue re-occurs another Jira can be opened as a follow up.

@cshannon
cshannon merged commit bd91d97 into apache:main Nov 21, 2024
@cshannon
cshannon deleted the AMQ-9625 branch November 21, 2024 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants