Whilst executing the Eclipse Papyrus project, the BugzillaManager throws a time out exception for the date 20130204. All previous day's deltas were created with no issues. The time out takes several hours to occur, the console output is below.
Url: https://bugs.eclipse.org/bugs/xmlrpc.cgi
Product: MDT.Papyrus
Components: Core, Diagram, Others, Table, Views
***OUTPUT:
Date: 20130204
GET BUGS: retrieving bugs for: 20130204
ERROR [ProjectDelta (modelingmdtpapyrus,20130204)] (05:55:03): Delta creation failed.
com.j2bugzilla.base.BugzillaException: An unknown error was encountered; fault code: 0
at com.j2bugzilla.base.XmlExceptionHandler.handleFault(XmlExceptionHandler.java:96)
at utils.BugzillaConnector.executeMethod(BugzillaConnector.java:212)
at utils.BugzillaSession.getBugs(BugzillaSession.java:128)
at org.ossmeter.platform.bugtrackingsystem.bugzilla.BugzillaManager.getBugs(BugzillaManager.java:279)
at org.ossmeter.platform.bugtrackingsystem.bugzilla.BugzillaManager.getDelta(BugzillaManager.java:48)
at org.ossmeter.platform.bugtrackingsystem.bugzilla.BugzillaManager.getDelta(BugzillaManager.java:1)
at org.ossmeter.platform.delta.bugtrackingsystem.PlatformBugTrackingSystemManager.getDelta(PlatformBugTrackingSystemManager.java:61)
at org.ossmeter.platform.delta.bugtrackingsystem.BugTrackingSystemProjectDelta.(BugTrackingSystemProjectDelta.java:21)
at org.ossmeter.platform.delta.ProjectDelta.create(ProjectDelta.java:48)
at org.ossmeter.platform.osgi.executors.ProjectExecutor.run(ProjectExecutor.java:87)
at org.ossmeter.platform.osgi.executors.SlaveScheduler$1.run(SlaveScheduler.java:61)
Caused by: org.apache.xmlrpc.XmlRpcException: Failed to read server's response: Operation timed out
at xmlrpc.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:157)
at xmlrpc.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:116)
at xmlrpc.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:72)
at xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:57)
at xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:170)
at xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:140)
at xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:129)
at utils.BugzillaConnector.executeMethod(BugzillaConnector.java:209)
... 9 more
Caused by: java.net.ConnectException: Operation timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:160)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:275)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
at xmlrpc.XmlRpcSunHttpTransport.writeRequest(XmlRpcSunHttpTransport.java:107)
at xmlrpc.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:147)
... 16 more
ERROR [ProjectExecutor (modelingmdtpapyrus)] (05:55:03): Project delta creation failed. Aborting.
Discussion
-
yannis
2014-03-31The problem is caused by a very strange sequence of emails on that particular date:
ID TIMESTAMP
399839 Mon Feb 04 10:32:00 GMT 2013
399852 Mon Feb 04 12:52:00 GMT 2013
399853 Mon Feb 04 12:52:00 GMT 2013
399855 Mon Feb 04 12:53:00 GMT 2013
399856 Mon Feb 04 12:53:00 GMT 2013
399857 Mon Feb 04 12:53:00 GMT 2013
399858 Mon Feb 04 12:53:00 GMT 2013
399859 Mon Feb 04 12:53:00 GMT 2013
399860 Mon Feb 04 12:53:00 GMT 2013
399861 Mon Feb 04 12:54:00 GMT 2013
399862 Mon Feb 04 12:54:00 GMT 2013
399863 Mon Feb 04 12:54:00 GMT 2013
399864 Mon Feb 04 12:54:00 GMT 2013
399865 Mon Feb 04 12:54:00 GMT 2013
399866 Mon Feb 04 12:54:00 GMT 2013
399867 Mon Feb 04 12:54:00 GMT 2013
399868 Mon Feb 04 12:54:00 GMT 2013
399869 Mon Feb 04 12:55:00 GMT 2013
399870 Mon Feb 04 12:55:00 GMT 2013
399871 Mon Feb 04 12:55:00 GMT 2013
399872 Mon Feb 04 12:55:00 GMT 2013
399873 Mon Feb 04 12:55:00 GMT 2013
399874 Mon Feb 04 12:55:00 GMT 2013
399875 Mon Feb 04 12:55:00 GMT 2013
399876 Mon Feb 04 12:56:00 GMT 2013
399877 Mon Feb 04 12:56:00 GMT 2013
399878 Mon Feb 04 12:56:00 GMT 2013
399879 Mon Feb 04 12:56:00 GMT 2013
399880 Mon Feb 04 12:56:00 GMT 2013
399881 Mon Feb 04 12:56:00 GMT 2013
399882 Mon Feb 04 12:56:00 GMT 2013It can be observed that many messages (8 in the longest case) have exactly the same timestamp.
If the bugzilla server query limit is set to some number less than the number of consecutive emails with the same timestamp, then the reader falls in an endless loop, because retrieval is based on the timestamp.
On the other hand, retrieving messages becomes very slow if the limit is set to a very large value.
The only way to avoid the problem is to increase the query limit for that particular call only, in case we fall in an endless loop.
I have added an implementation of this mechanism.
Last edit: yannis 2014-04-02