diff --git a/crates/index-scheduler/src/lib.rs b/crates/index-scheduler/src/lib.rs index f5f73087d..8a789da57 100644 --- a/crates/index-scheduler/src/lib.rs +++ b/crates/index-scheduler/src/lib.rs @@ -2017,6 +2017,11 @@ impl<'a> Dump<'a> { task: TaskDump, content_file: Option>, ) -> Result { + let task_has_no_docs = match task.kind { + KindDump::DocumentImport { documents_count, .. } if documents_count == 0 => true, + _ => false, + }; + let content_uuid = match content_file { Some(content_file) if task.status == Status::Enqueued => { let (uuid, mut file) = self.index_scheduler.create_update_file(false)?; @@ -2032,6 +2037,14 @@ impl<'a> Dump<'a> { // If the task isn't `Enqueued` then just generate a recognisable `Uuid` // in case we try to open it later. _ if task.status != Status::Enqueued => Some(Uuid::nil()), + None if task.status == Status::Enqueued && task_has_no_docs => { + let (uuid, mut file) = self.index_scheduler.create_update_file(false)?; + let builder = DocumentsBatchBuilder::new(&mut file); + builder.into_inner()?; + file.persist()?; + + Some(uuid) + } _ => None, };