In my application, I created in Rust RecordBatch's (arrow 12) that contain multiple dictionary fields. I serialized using streaming IPC and attempted to read with C++ (4.0 and 8.0). The server failed to recover the batches. It seems to get confused with associating the proper dictionary to the correct field. Seems to only see the last dictionary?
I should also point out that I attempted the opposite: Reading in Rust what was created in C++ and that also failed.
I reduced this to a batch with two dictionary fields and uploaded that to: https://github.com/pierrebelzile/arrow_ipc_test. This includes files with the binaries.
I'm hoping there is an expert IPC-person here that quickly knows what is wrong...