chaokunyang commented on PR #3374: URL: https://github.com/apache/fory/pull/3374#issuecomment-3976444717
Follow-up with exact symbols (previous comment lost inline code formatting): 1) ByteBuffer.Read(p []byte) does not call fill(...), so stream-backed buffers can return short/zero reads even when the underlying io.Reader still has data. This breaks internal call paths that use Read (e.g. MetaStringResolver.ReadMetaStringBytes and type-def decode). I can reproduce corrupted metastring bytes with NewByteBufferFromReader(..., 1) + a one-byte reader. 2) fill(...) currently collapses all io.Reader errors into BufferOutOfBoundError, so non-EOF transport errors (for example connection reset) are reported as bounds errors and the original I/O cause is lost. -- 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]
