Page MenuHomePhabricator

Stop sending original content to Parsoid
Closed, ResolvedPublic

Description

Right now RESTBase tries to send the html and data-parsoid of the previous render/revision of the page to Parsoid when we know that info (mostly on rerenders coming from ChangeProp)

But as we're trying to simplify our storage model and for now switch to only having the latest content in the storage, it's less likely that the previous revision/render will be available (still quite likely thought, because at the moment of a new revision creation, the previous revision was latest so it should be in the storage)

Having these additional requests for previous content significantly complicates the reasoning about what's going on, so if Parsoid doesn't really use that content or only have a very little value out of it, we might switch that off temporarily until we're solid with our new storage model.

@ssastry @Arlolra What do you think?

Event Timeline

Yup, works for us. @Arlolra we just need to verify that we don't have any baked-in assumptions about this. I don't think we have and the parsing works fine when these are absent, but, doesn't hurt to double-check.

Considering T98995, it's probably fine. But if we decide to do that, we should also remove the functionality from Parsoid altogether.

Considering T98995, it's probably fine. But if we decide to do that, we should also remove the functionality from Parsoid altogether.

By 'to do that', I presume you mean this ticket. But, the keyword in the ticket is 'temporarily'. We have a bunch of performance work ahead of us, and this is a useful feature. Plus, incremental parsing (the holy grail) does require access to previous revision HTML.

Considering T98995, it's probably fine. But if we decide to do that, we should also remove the functionality from Parsoid altogether.

@Arlolra we can resurrect it in RESTBase at some point, just during the transition period it will greatly simplify the reasoning about what's going on. The previous revision/render should be in storage at some point, just I'd better switch this off while we're transitioning to the new storage model, because in the beginning the previous versions will not be in storage, so it will either double parsoid load (if we generate previous demand) or will just silently disappear - which I was worried could break something in parsoid.

So I guess the consensus is to remove it right now for the transition period and resurrect later after we've tested the basic functionality and populated the storage.

Sounds like I didn't read the last paragraph :/

So I guess the consensus is to remove it right now for the transition period and resurrect later after we've tested the basic functionality and populated the storage.

Yes.

mobrovac triaged this task as Medium priority.
mobrovac edited projects, added Services (done); removed Services (designing).
mobrovac subscribed.

Merged and deployed, resolving.