CollaboraOnline / online

Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
https://collaboraonline.com
Other
1.78k stars 681 forks source link

perf: processFetchUpdate to do an async fetch. #9420

Closed mmeeks closed 2 months ago

mmeeks commented 2 months ago

It seems our recent watchdog profiles have:

image

It is possible that this could stall the creation of new children (perhaps) - but either way there is no need to slow down / block the coolwsd caretaker main-loop.

We should make COOLWSD::processFetchUpdate run its update asynchronously.

We should prolly also make sure that we don't issue two of these if one is already running.

mostly that's sessionFetch->syncRequest to asyncRequest() conversion.

@Minion3665 one for Elliot - hopefully not so hard - mostly testing and review I think.

mmeeks commented 2 months ago

Seems Henry fixed this:

commit 48bf0bffbcda06b4e922a7b0adb5e4aaa5050dba Author: Henry Castro hcastro@collabora.com Date: Fri Jul 5 08:08:01 2024 -0400

wsd: fix async request

It will block main thread if fails.