Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-5377

[C++] Make IpcPayload public and add GetPayloadSize

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.0.0
    • C++

    Description

      As discussed in recent mailing list thread

      https://lists.apache.org/thread.html/b756209052fecb8c28a5eb37db7aecb82a5f5351fa79a9d86f0dba3e@%3Cuser.arrow.apache.org%3E

      The only viable process at the moment for getting an accurate report of stream size is to write a simulated stream using MockOutputStream. This is suboptimal for a couple of reasons:

      • Flatbuffers metadata must be created twice
      • Record batch disassembly into IpcPayload must be performed twice

      It seems like an interface with a very constrained public API could be provided to deconstruct a sequence of RecordBatches and report the size of the produced IPC stream (based on metadata sizes, and padding), and then this deconstructed set of IPC payloads can be written out to a stream (e.g. using FixedSizeBufferWriter)

      Attachments

        Issue Links

          Activity

            People

              lidavidm David Li
              wesm Wes McKinney
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2.5h
                  2.5h