Skip to content

Handle Solace Acknowledgements on worker pool instead of event loop thread#95

Merged
SravanThotakura05 merged 3 commits intomainfrom
ack-handling-worker-thread
Feb 9, 2026
Merged

Handle Solace Acknowledgements on worker pool instead of event loop thread#95
SravanThotakura05 merged 3 commits intomainfrom
ack-handling-worker-thread

Conversation

@SravanThotakura05
Copy link
Collaborator

An intermittent issue is observed where Solace message processing is stuck during OAuth token refresh. The analysis indicated a possible circular wait loop between reconnection and pending acknowledgements. This is causing a deadlock and failure as event loop thread is blocked for more than 2000ms.

As part of this pull request, Solace ack handling is moved to worker pool instead of event loop to prevent the deadlock

Copy link
Collaborator

@ozangunalp ozangunalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once it is executed on the worker pool it still needs to be emitted on the message context.

So you'd need to add
.emitOn(msg::runOnMessageContext) after runSubscriptionOn.

Otherwise, I think it will resolve the issue described.

@SravanThotakura05
Copy link
Collaborator Author

Once it is executed on the worker pool it still needs to be emitted on the message context.

So you'd need to add .emitOn(msg::runOnMessageContext) after runSubscriptionOn.

Otherwise, I think it will resolve the issue described.

Thanks @ozangunalp for reviewing the change. I have added the suggested change

@SravanThotakura05 SravanThotakura05 merged commit b88d939 into main Feb 9, 2026
2 checks passed
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