tree 0ed1a4b85e9360bf03b0680d29a6ae3fbd8d2149
parent 83071cfe070ae260699563247dc9994ef8341652
author stuartmorgan <stuartmorgan@google.com> 1714696624 -0400
committer GitHub <noreply@github.com> 1714696624 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmNDGwCRC1aQ7uu5UhlAAA1xAQAJnNj6Q3ZdOYTJwu58llMqLC
 5XvFQaoIkzR1w6pOQRZSzaf/MrbtR3FmG8VdUhvJGqCAsvNZsDq7+z160z8Q/LGQ
 a5FEMA6vzTwjRapTYClKD+AZv5QcyGta51+2Uh4BIOET2ilSOhh6kmMyhav1e+So
 PCBCh8Nq0SYFZYne2/9FDf4wyDYSi9aAXwMiyay5uoBrCQAlHHkq6Il62ZGCzcvr
 t6HVwGLxVhFVSXBAD0oEcvF51ZPn2Dwg7as8y+9Xg7H78TqoR48VAJ8blgMHYyNN
 5ecV6ctQHokxHLGfXwUv0tulh3xD9lYFIOdcOq0FJFw7qU84ORVYix9j7lVmSB7q
 hPzNxvwZDA5ffMmmcWhnHpDWLqx5NpIeZ6bvjmDTx/l36R9WvID/DMKBsfZ12pHF
 gf3nnoZCJ2qoetfsgz9xVo3WQr6gLyjkg30J0tSD9Vo3sgZ8kuM+xVJ+H9zmG1WG
 +cDw1sfxvx6b5PGcD8blrXFldys8SONA/8E8IPvFPZtXMXIga98mUUTXdP4eTdmD
 5DF1Z2NlBLChCZAeUvQOPknAN37V7S3O97XGOhtyCLFQ3jC68R5ar40WjC9xRCyv
 c5tq9fhiH09TawMgJQRoWBOLZ1SNQNEzWZTWqATxaMqPn6E9soVDhfz6JL9MnuGE
 +p0zhvRHh5mB7h6jKKaZ
 =QE/D
 -----END PGP SIGNATURE-----
 

Vacuum stale In Progress tasks more frequently (#3699)

https://github.com/flutter/flutter/issues/122117 is still happening frequently. Currently the cron job is only running every 12 hours, which means that when it happens we can have large numbers of stuck columns on the dashboard (it seems that when this happens it sometimes happens to an entire batch of backfill scheduling, which is currently 50) for up to 12 hours.

Looking at the history of this task:
- Originally it ran every 10 minutes, and was much more aggressive in what tasks it reset, causing https://github.com/flutter/flutter/issues/121989 and was subsequently disabled in https://github.com/flutter/cocoon/pull/2515
- It was re-enabled in https://github.com/flutter/cocoon/pull/3354, more narrowly targetted so it wouldn't reset jobs that had been assigned builds. However, it was re-landed with a much more conservative 12 hour cycle. That version *replaced* the time-based check, however, instead of adding to it, which means it's subject to a race when it runs. The justification for removing it was that since the job frequency was low the race wouldn't be an issue (which is only somewhat true).

This re-adds a time-based check to avoid races, and increases the frequency to one hour (which may still cause some tree delays; we can evaluate once it's been running in this mode for a while if we want to make it more often and make the timestamp check less conservative). It also removes the reset of the creation timestamp to 0 so that the timestamp check will work; that appears to be a legacy of the earliest version of this job which was trying to clean up a slightly different case involving null creation timestamps.

Mitigation for https://github.com/flutter/flutter/issues/122117

*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one issue.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*