David Li created ARROW-14769:
--------------------------------
Summary: [Go] Errors from MessageReader.Message don't get surfaced
by Reader.Read
Key: ARROW-14769
URL: https://issues.apache.org/jira/browse/ARROW-14769
Project: Apache Arrow
Issue Type: Bug
Components: Go
Reporter: David Li
Assignee: David Li
Noticed while playing with a Flight client. This snippet inadvertently
suppresses all errors that come from the underlying MessageReader since
{{next}} sets {{done}} after an error is encountered.
{code:go}
func (r *Reader) Read() (array.Record, error) {
if r.rec != nil {
r.rec.Release()
r.rec = nil
}
if !r.next() {
// r.done is set if next() errors, so we always
// return EOF instead of the actual error
if r.done {
return nil, io.EOF
}
return nil, r.err
}
return r.rec, nil
}{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)