Antoine Pitrou
Antoine Pitrou
Ok, so any situation where the Flight component is used from a process which is not the process used to load it initially should be flagged, right? Something like "remember...
When you say "Forking then using a FlightClient from the child process" above, was the FlightClient created in the parent _before forking_ or in the child? Also, what happens if...
Right, so it seems we should store a global PID at the DLL level, since even a client created in a forked child isn't safe to use.
Oops, it seems one our CI setups doesn't like `std::basic_string_view`... https://github.com/apache/arrow/actions/runs/16043863615/job/45271747332?pr=44739#step:7:1125 Perhaps we should use `arrow::util::span` instead. (`arrow::util::span` is a backport of `std::span`).
We don't use `std::byte` currently in the codebase, so that would seem weird.
Oh, let's ensure the PR description fits in the pre-defined template. **Edit: done.**
I'm just noticing this PR. Is there a reason to make this behavior optional instead of standard?
Well, we haven't decided if we wanted to make this the default. I'm not sure it's worth maintaining an option for this.
Just a nit, otherwise looks good; thank you @paleolimbot !
You should **definitely** buffer small writes in memory. The S3 filesystem [does that](https://github.com/apache/arrow/blob/91bf1c9c170c1917ad47bb0dbb38aa5c9fbbbfb2/cpp/src/arrow/filesystem/s3fs.cc#L1545-L1592). You should also optionally allow async writes, as [in S3](https://github.com/apache/arrow/blob/91bf1c9c170c1917ad47bb0dbb38aa5c9fbbbfb2/cpp/src/arrow/filesystem/s3fs.h#L155-L156), and have `Flush` ensure all writes have...