alamb commented 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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]