Error Serving Artifact: java.io.IOException: Broken pipe
Hi,
We have a TC server setup behind an Nginx proxy. When a build agent is downloading dependencies, we randomly have a problem that the downloaded artifact is lesser than the original size on the build agent(than the one on the TC server).
And we see that we have the following problem that shows up on the server:
./teamcity-server.log.1:[2018-06-25 06:26:55,900] WARN - s.RepositoryDownloadController - Error serving artifact for request GET '/httpAuth/repository/download/ProjectName/123456.tcbuildid/lgpl/FileName.tgz', from client **.**.***.***:*****, user-agent "Jakarta Commons-HttpClient/3.1", authenticated as build with id 123456, error: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
./teamcity-server.log.1:[2018-06-25 06:29:37,109] WARN - jetbrains.buildServer.SERVER - Failed to upload artifact for build with id: 123456: org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Unexpected EOF read on the socket (enable debug to see stacktrace)
Now the problem is that this error is not conveyed by the TC server to the build agent. So the build progresses normally. After the build completes successfully, we notice that some artifacts in the final build are not of the correct size.
What should we do to ensure that the build agent knows that the artifacts were not downloaded correctly and the build should fail?
Secondly, how to resolve this permanently? Any pointers?
Thanks in advance.
Please sign in to leave a comment.