From ff1d088fa1c8c2e548899b848ccdc8698859cf21 Mon Sep 17 00:00:00 2001 From: Cheick Keita Date: Thu, 7 Jul 2022 14:53:51 -0700 Subject: [PATCH] include state filter when searching for expired jobs and tasks (#2138) --- src/ApiService/ApiService/onefuzzlib/JobOperations.cs | 5 ++++- src/ApiService/ApiService/onefuzzlib/TaskOperations.cs | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ApiService/ApiService/onefuzzlib/JobOperations.cs b/src/ApiService/ApiService/onefuzzlib/JobOperations.cs index 772607f5c..beb2e3480 100644 --- a/src/ApiService/ApiService/onefuzzlib/JobOperations.cs +++ b/src/ApiService/ApiService/onefuzzlib/JobOperations.cs @@ -29,7 +29,10 @@ public class JobOperations : StatefulOrm, IJobOper } public IAsyncEnumerable SearchExpired() { - return QueryAsync(filter: $"end_time lt datetime'{DateTimeOffset.UtcNow.ToString("o")}'"); + var timeFilter = $"end_time lt datetime'{DateTimeOffset.UtcNow.ToString("o")}'"; + var stateFilter = Query.EqualAnyEnum("state", JobStateHelper.Available); + var filter = Query.And(stateFilter, timeFilter); + return QueryAsync(filter: filter); } public IAsyncEnumerable SearchState(IEnumerable states) { diff --git a/src/ApiService/ApiService/onefuzzlib/TaskOperations.cs b/src/ApiService/ApiService/onefuzzlib/TaskOperations.cs index 01e32d8e4..2bcb59988 100644 --- a/src/ApiService/ApiService/onefuzzlib/TaskOperations.cs +++ b/src/ApiService/ApiService/onefuzzlib/TaskOperations.cs @@ -68,8 +68,10 @@ public class TaskOperations : StatefulOrm, ITas } public IAsyncEnumerable SearchExpired() { - var timeFilter = $"end_time lt Datetime'{DateTimeOffset.UtcNow.ToString("o")}'"; - return QueryAsync(filter: timeFilter); + var timeFilter = $"end_time lt datetime'{DateTimeOffset.UtcNow.ToString("o")}'"; + var stateFilter = Query.EqualAnyEnum("state", TaskStateHelper.AvailableStates); + var filter = Query.And(stateFilter, timeFilter); + return QueryAsync(filter: filter); } public async Async.Task MarkStopping(Task task) {