Skip to content

Commit ade941e

Browse files
committed
Fix review comments
1 parent 6ade7dc commit ade941e

6 files changed

Lines changed: 22 additions & 9 deletions

File tree

internal/pkg/janitor/job.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"database/sql"
55
_ "embed"
66
"fmt"
7+
"time"
78

89
"github.com/go-faster/errors"
910
"github.com/hladush/go-telemetry/pkg/telemetry"
@@ -223,8 +224,10 @@ func (j *Janitor) cleanupFinishedJobs() error {
223224
}
224225
defer sess.Close()
225226

227+
retentionTimestamp := time.Now().AddDate(0, 0, -j.FinishedJobRetentionDays).Unix()
228+
226229
// get biggest ID of old jobs
227-
row, err := sess.QueryRow(queryOldJobsBiggestID, j.FinishedJobRetentionDays)
230+
row, err := sess.QueryRow(queryOldJobsBiggestID, retentionTimestamp)
228231
if err != nil {
229232
return fmt.Errorf("failed to get biggest ID of old jobs: %w", err)
230233
}
@@ -236,15 +239,21 @@ func (j *Janitor) cleanupFinishedJobs() error {
236239
}
237240
return fmt.Errorf("failed to get biggest ID of old jobs: %w", err)
238241
}
239-
242+
240243
if !biggestID.Valid || biggestID.Int64 == 0 {
241244
return nil
242245
}
243246

244247
// remove old jobs data
245248
for _, q := range queriesForOldJobsCleanup {
246-
if _, err := sess.Exec(q, biggestID.Int64); err != nil {
247-
return err
249+
for {
250+
affectedRows, err := sess.Exec(q, biggestID.Int64)
251+
if err != nil {
252+
return err
253+
}
254+
if affectedRows == 0 {
255+
break
256+
}
248257
}
249258
}
250259

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
SELECT MAX(system_job_id) FROM jobs WHERE updated_at < extract(epoch FROM now() - ($1 || ' days')::interval)::int;
1+
SELECT system_job_id
2+
FROM jobs
3+
WHERE updated_at < $1
4+
ORDER BY updated_at desc
5+
LIMIT 1

internal/pkg/janitor/queries/old_jobs_cluster_tags_delete.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ WHERE system_job_id IN (
33
SELECT system_job_id
44
FROM job_cluster_tags
55
WHERE system_job_id <= $1
6-
LIMIT 1000
6+
LIMIT 100
77
);

internal/pkg/janitor/queries/old_jobs_command_tags_delete.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ WHERE system_job_id IN (
44
SELECT system_job_id
55
FROM job_command_tags
66
WHERE system_job_id <= $1
7-
LIMIT 1000
7+
LIMIT 100
88
);

internal/pkg/janitor/queries/old_jobs_delete.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ WHERE system_job_id IN (
44
SELECT system_job_id
55
FROM jobs
66
WHERE system_job_id <= $1
7-
LIMIT 1000
7+
LIMIT 100
88
);

internal/pkg/janitor/queries/old_jobs_tags_delete.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ WHERE system_job_id IN (
33
SELECT system_job_id
44
FROM job_tags
55
WHERE system_job_id <= $1
6-
LIMIT 1000
6+
LIMIT 100
77
);

0 commit comments

Comments
 (0)