diff --git a/backend/.sqlx/query-37164e9a4bbb3fd283dc604be8dbf2ca7a1cd830d63f27c87266be2111edbdc4.json b/backend/.sqlx/query-37164e9a4bbb3fd283dc604be8dbf2ca7a1cd830d63f27c87266be2111edbdc4.json new file mode 100644 index 0000000000..856c461685 --- /dev/null +++ b/backend/.sqlx/query-37164e9a4bbb3fd283dc604be8dbf2ca7a1cd830d63f27c87266be2111edbdc4.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM job_logs WHERE job_id = $1", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "37164e9a4bbb3fd283dc604be8dbf2ca7a1cd830d63f27c87266be2111edbdc4" +} diff --git a/backend/.sqlx/query-467c563cdc81dd57a01735a9f535d1096bdfd6c539d8c31462f8f2bd711ab0fa.json b/backend/.sqlx/query-467c563cdc81dd57a01735a9f535d1096bdfd6c539d8c31462f8f2bd711ab0fa.json new file mode 100644 index 0000000000..0b47ce7a7d --- /dev/null +++ b/backend/.sqlx/query-467c563cdc81dd57a01735a9f535d1096bdfd6c539d8c31462f8f2bd711ab0fa.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM job_logs WHERE job_id = ANY($1)", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "UuidArray" + ] + }, + "nullable": [] + }, + "hash": "467c563cdc81dd57a01735a9f535d1096bdfd6c539d8c31462f8f2bd711ab0fa" +} diff --git a/backend/.sqlx/query-f3f1b312bff773fe04a5dbfc2c03963042fa19d5eb15cfb3e0c291a29482aa5b.json b/backend/.sqlx/query-f3f1b312bff773fe04a5dbfc2c03963042fa19d5eb15cfb3e0c291a29482aa5b.json new file mode 100644 index 0000000000..99d4d7075c --- /dev/null +++ b/backend/.sqlx/query-f3f1b312bff773fe04a5dbfc2c03963042fa19d5eb15cfb3e0c291a29482aa5b.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "UPDATE job_logs\n SET logs = '##DELETED##'\n WHERE job_id = $1", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "f3f1b312bff773fe04a5dbfc2c03963042fa19d5eb15cfb3e0c291a29482aa5b" +} diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index 79cb319778..4866aa0591 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -304,6 +304,15 @@ pub async fn delete_expired_items(db: &DB) -> () { { tracing::error!("Error deleting job stats: {:?}", e); } + if let Err(e) = sqlx::query!( + "DELETE FROM job_logs WHERE job_id = ANY($1)", + &deleted_jobs + ) + .execute(&mut *tx) + .await + { + tracing::error!("Error deleting job stats: {:?}", e); + } if let Err(e) = sqlx::query!( "DELETE FROM custom_concurrency_key_ended WHERE ended_at <= now() - ($1::bigint::text || ' s')::interval ", job_retention_secs diff --git a/backend/windmill-api/src/jobs.rs b/backend/windmill-api/src/jobs.rs index 821488eafe..a03e5df946 100644 --- a/backend/windmill-api/src/jobs.rs +++ b/backend/windmill-api/src/jobs.rs @@ -2394,6 +2394,14 @@ async fn delete_job_metadata_after_use(db: &DB, job_uuid: Uuid) -> Result<(), Er ) .execute(db) .await?; + sqlx::query!( + "UPDATE job_logs + SET logs = '##DELETED##' + WHERE job_id = $1", + job_uuid, + ) + .execute(db) + .await?; Ok(()) } @@ -3627,6 +3635,10 @@ async fn delete_completed_job<'a>( .fetch_optional(&mut *tx) .await?; + sqlx::query!("DELETE FROM job_logs WHERE job_id = $1", id) + .execute(&mut *tx) + .await?; + let job = not_found_if_none(job_o, "Completed Job", id.to_string())?; audit_log(