FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

[Port rc.2.0] fix(id-compressor): Prevent resubmission of ID allocation ops

Open kian-thompson opened this issue 1 year ago • 1 comments

DO NOT MERGE UNTIL CONFIRMED

https://github.com/microsoft/FluidFramework/pull/21043

Reviewer Guidance

There were a ton of commits since the commit we're interested in. I tried to take the minimum subset of changes and hot fix certain merge conflicts around Outbox and BatchManager

kian-thompson avatar May 24 '24 00:05 kian-thompson

Could not find a usable baseline build with search starting at CI 1a00982adc59c52aca208c0deeb738601c2cc9cc

Generated by :no_entry_sign: dangerJS against 9ba9b8ef7a38c651d6a3423eab93f899e96925aa

msfluid-bot avatar May 24 '24 00:05 msfluid-bot

@taylorsw04, do we need to port it to RC2? What is the scenario where it's needed?

I have a feeling that the only use (before 2.0) is for Loop & others to leverage it for short DDS/Datastore IDs, and that requires https://github.com/microsoft/FluidFramework/pull/20531, https://github.com/microsoft/FluidFramework/pull/19859. The former was merged on April 8th, which looks like after RC2 was snapped. Maybe we do not care (as enabling it in new files is good starting point). Just trying to understand what we are trying to achieve...

vladsud avatar May 28 '24 18:05 vladsud

@vladsud this fix prevents a document corruption bug; any clients without this fix that use the compressor (for anything, so ST or datastore IDs) and hit the resubmit path with allocation ops in pending state will make the document permanently fail on load.

taylorsw04 avatar May 31 '24 16:05 taylorsw04