Hello community!
We run group sessions on LiveKit Cloud, browser clients, rooms of 10 to 15+ people, and since around August 17 we have had a growing number of reports of calls dropping and taking a long time to come back. The ones we could trace all map to the client receiving a LeaveRequest with reason = 8 (MIGRATION), action = RESUME.
As far as we understand, MIGRATION is what the server sends when it moves a room off a node it considers unhealthy. What we cannot explain is what happens next, because the same migration resolves in two very different ways.
Usually the resume is quick:
+0s LeaveRequest reason=MIGRATION action=RESUME
+2s connectionState: signalReconnecting → connected
274 of the 370 migrations we could follow through to a reconnect look like that (p50 2s, p95 3s). Most of the rest look like this:
+0s LeaveRequest reason=MIGRATION action=RESUME
+16s LeaveRequest reason=CONNECTION_TIMEOUT action=RESUME
+20s connectionState: reconnecting → connected
Both kinds happen in the same room, from the same migration, at the same moment. In 31 room-level migrations we have one participant back in 3s or less and another taking 15s or more. Everyone gets the signal within a couple of seconds of each other (median spread 2s), and the slow ones are not the first or last to get it (first 12 times, middle 27, last 6). It does follow the participant, though. Of the 67 people who were migrated more than once, 42 were fast every time, 5 were slow every time (one of them 5 out of 5 at 20 to 23s, in a room where the others resumed in 2s) and 16 had both.
Many of our sessions occurs in the US Central servers but this also happen on other locations.
Do you also have experienced Migrations issues? Do your migrations introduce timeouts as well?
Versions: livekit-client@2.21.0, livekit-server-sdk@2.13.0 (only used to mint tokens).