Details
-
Bug
-
Resolution: Fixed
-
High
-
3.3
-
3.03
-
Description
JIRA analyses entered text for URLs, and tries to retrieve their contents to check whether the linked-to page accepts trackback pings. If retrieving the page contents takes a long time or hangs, the JIRA mail queue is effectively frozen. There doesn't appear to be a timeout in the code (or httpclient) to abort hung connections.
When JIRA is in such a state, clicking the 'flush queue' link returns immediately with no effect. Taking a thread dump ('kill -3') shows the stuck thread:
"JiraQuartzScheduler_Worker-1" prio=1 tid=0x20000000814b0740 nid=0x4d4a runnable [2000000082842000..2000000082843d00]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at java.io.PushbackInputStream.read(PushbackInputStream.java:161)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:167)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:142)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:408)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:450)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182)
- locked <0x2000000069f889c8> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299) - locked <0x2000000069f889c8> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at com.atlassian.trackback.TrackbackUtils.getUrlContent(TrackbackUtils.java:164)
at com.atlassian.trackback.DefaultTrackbackFinder.findPingUrls(DefaultTrackbackFinder.java:49)
at com.atlassian.trackback.DefaultTrackbackFinder.findPingUrls(DefaultTrackbackFinder.java:23)
at com.atlassian.trackback.DefaultTrackbackHelper.pingTrackbacksInContent(DefaultTrackbackHelper.java:27)
at com.atlassian.jira.trackback.TrackbackMailQueueItem.send(TrackbackMailQueueItem.java:61)
at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55)
at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:59)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
Attachments
Issue Links
- is related to
-
JRASERVER-16851 Mail queue hangs after trackback problems
- Closed