Page MenuHomePhabricator

Consider not awaiting the secondary memcached population Promise
Closed, InvalidPublic

Description

Description

See the relevant TODO tagged with this task's ID in src/fetchObject.js.

Notionally, it's unnecesary to await this Promise, but not awaiting it makes things hard to test and is possibly causing memory issues by delaying garbage collection (unawaited Promises can hang around in a deprioritized part of the garbage collector).

Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)

  • don't await the Promise, but DO thoroughly test it and ensure it doesn't cause memory leaks

Remove all the non-applicable tags from the "Tags" field, leave only the tags of the projects/repositories related to this task


Completion checklist

Event Timeline

Jdforrester-WMF subscribed.

Risk of memory leak, but also speed concerns.

Jdforrester-WMF lowered the priority of this task from High to Medium.May 13 2026, 8:15 PM

Re-prioritising to Medium during an Engineering Backlog triage. The work is concrete and well-bounded: drop the await on the secondary memcached population Promise in src/fetchObject.js (there's an in-code TODO tagged with this task ID), verify it doesn't introduce a memory leak via unreaped Promises, verify it doesn't degrade test observability past acceptable. But 9 months without movement says High wasn't driving action; Medium is the honest signal. Cross-reference: T395064 ("Improve the memcached concurrency treatment", still High in this triage pass) is in the same neighbourhood — whoever picks up this card should look at that one too, since the await-vs-fire-and-forget decision interacts with the concurrency model.

We are now using setDefinitionForSync, so there is no longer a Promise to await (or not await, as it were). Recommending that this be closed.