Skip to content

Commit cd4b25f

Browse files
committed
Fix handling of multipart errors
1 parent d1e694b commit cd4b25f

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

object_store/src/multipart.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,18 @@ where
186186

187187
// If shutdown task is not set, set it
188188
let parts = std::mem::take(&mut self.completed_parts);
189-
let parts = parts.into_iter().map(Option::unwrap).collect();
189+
let parts = parts
190+
.into_iter()
191+
.enumerate()
192+
.map(|(idx, part)| {
193+
part.ok_or_else(|| {
194+
io::Error::new(
195+
io::ErrorKind::Other,
196+
format!("Missing information for upload part {}", idx),
197+
)
198+
})
199+
})
200+
.collect::<Result<_, _>>()?;
190201

191202
let inner = Arc::clone(&self.inner);
192203
let completion_task = self.completion_task.get_or_insert_with(|| {

0 commit comments

Comments
 (0)