mirror of
https://github.com/google/nomulus
synced 2026-01-08 23:23:32 +00:00
Currently, a verify action is enqueued every time the upload method succeeds. Because the upload job is wrapped in a transaction, the same task will be enqueued again if the transaction retries. We cannot move the upload method outside the transaction because the read-upload-write logic needs to be atomic, and the upload part itself is idempotent (therefore retri-able). We can, however, move the enqueuing part outside the transaction as we only need to enqueue the verify task once the transaction succeeds. This should fix the issue where multiple verify jobs try to hit the same marksdb endpoints, resulting in 429 (Too Many Requests) errors.