-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Streaming bulk request hangs #16035
Comments
Just ran this again with the root logger set to DEBUG and can see the below error:
I would expect any errors to be returned, but I also wouldn't expect this to error. I wonder if there is some request/response buffering happening which is splitting the larger documents. |
Thanks @thomas-long-f3 , I suspect we may hit Netty's chunk max size limits but the large documents are indeed have constraints, working on, thank you. |
The server responds now with the error (instead of hanging):
|
Thanks @reta for fixing this! I still would have expected the second request to succeed as it's terminated by a newline. Can you see any reason why this is failing? |
Thanks @thomas-long-f3 , yes, it is bit different issue, I am working on that as we speak, but we should be able to handle the large documents for sure. |
Describe the bug
I'm testing the experimental Streaming Bulk feature in 2.17.0, writing a stream indexer in Go.
The approach I'm taking is to asynchronously open a connection to the
_bulk/stream
endpoint, then pass in a chunk of bytes containing the usual bulk request header & body, then waiting until a bulk response is streamed back.Everything works as expected with simple requests (i.e. small documents, index only), however when testing the indexer with a real service I hit a situation where the request is sent, and the response is never received.
I've managed to reproduce this with a simple program (see below). What seems to trigger the issue is a combination of scripted request and larger requests.
Related component
Indexing
To Reproduce
I'm running OpenSearch 2.17.0 locally in docker, using the below configuration:
When running the following Go program:
(Apologies I can't replicate this with a simple curl request, as I can't split the chunks per document)
This prints...
And hangs, there is no second response received.
For comparison, using a simple request (see below) in an infinite loop with happily run continuously without issue.
Expected behavior
Each request returns a response.
Additional Details
No response
The text was updated successfully, but these errors were encountered: