fix: every queue_agent call creates a permanent jobs_v2 row with no cleanup path#833
Closed
sam-saffron-jarvis wants to merge 1 commit into
Closed
Conversation
Owner
|
Closing as requested: the high-confidence fixes have been applied or superseded in the current working tree. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
queue_agent-created jobs with a dedicated labels marker so the jobs server can distinguish ephemeral sub-agent jobs from normal user-managed jobs.jobsV2Manager.pruneOldDatato delete old terminalqueue_agentjobs fromjobs_v2itself before the existing run/event retention pass.queue_agentsending the ephemeral labels marker on job creation.Why this is high-value
Every
queue_agentcall previously inserted a brand-new permanent row intojobs_v2and nothing ever removed it. Over time that makes the jobs catalog grow without bound, which directly increases the amount of persistent state behind:SELECT COUNT(1) FROM jobs_v2/v2/jobsreadsThis fix turns that permanent leak into bounded retained state. After the normal run-retention window passes, old ephemeral queue-agent jobs are deleted entirely, so the job catalog no longer grows forever from one-shot background sub-agent work.
Validation
gofmt -w internal/tools/queue_agent.go internal/tools/queue_agent_test.go cmd/serve_jobs_v2.go cmd/serve_jobs_v2_test.gogo build ./...go test ./...git diff --check