events: core.lease makes two module round trips under the default 10 s budget
#207
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the module-rust phase 12 walk. Recorded in
docs/modules/rust/PLAN.md§27.6.core.leasedeclares nobudgetMs, so it runs under the dispatcher's default of 10 s. Itsperformmakes two module calls in sequence (read, thenapply), and each of those is a sidecar round trip on any game module. MODULE_API §2.4's rule is thatbudgetMsmust exceed the timeout of whatever the action talks to. Here it has to exceed the sum of two.module-rust fits by giving its lease calls a 4.5 s client timeout, which a test asserts, and by releasing after a timed-out apply. module-uo's client waits 12 s per call, so one slow
readis enough for the dispatcher to classify the attempt as retry whileperformis still running. What a late-landing first attempt does against the retry's reservation is not established.Options: declare a
budgetMsoncore.lease, or let a lease declaration carry its own budget that core uses for the step.