Commit a1a27a5
committed
improvement(client-presence): improve join response scalability and reliability
- In broadcast join responses:
- include list of Client Connection Ids that the broadcast response covers. This will prevent hole where existing client sees a broadcast result too soon after a Join message and assumes it contains all sufficient and timely data.
- potential join respondents will only reply if they have received a join response (or appear to have same or more requests that other audience members indicating complete knowledge)
- Increase trust of Audience (dictated by service) and select some of its member for named (primary) join responders when no Quorum members are known.
- Delay Join response messages for scalability
- *Important* Do not broadcast a join response immediately even when selected as a named responder. Wait 200ms for others that may join.
- Add telemetry events for join handling:
- `JoinDeferred` - client has chosen not to request join immediately
- `JoinRequested` - client has broadcast Join signal
- `JoinResponse` - client is responding to join request
Each event includes attendee and connection ids. `JoinResponse` additionally contains lists for whom they are responding to.
Update tests for higher client counts and delayed join responses and enable previously failing test. Limit higher client count (longer duration) tests to dedicated CI pipelines.1 parent 53cb5f2 commit a1a27a5
File tree
13 files changed
+661
-403
lines changed- .changeset
- examples/apps/presence-tracker/tests
- packages
- framework/presence/src
- test
- schemaValidation
- service-clients/end-to-end-tests/azure-client
- src/test/multiprocess
- tools/pipelines
13 files changed
+661
-403
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| |||
0 commit comments