Page MenuHomePhabricator

mediawiki - node: add timeout
Closed, ResolvedPublic3 Estimated Story Points


In order to avoid blocking mediawiki rendering the termbox SSR request should be configured with a timeout.

Timeout limit
Possibility to find that out: Render a couple of items, and see what would be an unusual time of rendering
If the number is too high, we would impact the whole service of Wikidata and mediawiki (like 60 seconds)
Risk of being too low: We would only rely on client side editing, which would create more load on low performance clients

User perspective

  • They would not see anything until the timeout was reached, and then client side rendering would kick in, and then the user would see stuff (considering their browser supporting javascript)

Acceptance Criteria

  • There is a timeout limit in place when the SSR request is stopped.
  • If the SSR request is stopped, client side rendering happens as a fallback
  • If the SSR request is stopped due to a timeout, ParserCache should not persist any results
  • The timeout limit is neither badly affecting Wikidata/Mediawiki performance nor always resulting in client side fallback activity.

If along the way you find out, what happens on the SSR side (is it still trying to render sth or will it realize that the client has hung up), please make note and let everyone know.

Technical Note

  • relevant bit of code is TermboxRemoteRenderer #34
  • should be configurable with a sensible default. default: 3 seconds
  • add rationale how to get to a meaningful number once the service is in production (see: T220404)

Event Timeline

Pablo-WMDE created this task.
Lea_WMDE set the point value for this task to 3.

Change 503948 had a related patch set uploaded (by Matthias Geisler; owner: Matthias Geisler):
[mediawiki/extensions/Wikibase@master] Add Request timeout for ssr-connection

Change 503948 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Add Request timeout for ssr-connection