Page MenuHomePhabricator

HTML for newly-created pages with VE on testwiki not stored in RESTBase
Closed, DuplicatePublic

Description

Steps to reproduce:

  • go to a non-existing page on testwiki
  • edit in VisualEditor
  • add some content and save
  • open for editing again

You'll be faced with an empty edit area, the previously saved will be gone. (It's properly saved but VE does not see it.)
Neither waiting between the save and the edit nor reloading the page inbetween avoids the bug.
Seems somewhat non-deterministic - on repeated attempts to edit the page, sometimes the content does show up.

Event Timeline

Tgr added a subscriber: ssastry.

Ping @ssastry - this is on testwiki probably fairly recent so Parsoid-PHP seems like the most plausible culprit.

ssastry added a subscriber: mobrovac.

Parsoid doesn't directly fetch any content. So, I suspect this is likely some RESTBase issue.

Change 552023 had a related patch set uploaded (by Mobrovac; owner: Mobrovac):
[mediawiki/services/restbase/deploy@master] [TEMP] Switch test2.wp back to Parsoid/JS

https://gerrit.wikimedia.org/r/552023

Change 552023 merged by Mobrovac:
[mediawiki/services/restbase/deploy@master] [TEMP] Switch test2.wp back to Parsoid/JS

https://gerrit.wikimedia.org/r/552023

Mentioned in SAL (#wikimedia-operations) [2019-11-20T09:52:21Z] <mobrovac@deploy1001> Started deploy [restbase/deploy@c677063]: Switch test2.wp back to Parsoid/JS temporarily - T238716

Mentioned in SAL (#wikimedia-operations) [2019-11-20T10:07:15Z] <mobrovac@deploy1001> Finished deploy [restbase/deploy@c677063]: Switch test2.wp back to Parsoid/JS temporarily - T238716 (duration: 14m 54s)

Change 552030 had a related patch set uploaded (by Mobrovac; owner: Mobrovac):
[mediawiki/services/restbase/deploy@master] Revert "[TEMP] Switch test2.wp back to Parsoid/JS"

https://gerrit.wikimedia.org/r/552030

Change 552030 merged by Mobrovac:
[mediawiki/services/restbase/deploy@master] Revert "[TEMP] Switch test2.wp back to Parsoid/JS"

https://gerrit.wikimedia.org/r/552030

Mentioned in SAL (#wikimedia-operations) [2019-11-20T10:22:54Z] <mobrovac@deploy1001> Started deploy [restbase/deploy@daa7808]: Revert switching test2.wp to Parsoid/JS - T238716

Mentioned in SAL (#wikimedia-operations) [2019-11-20T10:36:50Z] <mobrovac@deploy1001> Finished deploy [restbase/deploy@daa7808]: Revert switching test2.wp to Parsoid/JS - T238716 (duration: 13m 56s)

This issue is not dependent on the Parsoid backend used (hence, not a new issue, luckily). Instead, it seems to be a deeper issue, but only with test wikipedias and for newly-created pages only. We'll need to investigate some more.

mobrovac renamed this task from VisualEditor does not see previously saved content on testwiki to HTML for newly-created pages with VE on testwiki not stored in RESTBase.Nov 20 2019, 10:44 AM
mobrovac triaged this task as Medium priority.
JTannerWMF added a subscriber: JTannerWMF.

There doesn't appear to be action for the Editing-team so we will move this to external.

@mobrovac I was able to reproduce this issue on mediawiki.org as well (screenshot attached).

Screenshot 2020-01-31 at 17.56.50.png (1×1 px, 384 KB)

It seems that when creating the page, VE first tries to request the page HTML from RESTBase, using the /page/html/{title} endpoint. Since the page doesn't exist, RESTBase will return a 404 cached for 5 minutes (cache-control: s-maxage=600).

After saving the page and then trying to edit it again, VE will try to request the page HTML from the same RESTBase URL, but it will be served a cached 404 instead. Interestingly, this cached 404 seems to persist for more than 5 minutes, despite what the cache-control header indicates.

Does this RESTBase URL get purged in CDN on page create?