Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.4.1
-
Fix Version/s: 1.4.1
-
Component/s: Distributed Builds
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
Under the circumstances outlined in CONTINUUM-2655, the build result is never returned to the server. In this case, the server never times out waiting for the response, and further pings do not encourage the agent to present the failure.
The build will run forever if it was forced and not respecting the timeout value. It can no longer be cancelled as it doesn't appear in the queue.
Two things are needed:
- A failure to respond should generate a new error response (with a simpler message less likely to fail)
- The server should check for a lack of response and end the build if the job has finished
Issue Links
- relates to
-
CONTINUUM-2616
Project state is still building after cancelling a build with distributed builds enabled
-
Actually, it seems in this case the error of CONTINUUM-2655 was received on the server and couldn't be parsed, which was returned to the agent, but not cleaned up on the server:
2011-08-23 18:13:02,927 [qtp169456094-176294] ERROR org.apache.xmlrpc.server.XmlRpcErrorLogger - Failed to parse XML-RPC request: A n invalid XML character (Unicode: 0xc) was found in the element content of the document. org.apache.xmlrpc.XmlRpcException: Failed to parse XML-RPC request: An invalid XML character (Unicode: 0xc) was found in the element content of the document. at org.apache.xmlrpc.server.XmlRpcStreamServer.getRequest(XmlRpcStreamServer.java:71) at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:199) at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:112) at org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:196) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)Not sure if you can do an error handler for the XML-RPC request, or if the client needs to send a new one - but either way the description still applies.