Make stopping egress due to a room disconnect transparent#1270
Conversation
If iit happens that egress gets disconnected from a room and the sdk retry logic doesn't manage to re-establish the connection - egress transparently succeeds and an API consumer has no clue that the recording got cut in the middle of the session. The goal of these chnages is to make egress fail under these circumstances but still upload what has been recorded by that time as there was nothing wrong with the media pipeline itself. To be able to integration test this I needed to ad a hook for artifically triggering the disconnect flow.
|
AV-sync stats summary: view in run #27945085792 |
| // Room composite where the egress participant loses its room | ||
| // connection with a retryable reason. The partial recording must | ||
| // still be finalized and uploaded, and the egress reported FAILED | ||
| // so cloud can retry it. |
There was a problem hiding this comment.
maybe remove reference to cloud?
biglittlebigben
left a comment
There was a problem hiding this comment.
It is likely that most customer's logic will assume that the asset is inexistent if the Status is not Complete. Is any of the our own logic going to break if there is an output with an Error status? How will this get billed?
based on what I checked - I don't see anything that could break. In fact, it will give more sense to future auto retry cases - where recordings resulted from these failed sessions would be preserved automatically without API customers getting FAILED status.
not sure about that - egress info is part of the response regardless of the end status - I wasn't able to find a doc that would imply nothing is uploaded on FAILED. In the absence of auto-retry - it gives a customer a fair chance to re-start the recording and still preserve majority of the recorded material |
If iit happens that egress gets disconnected from a room and the sdk retry logic doesn't manage to re-establish the connection - egress transparently succeeds and an API consumer has no clue that the recording got cut in the middle of the session. The goal of these chnages is to make egress fail under these circumstances but still upload what has been recorded by that time as there was nothing wrong with the media pipeline itself. To be able to integration test this I needed to add a hook for artifically triggering the disconnect flow.