diff --git a/Cargo.toml b/Cargo.toml
index 61ce0276328d..317f0b648b5c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,5 +31,5 @@ members = [
exclude = ["python"]
[patch.crates-io]
-arrow2 = { git = "https://github.com/jorgecarleitao/arrow2.git", rev = "b7e991366104d1647b955a828e0551256ef2e7c9" }
-arrow-flight = { git = "https://github.com/jorgecarleitao/arrow2.git", rev = "b7e991366104d1647b955a828e0551256ef2e7c9" }
+arrow2 = { path = "/Users/shenyijie/oss/arrow2" }
+arrow-flight = { path = "/Users/shenyijie/oss/arrow2/arrow-flight" }
diff --git a/ballista/rust/core/src/execution_plans/shuffle_writer.rs b/ballista/rust/core/src/execution_plans/shuffle_writer.rs
index 56ee938c1930..63b60f7ac8ec 100644
--- a/ballista/rust/core/src/execution_plans/shuffle_writer.rs
+++ b/ballista/rust/core/src/execution_plans/shuffle_writer.rs
@@ -42,6 +42,7 @@ use datafusion::arrow::io::ipc::read::FileReader;
use datafusion::arrow::io::ipc::write::FileWriter;
use datafusion::arrow::record_batch::RecordBatch;
use datafusion::error::{DataFusionError, Result};
+use datafusion::physical_plan::common::IPCWriterWrapper;
use datafusion::physical_plan::hash_utils::create_hashes;
use datafusion::physical_plan::metrics::{
self, ExecutionPlanMetricsSet, MetricBuilder, MetricsSet,
@@ -197,7 +198,7 @@ impl ShuffleWriterExec {
// we won't necessary produce output for every possible partition, so we
// create writers on demand
- let mut writers: Vec