alamb edited a comment on pull request #1283:
URL: https://github.com/apache/arrow-datafusion/pull/1283#issuecomment-966253254


   When I also update `prost` and `tonic in the `Cargo.toml` in the ballista 
projects, now it fails like this:
   
   ```
   
   cd /Users/alamb/Software/arrow-datafusion && 
CARGO_TARGET_DIR=/Volumes/RAMDisk/df-target cargo test --all
      Compiling ballista-core v0.6.0 
(/Users/alamb/Software/arrow-datafusion/ballista/rust/core)
   error[E0277]: `(dyn tonic::codec::Decoder<Item = FlightData, Error = 
tonic::Status> + std::marker::Send + 'static)` cannot be shared between threads 
safely
      --> ballista/rust/core/src/client.rs:128:20
       |
   128 |                 Ok(Box::pin(FlightDataStream::new(stream, schema)))
       |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
`(dyn tonic::codec::Decoder<Item = FlightData, Error = tonic::Status> + 
std::marker::Send + 'static)` cannot be shared between threads safely
       |
       = help: the trait `Sync` is not implemented for `(dyn 
tonic::codec::Decoder<Item = FlightData, Error = tonic::Status> + 
std::marker::Send + 'static)`
       = note: required because of the requirements on the impl of `Sync` for 
`std::ptr::Unique<(dyn tonic::codec::Decoder<Item = FlightData, Error = 
tonic::Status> + std::marker::Send + 'static)>`
       = note: required because it appears within the type `Box<(dyn 
tonic::codec::Decoder<Item = FlightData, Error = tonic::Status> + 
std::marker::Send + 'static)>`
       = note: required because it appears within the type 
`Streaming<FlightData>`
   note: required because it appears within the type `FlightDataStream`
      --> ballista/rust/core/src/client.rs:137:8
       |
   137 | struct FlightDataStream {
       |        ^^^^^^^^^^^^^^^^
       = note: required for the cast to the object type `dyn 
RecordBatchStream<Item = 
std::result::Result<datafusion::arrow::record_batch::RecordBatch, 
datafusion::arrow::error::ArrowError>> + Sync + std::marker::Send`
   
   error[E0277]: `(dyn tonic::codegen::Body<Error = tonic::Status, Data = 
prost::bytes::Bytes> + std::marker::Send + 'static)` cannot be shared between 
threads safely
      --> ballista/rust/core/src/client.rs:128:20
       |
   128 |                 Ok(Box::pin(FlightDataStream::new(stream, schema)))
       |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
`(dyn tonic::codegen::Body<Error = tonic::Status, Data = prost::bytes::Bytes> + 
std::marker::Send + 'static)` cannot be shared between threads safely
       |
       = help: the trait `Sync` is not implemented for `(dyn 
tonic::codegen::Body<Error = tonic::Status, Data = prost::bytes::Bytes> + 
std::marker::Send + 'static)`
       = note: required because of the requirements on the impl of `Sync` for 
`std::ptr::Unique<(dyn tonic::codegen::Body<Error = tonic::Status, Data = 
prost::bytes::Bytes> + std::marker::Send + 'static)>`
       = note: required because it appears within the type `Box<(dyn 
tonic::codegen::Body<Error = tonic::Status, Data = prost::bytes::Bytes> + 
std::marker::Send + 'static)>`
       = note: required because it appears within the type `Pin<Box<(dyn 
tonic::codegen::Body<Error = tonic::Status, Data = prost::bytes::Bytes> + 
std::marker::Send + 'static)>>`
       = note: required because it appears within the type 
`http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, 
tonic::Status>`
       = note: required because it appears within the type 
`Streaming<FlightData>`
   note: required because it appears within the type `FlightDataStream`
      --> ballista/rust/core/src/client.rs:137:8
       |
   137 | struct FlightDataStream {
       |        ^^^^^^^^^^^^^^^^
       = note: required for the cast to the object type `dyn 
RecordBatchStream<Item = 
std::result::Result<datafusion::arrow::record_batch::RecordBatch, 
datafusion::arrow::error::ArrowError>> + Sync + std::marker::Send`
   
   For more information about this error, try `rustc --explain E0277`.
   error: could not compile `ballista-core` due to 2 previous errors
   warning: build failed, waiting for other jobs to finish...
   error: build failed
   ```
   
   (namely because `FlightData` is no longer marked `Sync` for some reason)
   
   ~@tustvold  any ideas?~


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to