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.

Reply via email to