-
Notifications
You must be signed in to change notification settings - Fork 556
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
An error is encountered in SharedTree when modifying a Map under the following scenario:
- Client 1, acting as the elected summarizer, makes a change to a Map and generates a summary.
- Meanwhile, Client 2, which is connected to the same session, goes offline and makes the same change locally.
- After Client 1 submits the summary, Client 2 comes back online and resynchronizes with the session.
This sequence of events results in a 0x379
error, which leads to document corruption.
To Reproduce
Steps to reproduce the behavior:
Create a schema like below:
export class BugSchema extends sf.object('BugSchema', {
mapSchema: sf.map(MapSchema),
}) {}
export class MapSchema extends sf.object('MapSchema', {
x: sf.required(sf.number),
y: sf.required(sf.number),
z: sf.required(sf.number),
}) { }
Repro Steps:
- Connect two clients to the same Fluid session.
- From either client, add two BugSchema entries with IDs 1 and 2.
- Before adding the third BugSchema entry, take the second client (the one not elected as summarizer) offline.
- Add the third BugSchema entry with the same ID from both clients (while the second client is offline).
- Allow the first client (the summarizer) to generate and upload a summary.
- Bring the second client back online.
Expected Result:
Client resynchronizes without issues.
Actual Result:
Upon reconnection, both clients encounters error 0x379, which leads to document corruption.
Logs
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working