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
This is a follow-up for #8652 to ideate and implement the solution.
During research of #8652 we discovered that the even though the extension send the response to OpenSearch, OS would still return No response..message to the requester. Upon further analysis it was discovered that inProgressFuture.orTimeout(ExtensionsManager.EXTENSION_REQUEST_WAIT_TIMEOUT, TimeUnit.SECONDS).join(); would always timeout on trying to join() back to main threadPool. See more about this in the flow diagram in this comment: #8652 (comment)
Upon conclusion of research with @reta, it was discovered that the way RestSendToExtensionAction#prepareRequest is implemented would need some changes. These changes are proposed here: #8652 (comment)
This solution might not be a straightforward fix since Extension expects requests from OpenSearch at Transport Layer, but this issue should be used to ideate and develop the fix.
Additional context
Steps to reproduce:
Checkout main and start helloWorld extension from main on SDK
[2023-07-11T19:11:12,938][INFO ][o.o.e.r.RestSendToExtensionAction] [runTask-0] Forwarding the request GET /hello to {hello-world}{hello-world}{UB8MdMJMRoGqXkceAEFC_g}{127.0.0.1}{127.0.0.1:4532}{dimrs}
[2023-07-11T19:21:22,969][INFO ][o.o.e.r.RestSendToExtensionAction] [runTask-0] Received response from extension: OK
After first 5-6 requests that "false" timeout after 10s, all the requests that follow should process as normal.
This is a follow-up for #8652 to ideate and implement the solution.
During research of #8652 we discovered that the even though the extension send the response to OpenSearch, OS would still return
No response..
message to the requester. Upon further analysis it was discovered thatinProgressFuture.orTimeout(ExtensionsManager.EXTENSION_REQUEST_WAIT_TIMEOUT, TimeUnit.SECONDS).join();
would always timeout on trying to join() back to main threadPool. See more about this in the flow diagram in this comment: #8652 (comment)Upon conclusion of research with @reta, it was discovered that the way RestSendToExtensionAction#prepareRequest is implemented would need some changes. These changes are proposed here: #8652 (comment)
This solution might not be a straightforward fix since Extension expects requests from OpenSearch at Transport Layer, but this issue should be used to ideate and develop the fix.
Additional context
Steps to reproduce:
No response from extension to request.%
Logs
The text was updated successfully, but these errors were encountered: