You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when you need to pre-allocate space for a record batch or a stream (schema + dictionaries + record batches), you must make multiple passes over the data structures of interest (and use e.g. MockOutputStream to compute the size of the output buffer). It would be useful to make a single pass to "prepare" the IPC payload for both sizing and writing to prevent having to make multiple passes
Wes McKinney / @wesm:
I'm running into a slight issue with this refactoring around output streams which are currently at a position that is not a multiple of 8.
This results in the entire message payload being non-deterministic depending on the state of the OutputStream. I don't think it will impact any applications, but I suggest we write padding bytes at the start to an 8-byte offset and then begin writing the message. This is the same approach used by WriteTensor in https://github.com/apache/arrow/blob/master/cpp/src/arrow/ipc/writer.cc#L621.
Wes McKinney / @wesm:
I will need to revisit this in the context of Flight RPC, where this data structure may be used to coordinate writes onto the GRPC output stream
Currently, when you need to pre-allocate space for a record batch or a stream (schema + dictionaries + record batches), you must make multiple passes over the data structures of interest (and use e.g.
MockOutputStream
to compute the size of the output buffer). It would be useful to make a single pass to "prepare" the IPC payload for both sizing and writing to prevent having to make multiple passesReporter: Wes McKinney / @wesm
Assignee: Wes McKinney / @wesm
Original Issue Attachments:
PRs and other links:
Note: This issue was originally created as ARROW-1860. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: