Page MenuHomePhabricator

[Discuss] Switch from precached utility to Change Propagation
Closed, ResolvedPublic

Description

In https://phabricator.wikimedia.org/T137370#2388018, @mobrovac said:

In T137370#2385142, @Halfak wrote:
Do you have suggestions on what steps we might go through to make use of it?

I think the first and foremost is to set-up a meeting where we can understand your concrete needs. All I'm understanding from this ticket is we need a pregeneration service to run query X on every edit, which is a really broad request. What kind of edits do you target? What does the outgoing request to ORES look like?

In the end, it could be that Change Propagation is not granular enough as we sync some models and not others.

It could be, but without having a proper and clear conversation about your needs, we likely won't find out ;) In general, Change Prop allows you to specify the events you want to react to and filter on individual fields, so from my little understanding of your needs, I don't think it'll be a problem accommodating them.
FYI, Change Propagation is in charge of refreshing the complete RESTBase content. We used to do this via the JobQueue, but have moved to EventBus and Change Propagation since, as it is a more stable and powerful system.

This task is done when a conversation about switching to Change Propagation is completed and, if positive, tasks are created for the next steps.

Event Timeline

Right now, we send events to ORES for every edit that is saved. We are currently looking into filtering out bot edits from the precaching system (T137967).

Would this describe the usage: for every new revision not made by a bot, make a request to ORES ? If so, what does the request look like? Can it be derived from the event itself?

mobrovac added subscribers: Pchelolo, Ladsgroup.

We have discussed this today at the Esino Lario hackathon with @Ladsgroup and @Pchelolo and have discovered that Change Prop can already accommodate ORES' precaching requirements. @Pchelolo created a patch to enable it and the plan is to do so tomorrow morning.

FYI, currently no-bot edits are not separated out. Those will be added as soon as they are added to the schema and emitted from MW.

We have discussed this today at the Esino Lario hackathon with @Ladsgroup and @Pchelolo and have discovered that Change Prop can already accommodate ORES' precaching requirements. @Pchelolo created a patch to enable it and the plan is to do so tomorrow morning.

This is now live in production. So far so good - change-prop is processing around 5 events per second, and the completion time is 2s, on average. Let's monitor it for a while.

I'm monitoring it via https://grafana.wikimedia.org/dashboard/db/ores and it looks good so far (the spike is because of a time that both our precaching and CP were up at the same time)

Does grafana for eventbus have something to determine how many of requests comes from ORES CP or not? that would be nice.

Does grafana for eventbus have something to determine how many of requests comes from ORES CP or not? that would be nice.

I was wrong: https://grafana.wikimedia.org/dashboard/db/eventbus?panelId=8&fullscreen and click on "ores-cache_exec"

Looks like Change Propagation is live right now.

Pchelolo claimed this task.

Yes. The ORES update rule is live in change propagation. It's limited to 15 concurrent requests. Resolving the task as everything is done here.

Unresolving as we'll do these in batch later today. Sorry for the confusion.