VisualEditor: More gracefully handle situations where Parsoid returns a timeout failure code (HTTP 504)
Closed, ResolvedPublic

Description

Trying to "Edit" on http://en.wikipedia.org/wiki/List_of_Advanced_Dungeons_%26_Dragons_2nd_edition_monsters after a minute or so results in a popup "Error loading data from server: error. Would you like to retry?". Trying again, repeats the issue


Version: unspecified
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=39057

bzimport set Reference to bz50475.
AzaToth created this task.Via LegacyJun 30 2013, 7:36 PM
Mdennis-WMF added a comment.Via ConduitJul 1 2013, 1:18 PM

I think this is probably related - editing on large pages such as California is considerably slower when using VE than it is using the old editor. A contributor complained of slowness with this edit (http://en.wikipedia.org/w/index.php?title=California&diff=562339624&oldid=562339237) and I found the same issue with mine (http://en.wikipedia.org/w/index.php?title=California&diff=562390635&oldid=562351322)

Eloquence added a comment.Via ConduitJul 6 2013, 6:05 PM

Re: timeouts, need to be either handled more gracefully or we'll need to VE-blacklist articles where it occurs for now.

Eloquence added a comment.Via ConduitJul 9 2013, 1:56 AM

Looks like the timeout here is on the Varnish/Parsoid side (API request on edit fails with error 504 after 60 secs).

Jdforrester-WMF added a comment.Via ConduitJul 9 2013, 2:05 AM

Possibily we could, instead of giving the user the error code, we could have a pop-up saying "It looks like editor is currently unavailable; would you like to edit in source mode instead?" with an OK that takes you to action=edit and a cancel that returns you to action=view? Maybe for error-tracking purposes we could add <small>Parsoid returned 504</small> or <small>Parsoid not available</small> after the general call-to-action?

GWicke added a comment.Via ConduitJul 10 2013, 6:33 PM

After upping the Varnish backend timeout to 5 minutes http://en.wikipedia.org/wiki/List_of_Advanced_Dungeons_%26_Dragons_2nd_edition_monsters?veaction=edit works now despite timing out in VE once. Hitting 'retry' re-joins the ongoing render, and returns the page pretty quickly. Previewing that page also works in about 30 seconds.

You might want to tweak your timeouts / UI to reflect this change. As long as there is no timout from Varnish the render is still ongoing.

More testing is needed with even larger pages. Bug 51053 will be closed when that is done.

GWicke added a comment.Via ConduitJul 10 2013, 6:36 PM

(In reply to comment #5)

Previewing that page also works in about 30 seconds.

Actually closer to 70 on re-test.

Catrope added a comment.Via ConduitJul 10 2013, 6:50 PM

VE currently sets a 100s timeout, but in practice we often don't get there because the nginx proxies that terminate HTTPS and IPv6 traffic have a 60s timeout.

Jdforrester-WMF added a comment.Via ConduitJul 11 2013, 12:23 AM

I'm pulling this from being a blocker to bug 50848, given the reduced impact now that it works on the second try.

Krenair added a comment.Via ConduitFeb 8 2014, 5:07 PM

(resetting assignee - I had issues trying to properly reproduce Parsoid timeouts like this on my machine)

Jdforrester-WMF added a comment.Via ConduitFeb 9 2014, 2:41 AM

We'll help. :-)

Krenair added a comment.Via ConduitMar 12 2014, 11:38 PM

(In reply to James Forrester from comment #4)

Possibily we could, instead of giving the user the error code, we could have
a pop-up saying "It looks like editor is currently unavailable; would you
like to edit in source mode instead?" with an OK that takes you to
action=edit and a cancel that returns you to action=view? Maybe for
error-tracking purposes we could add <small>Parsoid returned 504</small> or
<small>Parsoid not available</small> after the general call-to-action?

Basically done this after checking with Roan about how to reproduce this error, without the small text underneath. Confirm dialogs don't allow you to use HTML markup.

gerritbot added a comment.Via ConduitMar 12 2014, 11:41 PM

Change 118398 had a related patch set uploaded by Alex Monk:
More gracefully handle situations where Parsoid returns a timeout failure code (HTTP 504)

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

gerritbot added a comment.Via ConduitMar 13 2014, 12:54 AM

Change 118398 merged by jenkins-bot:
More gracefully handle situations where Parsoid returns a timeout failure code (HTTP 504)

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

Add Comment