diff --git a/src/mito2/src/error.rs b/src/mito2/src/error.rs
index c6b69fe607..923d8a2713 100644
--- a/src/mito2/src/error.rs
+++ b/src/mito2/src/error.rs
@@ -616,6 +616,15 @@ pub enum Error {
location: Location,
},
+ #[snafu(display("Failed to read arrow record batch from parquet file {}", path))]
+ ArrowReader {
+ path: String,
+ #[snafu(source)]
+ error: ArrowError,
+ #[snafu(implicit)]
+ location: Location,
+ },
+
#[snafu(display("Column not found, column: {column}"))]
ColumnNotFound {
column: String,
@@ -1340,6 +1349,7 @@ impl ErrorExt for Error {
RegionState { .. } | UpdateManifest { .. } => StatusCode::RegionNotReady,
JsonOptions { .. } => StatusCode::InvalidArguments,
EmptyRegionDir { .. } | EmptyManifestDir { .. } => StatusCode::RegionNotFound,
+ ArrowReader { .. } => StatusCode::StorageUnavailable,
ConvertValue { source, .. } => source.status_code(),
ApplyBloomFilterIndex { source, .. } => source.status_code(),
InvalidPartitionExpr { source, .. } => source.status_code(),
diff --git a/src/mito2/src/memtable/bulk/context.rs b/src/mito2/src/memtable/bulk/context.rs
index c3274d30e9..228fa2d6c7 100644
--- a/src/mito2/src/memtable/bulk/context.rs
+++ b/src/mito2/src/memtable/bulk/context.rs
@@ -90,6 +90,7 @@ impl BulkIterContext {
Ok(Self {
base: RangeBase {
filters: simple_filters,
+ primary_key_filters: None,
dyn_filters,
read_format,
prune_schema: region_metadata.schema.clone(),
diff --git a/src/mito2/src/read/last_row.rs b/src/mito2/src/read/last_row.rs
index 1dc4102311..0c13c120a0 100644
--- a/src/mito2/src/read/last_row.rs
+++ b/src/mito2/src/read/last_row.rs
@@ -333,10 +333,10 @@ impl FlatRowGroupLastRowCachedReader {
}
/// Returns the next RecordBatch.
- pub(crate) async fn next_batch(&mut self) -> Result