diff --git a/object_store/src/upload.rs b/object_store/src/upload.rs index 4df4d8fd46ad..e20d3981c078 100644 --- a/object_store/src/upload.rs +++ b/object_store/src/upload.rs @@ -209,7 +209,10 @@ impl WriteMultipart { } pub(crate) fn put_part(&mut self, part: PutPayload) { - self.tasks.spawn(self.upload.put_part(part)); + // appereantly doing this inside spawn call, causes a index assignment race, + // to prevent it from happenin we do it here before spawn to ensure that the index is assigned correctly + let task = self.upload.put_part(part); + self.tasks.spawn(task); } /// Abort this upload, attempting to clean up any successfully uploaded parts