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
[Performance] Large Object's Input Stream (BlobInputStream) takes a lot of time due to read one by one in application level #2375
Conversation
…jdbc#2374 change BlobInputStream behaviors to support buffered read. Large Object's Input Stream (BlobInputStream) takes a lot of time due to read one by one in application level pgjdbc#2374
PS. It would be great if you could create PRs using a feature-branch. |
@inhabitantNewCity , it looks like the PR won't handle the case when the client mixes There's already |
it is covered by Code (because I reuse the same variables in buffered read) about Feather branch, Could I use master for this issue? |
Keeping this in master is just fine. |
It's going to be quite complicated to keep both of these implementations. Scenario 1 . read() is called first and there is data in buffer, next read(b,o,l) is called, one would have to copy the buffer in first and start reading from that point on adjusting the offset and length. (This may be all that is required) Scenario 2). read(b,o,l) is called first, I guess all that is really necessary is to update apos. I'm not sure exactly why there is a limit at all, that seems rather pointless. |
yes, I found bug with mixed access, but I want to make it simplified if user call read() that system will redirect to previous approach like:
@vlsi @davecramer What do you think? about limit, yes I agree, as for me it is over complicated to support partial read and not so useful |
change BlobInputStream behaviors to support buffered read. Large Object's Input Stream (BlobInputStream) takes a lot of time due to read one by one in application level pgjdbc#2374
I'm thinking something more like PR #2376 |
I'm closing the PR as the fix will be available in 42.7.1, see #3044 |
fix performance issue described below
#2374 (comment)