sodonnel commented on PR #6613: URL: https://github.com/apache/ozone/pull/6613#issuecomment-3360724384
Looking at this some more, I added in some debug messages to see what was getting called. The client does make a new call to the server for each "read", which is at the checksum boundary. On the server side, there is a some GRPC stuff getting setup with `onNext()` etc, which makes it look like a single call from the client will receive many chunks over the single call, but that isn't happening. Each 16kb read is a new call to the server. On the client side, in XceiverClientGrpc, we have a new sendReadBlock() method, and it uses a StreamObserver with `onNext` too, but that doesn't seem to get used. Surely what we need to do, is create some sort of GRPC stream which is returned to the StreamBlockInputStream, and it calls `onNext()` on it somehow until there is no more to return. However then what happens with a seek, if I read some of the block and then seek and then read some more. How is that supposed to work? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
