tustvold opened a new issue #1614:
URL: https://github.com/apache/arrow-datafusion/issues/1614


   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   
   Currently `SendableRecordBatchStream` imposes `Sync` constraints.
   
   ```
   pub type SendableRecordBatchStream = Pin<Box<dyn RecordBatchStream + Send + 
Sync>>;
   ```
   
   This is unfortunate as not all streams have Sync bounds, furthermore it is 
unclear why `Sync` is particularly useful for a stream. A type is `Sync` if a 
reference to it can be shared across multiple threads, as opposed to `Send` 
which just requires that it can be sent to another thread. However, you can 
only poll a stream with a mutable, and therefore exclusive reference. The only 
thing you can do with a `&SendableRecordBatchStream` is get the schema
   
   **Describe the solution you'd like**
   
   Remove the Sync constraint
   
   **Describe alternatives you've considered**
   
   Keep the sync constraint
   
   **Additional context**
   
   This constraint currently forces a `Mutex` in `FlightDataStream` even though 
it should be unnecessary - see 
[here](https://github.com/apache/arrow-datafusion/pull/1523/files#diff-fbe42c9921134407fcd295f34eaba80e6eccc9d70046e8c4b0625ef5d1899ac9R138)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to