Comments (3)
Related to #198. This issue will be for adding additional telemetry and analysis.
We should consider calculating the number of simultaneous summarizers on a document based on documentId, clientId, and timestamps of Summarizer events, because it might be more objective and still useful. I have added clientId to summarizer events in PR #208.
from fluidframework.
Answering original questions with more information:
- Do we destroy summarizing container on lost connection?
a) When the parent container disconnects, it will now stop the summarizer which will close its container. (PR #208 addresses issue #198)
b) When the summarizer itself disconnects, it will resolve its run promise, which should essentially kill the container since reconnect is false, and its creator (SummaryManager from parent container) will no longer reference it. - Do we always recreate summarizer on same client on reconnect if there were (and there are) no other clients connected?
a) Any time the quorum addMember event fires, all clients recompute the summarizer. This should generally relaunch the summarizer if it has stopped.
b) If only the summarizer itself disconnects, then I believe the parent will not restart the summarizer, because it will believe that it already has a summarizer running. This needs to be resolved.
My idea for resolving 2.b is to clean up the SummaryManager logic for detecting if it is already summarizing, and add code to try to recompute the summarizer if the summarizer run promise is fulfilled (indicating summarizer container disconnected).
The reason 2.b is a special case, is because if the parent container also disconnects/reconnects, it will "force" compute summarizer even if the thing it uses to track whether it is already summarizing or not indicates that it already has a summarizer. This is correct under the current conditions, because it only does this "force" on connect, which means that it was previously disconnected, and it won't start a summarizer when disconnected, and will stop the summarizer on disconnect.
from fluidframework.
Also PR #362 is related.
from fluidframework.
Related Issues (20)
- Typescript error when listening to IContainer events
- Unexpected behavior for SharedString.findTile when searching at beginning/end of string HOT 5
- Support upload of any binary content of the blob during the initial summary upload at routerlicious driver. HOT 6
- Move to semver >= 7.5.2
- ActivityTimeout event handling behavior not consistent in Deli HOT 2
- Deprecate mergeTree's findTile method HOT 1
- 6.1 release blocker: Add removed telemetry items HOT 1
- Remove type parameter from IntervalCollection's add method HOT 1
- Shredded summary upload service fails on compressed binary summary blobs. HOT 3
- Copy of the container with compressed binary summaries is failing. HOT 6
- Memory leak related to unbounded creation of debug loggers HOT 1
- Stop requiring guestDisplayName as pre-condition for requestSocketToken: true as part of joinSession payload HOT 2
- Browser - Database updates on a separate thread HOT 2
- SharedMatrix undefined cell values HOT 7
- Need to bump axios to 1.6.0+ (and test) to address vulnerability HOT 7
- Misbehaving driver can cause Fluid to hang on container open HOT 7
- Allow SharedTree to be passed across iframe boundary HOT 3
- Blazor SDK HOT 1
- Use @fluidframework/azure-client can not create container and get Error: 0x883 at app.js:125 HOT 3
- Intervals not at expected location sometimes after undo-ing HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluidframework.