diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v3_to_v4__test__compat_v3_v4-2.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v3_to_v4__test__compat_v3_v4-2.snap index bfc25e198..deae9b291 100644 --- a/dump/src/reader/compat/snapshots/dump__reader__compat__v3_to_v4__test__compat_v3_v4-2.snap +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v3_to_v4__test__compat_v3_v4-2.snap @@ -22,7 +22,7 @@ expression: tasks ] }, { - "id": 0, + "id": 1, "index_uid": "movies", "content": { "DocumentAddition": { @@ -53,7 +53,7 @@ expression: tasks ] }, { - "id": 1, + "id": 2, "index_uid": "movies", "content": { "SettingsUpdate": { @@ -86,7 +86,7 @@ expression: tasks ] }, { - "id": 2, + "id": 3, "index_uid": "movies", "content": { "SettingsUpdate": { @@ -121,7 +121,7 @@ expression: tasks ] }, { - "id": 3, + "id": 4, "index_uid": "movies", "content": { "DocumentAddition": { @@ -152,7 +152,7 @@ expression: tasks ] }, { - "id": 0, + "id": 5, "index_uid": "products", "content": { "SettingsUpdate": { @@ -193,7 +193,7 @@ expression: tasks ] }, { - "id": 1, + "id": 6, "index_uid": "products", "content": { "DocumentAddition": { @@ -225,7 +225,7 @@ expression: tasks ] }, { - "id": 2, + "id": 7, "index_uid": "products", "content": { "DocumentAddition": { @@ -256,7 +256,7 @@ expression: tasks ] }, { - "id": 0, + "id": 8, "index_uid": "dnd_spells", "content": { "DocumentAddition": { @@ -288,7 +288,7 @@ expression: tasks ] }, { - "id": 1, + "id": 9, "index_uid": "dnd_spells", "content": { "DocumentAddition": { diff --git a/dump/src/reader/compat/v3_to_v4.rs b/dump/src/reader/compat/v3_to_v4.rs index 98709a0fb..31ea1d019 100644 --- a/dump/src/reader/compat/v3_to_v4.rs +++ b/dump/src/reader/compat/v3_to_v4.rs @@ -67,7 +67,10 @@ impl CompatV3ToV4 { Box::new( tasks - .map(move |task| { + // we need to override the old task ids that were generated + // by index in favor of a global unique incremental ID. + .enumerate() + .map(move |(task_id, task)| { task.map(|(task, content_file)| { let index_uid = indexes .iter() @@ -97,7 +100,7 @@ impl CompatV3ToV4 { }; let task = v4::Task { - id: task.update.id() as u32, + id: task_id as u32, index_uid: v4::meta::IndexUid(index_uid), content: match task.update.meta() { v3::Kind::DeleteDocuments(documents) => {