Unity-Technologies/unity-cache-server

Server can't close connection before all upload buffer flushed.

Closed this issue · 1 comments

If client close the socket connection, socket sever will discount connection and un-pipe ClientStreamProcessor/CommandProcessor even processor still having buffer to flush. That will make cache file dead on temp folder.

We should wait for the ClientStreamProcessor/CommandProcessor to flush it’s buffer before unpiping the streams.

socket.on('close', () => { helpers.log(consts.LOG_INFO,${socket.remoteAddress}:${socket.remotePort} closed connection.); socket.unpipe(); streamProc.unpipe(); cmdProc.unpipe(); }).on('error', err => { helpers.log(consts.LOG_ERR, err.message); });

Resolved in v.6.40 beta 4 release.