From 52c5eb42ce3e70ce6e99926dbe18d9aee28c864e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:48:34 +0200 Subject: [PATCH] remove from dirty list again --- .../src/backend/operation/aggregation_update.rs | 7 +++++++ .../src/backend/operation/cleanup_old_edges.rs | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 27244cade747f1..4b51befac43c6f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -144,6 +144,13 @@ impl AggregatedDataUpdate { dirty_tasks_update: HashMap::from([(task_id, 1)]), } } + + pub fn no_longer_dirty_task(task_id: TaskId) -> Self { + Self { + unfinished: -1, + dirty_tasks_update: HashMap::from([(task_id, -1)]), + } + } } impl Add for AggregatedDataUpdate { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index ecd71c9df6fff7..1ab8c9ebc32810 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; use super::{ - aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + aggregation_update::{AggregatedDataUpdate, AggregationUpdateJob, AggregationUpdateQueue}, invalidate::make_task_dirty, ExecuteContext, Operation, }; @@ -38,10 +38,15 @@ pub enum OutdatedEdge { impl CleanupOldEdgesOperation { pub fn run(task_id: TaskId, outdated: Vec, ctx: ExecuteContext<'_>) { + let mut queue = AggregationUpdateQueue::new(); + queue.push(AggregationUpdateJob::DataUpdate { + task_id, + update: AggregatedDataUpdate::no_longer_dirty_task(task_id), + }); CleanupOldEdgesOperation::RemoveEdges { task_id, outdated, - queue: AggregationUpdateQueue::new(), + queue, } .execute(&ctx); }