razor icon indicating copy to clipboard operation
razor copied to clipboard

`IProjectSnapshotManager.Changed` handlers are unordered

Open DustinCampbell opened this issue 1 year ago • 5 comments

Many services dependent on ProjectSnapshotManager are imported as IProjectSnapshotChangeTrigger and that is the order in which they'll receive change notifications from the manager. There isn't a good way to represent ordering, so services update in a non-deterministic way. For example, DocumentVersionCache might not update before another service needs an accurate value from it.

DustinCampbell avatar Jan 12 '24 19:01 DustinCampbell

There is a mechanism for "high priority" triggers, which will receive a notification before all non-high-priority. Still not ordered within each set however.

davidwengier avatar Jan 12 '24 20:01 davidwengier

I know that's there, but there's just one service using it. FWIW, I don't know that there are any issues relating to ordering today, but I can't be certain. This is probably just a really hard reliability bug waiting to happen. :smile: I'd like to deal with it as part of #9806.

DustinCampbell avatar Jan 12 '24 20:01 DustinCampbell

@DustinCampbell I'm going to assign to you for now to help the health of our unassigned yet triaged bug list. Let me know if that's incorrect, and feel free to update the milestone as needed

ryzngard avatar May 01 '24 01:05 ryzngard

This isn't a critical issue. Just something I noticed. This should be backlog tech debt.

DustinCampbell avatar May 02 '24 18:05 DustinCampbell

@DustinCampbell given IProjectSnapshotChangeTrigger is no more, can this be closed? There still isn't ordering of notifications of course.

davidwengier avatar Oct 07 '24 23:10 davidwengier

Closing out non-cohosting tech debt.

davidwengier avatar Sep 09 '25 05:09 davidwengier