Skip to content

[ObjectStore] Non-Contiguous Write Payloads #81

Closed
apache/arrow-rs
#5538

Description

@tustvold

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

Currently ObjectStore::put accepts a Bytes object, which is a contiguous memory region. This is simple and efficient where payload sizes are known ahead of time, and buffers can therefore be sized appropriately up-front, however, it may force additional copies in situations where this is not known.

Describe the solution you'd like

I am not sure, the HTTP-based stores are fairly coupled to HTTP requests containing a Bytes body, and whilst reqwest does have the ability to wrap a byte stream, this would break retries, AWS content signing and possibly some other things.

Describe alternatives you've considered

With apache/arrow-rs#5500 it becomes possible to do chunked writes with no additional copies, this potentially reduces the need for this functionality as users can just allocate data in 5 MiB chunks.

Additional context

apache/arrow-rs#5500 adds a put_part API with a similar requirement

Activity

  1. self-assigned this
    on Mar 20, 2024
  2. changed the title [-]Non-Contiguous Write Payloads[/-] [+][ObjectStore] Non-Contiguous Write Payloads[/+] on Apr 11, 2024
  3. alamb commented on Mar 20, 2025

    @alamb
    Contributor

    Migrating from arrow-rs issue #5514

  4. transferred this issue fromapache/arrow-rson Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions