Often when I try to log work against a JIRA issue after a long period of not having interacted with the connector, an attempted connection to JIRA will time out and the connector will block UI for the whole IDE until the exception is thrown (which seems to take 30-60 seconds).
I'm using IntelliJ IDEA 13EAP (latest release) and IDE connector version 3.0.12. I have experienced the same issue with IDEA 12 and earlier versions of the connector. I'm connecting to an OnDemand JIRA server.
My typical workflow is as follows:
- Start work on a JIRA issue from the Issues tool window. (This creates a task and change list.)
- Work on issue until ready to commit.
- On completion, log work by clicking the Log Work button in the IDEA toolbar.
When the issue manifests, I am never presented with the "Add Worklog" dialog after cicking the Log Work button. UI will hang until the following exception is thrown:
https://xxxxx.atlassian.net
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Operation timed out
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.wrapWithJiraException(JiraRestSessionImpl.java:781)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.getIssue(JiraRestSessionImpl.java:583)
at com.atlassian.connector.commons.jira.JiraRESTFacade2Impl.getIssue(JiraRESTFacade2Impl.java:246)
at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.atlassian.connector.commons.jira.JIRAServerFacade2Impl$1.invoke(JIRAServerFacade2Impl.java:91)
at com.sun.proxy.$Proxy37.getIssue(Unknown Source)
at com.atlassian.connector.commons.jira.JIRAServerFacade2Impl.getIssue(JIRAServerFacade2Impl.java:228)
at com.atlassian.theplugin.commons.jira.IntelliJJiraServerFacade.getIssue(IntelliJJiraServerFacade.java:318)
at com.atlassian.theplugin.idea.action.issues.activetoolbar.ActiveIssueUtils.getJIRAIssue(ActiveIssueUtils.java:133)
at com.atlassian.theplugin.idea.action.issues.activetoolbar.ActiveIssueUtils.getJIRAIssue(ActiveIssueUtils.java:120)
at com.atlassian.theplugin.idea.action.issues.activetoolbar.ActiveIssueUtils.getJIRAIssue(ActiveIssueUtils.java:111)
at com.atlassian.theplugin.idea.action.issues.activetoolbar.ActiveIssueLogWorkAction$1.run(ActiveIssueLogWorkAction.java:42)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:696)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: com.atlassian.jira.rest.client.RestClientException: com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Operation timed out
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:81)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.getAndParse(AbstractJerseyRestClient.java:86)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.getIssue(JerseyIssueRestClient.java:142)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl$23.call(JiraRestSessionImpl.java:585)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl$23.call(JiraRestSessionImpl.java:583)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.doCall(JiraRestSessionImpl.java:809)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.wrapWithJiraException(JiraRestSessionImpl.java:769)
... 30 more
Caused by: com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Operation timed out
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:213)
at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
at com.sun.jersey.api.client.Client.handle(Client.java:629)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:601)
at com.sun.jersey.api.client.WebResource.get(WebResource.java:187)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient$1.call(AbstractJerseyRestClient.java:90)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:60)
... 36 more
Caused by: java.net.SocketException: Operation timed out
at java.net.SocketInputStream.$$YJP$$socketRead0(Native Method)
at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:422)
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:460)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:820)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at shadow.org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at shadow.org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at shadow.org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at shadow.org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at shadow.org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at shadow.org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at shadow.org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at shadow.org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at shadow.org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at shadow.org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:210)
... 42 more