M18
open
yannis
2014-03-31
2014-03-30
jrwilliams
No

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
    yannis
    2014-03-31

    The 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 2013

    It 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