You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.
If a Callback is parsed in the ConversationWebservice the Analysis is expected to be done async to request.
Actual Behaviour
The ConversationWebservice only returns after the Analysis is completed
Steps to Reproduce
The best way to demonstrate this is to configure a Callback URL that times out, as in this case the Request to the ConversationWebservice will also time out.
Environment
Smarti-Version: any 0.7.* release
The text was updated successfully, but these errors were encountered:
It turns out the reason is the usage of CompleteableFuture#whenComplete to send the callback.
CompleteableFuture#whenComplete is executed in the callers thread context. So the Request to the ConversationWebservice is synced with (waits for the comlpetion of) the async Analysis to send the Callback in the Thread Context of the ConversationWebserivce Request
Changing the CompleteableFuture#whenComplete calls to CompleteableFuture#whenCompleteAsync will ensure the expected behaviour as this will use the Suppliers Thread Context for the execution of the Callback
Expected Behaviour
If a Callback is parsed in the ConversationWebservice the Analysis is expected to be done async to request.
Actual Behaviour
The ConversationWebservice only returns after the Analysis is completed
Steps to Reproduce
The best way to demonstrate this is to configure a Callback URL that times out, as in this case the Request to the ConversationWebservice will also time out.
Environment
0.7.*
releaseThe text was updated successfully, but these errors were encountered: