Ideally if you had a reproduction or a stack trace that might help. In general I'm not aware of any issues around concurrency. There are maybe two things to be aware of: gRPC does not play well with forking, if you're using that for multiple processes; and the C++ implementation doesn't validate that batch schemas match the stream schema - this can cause an error on the client if bad data gets in via an application bug.
On Thu, May 26, 2022, at 21:08, James Duong wrote: > I've been trying to use the C++ Arrow Flight Client in an application and > been hitting a crash when querying a non-trivial dataset (about 360K rows). > The dataset is a mix of data types (strings, integers, doubles, lists, and > structs). > > The application is a combination of native code and .NET code. The > application spawns multiple processes and uses multiple threads, though I > don't think the FlightClient gets shared across threads. > > I see crashes when querying this dataset. Occasionally the number of elements > in one of the StringArrays returns does not match the number of rows reported > in a FlightStreamChunkIterator. This doesn't appear to happen consistently in > the same place but always happens when querying this data set. > > Are there any concurrency issues to be aware of when working with > FlightClient in C++? > > -- > *James Duong* > Lead Software Developer > Bit Quill Technologies Inc. > Direct: +1.604.562.6082 | [email protected] > https://www.bitquilltech.com > > > This email message is for the sole use of the intended recipient(s) and may > contain confidential and privileged information. Any unauthorized review, > use, disclosure, or distribution is prohibited. If you are not the intended > recipient, please contact the sender by reply email and destroy all copies of > the original message. Thank you.
