You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a non-ideal fix to an issue where a task exit event could be received
before all stdio has been flushed across vsock connections. Vsocks were closed
when task exit occurs, so this resulted in stdio data being dropped.
The fix here replaces the closing of the vsock connection with setting of a
deadline on the socket. This results gives a 5 second window for any last stdio
data to be flushed before closing the io pipeline down.
The better fix to this issue is:
1. Don't rely on task exit events at all; instead use Wait() from the task API
to monitor task exits.
2. Update Agent and Runtime to flush io before returning Wait() responses.
The better fix described above will be tackled as part of upcoming Exec
support, which will benefit from that change anyways. The fix here should patch
the issue in the meantime.
The fix was "tested" by just running e2e tests many times and verifying the
error didn't occur again. However, the original issue was only encountered once
so it's not possible to be sure it's gone as it may just be extremely rare.
Signed-off-by: Erik Sipsma <[email protected]>
0 commit comments