Closed Bug 1488479 Opened 6 years ago Closed 4 years ago

Remove cache from KumaScript service

Categories

(developer.mozilla.org Graveyard :: KumaScript, enhancement, P3)

All
Other
enhancement

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jwhitlock, Unassigned)

References

Details

(Keywords: in-triage, Whiteboard: [specification][type:change][points:5])

What feature should be changed? Please provide the URL of the feature if possible.
==================================================================================
The KumaScript service includes access to Memcache, which is used in several places to cache responses from the Kuma API, and to cache other values. This should be removed.

What problems would this solve?
===============================
The cache may be responsible for rendering issues, where old content is used to render new content (bug 893210).

MDN pays for a Redis and a Memcache server. Kuma has been converted to Redis for all caching (bug 1431497). If KumaScript stopped using a caching server, this cost could be eliminated.

The cache can make local development more difficult. The cache must be cleared if a cached value is used in re-rendering a page, otherwise macro changes could result in undetected bugs. This may be a contributing cause to bug 1487640.

The cache makes it more difficult to reason about the rendering process, and blocks more functional algorithms for rendering pages.

Who would use this?
===================
KumaScript developers, MDN users

What would users see?
=====================
Developers would not see subtle bugs caused by unexpected cached data. 

MDN users may see less issues with pages being rendered with old content.

What would users do? What would happen as a result?
===================================================
Developers would need to adjust other parts of the architecture to avoid issues with repeated calls to external services. This may include changing the API service to work with a read-only database replica, and converting mdn/data to an npm module rather than calling the GitHub API.

Is there anything else we should know?
======================================
The cache was most useful in SCL3, when the KS service called the web workers, and rendering requests competed with user's requests to developer.mozilla.org. With the move to Kubernetes in 2017, an API service was added. Now the requests do not compete, but they do contend for the same database.
See Also: → 1431497, 893210, 1487640
See Also: → 1200008
Keywords: in-triage
Priority: -- → P3
Whiteboard: [specification][type:change] → [specification][type:change][points:5]
MDN Web Docs' bug reporting has now moved to GitHub. From now on, please file content bugs at https://github.com/mdn/sprints/issues/ and platform bugs at https://github.com/mdn/kuma/issues/.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.