503 Error: ajp_read_header: ajp_ilink_receive failed

Hello everybody and thanks in advance!

We are experiencing issues in our JIRA installations.
The final result is a 503 Internal Server Error visible for the users in the web browser that hapends in regular basis. A reload of the page use to work bringing back the application.
In the apache error log, each of those 503 errors print the following lines:
[error] ajp_read_header: ajp_ilink_receive failed
[error] (120006)APR does not understand this error code: proxy: dialog to [::1]:8010 (localhost) failed
And also:
[error] (32)Broken pipe: ajp_ilink_send(): send failed
[error] (70014)End of file found: ajp_ilink_receive() can't receive header

This is some information about our environment:

  • OS Scientific Linux 6.6
  • jira v6.3.8 and v6.1.7 (problem happening with both versions so far)
  • java version "1.7.0_72"
  • Apache 2.2:
    <IfModule prefork.c>
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 256
    MaxClients 256
    MaxRequestsPerChild 4000
    </IfModule>
    ......
    ......
    ProxyPass /jira ajp://localhost:8010/jira
    ProxyPassReverse /jira ajp://localhost:8010/jira
    ......
    ......
  • Tomcat Apache Tomcat/6.0.24
    ......
    ......
    <Connector URIEncoding="UTF-8"
    port="8010"
    tomcatAuthentication="false"

protocol="AJP/1.3"
connectionTimeout="20000"
redirectPort="8443" />
......
......

 

Is anybody experiencing the same? I've tried to align the number of threads in tomcat and the maxClients of apache with no success.

Thanks a lot for your help,

Borja Aparicio

2 answers

1 accepted

A few things come to mind that you could try:

Tomcat Max thread count should be higher than the expected number of max client in httpd. The tomcat threads may not clean up as quickly as the httpd threads and you may need more than one tomcat thread per httpd thread. Also, set a minimum spare thread count so, there is a thread ready to handle the next request from apache.

Change your "localhost" references to 127.0.0.1, I have had issues with this, mostly on windows boxes, where setting it to the local ip address just work better.

Use mod_jk instead of mod_proxy_ajp or use mod_proxy_http and http listener on the tomcat. I personally recommend mod_jk. It is a bit more complex to setup compared to mod_proxy_ajp but, if you look at the examples and read the manual on the tomcat website it is not difficult at all. Mod_jk also has connection pooling between apache and tomcat which should give you a performance boost.

Update tomcat, JIRA 6.1.7 ships with tomcat 7, I can't see a reason to stay on tomcat 6 with jira.

Hi Jason,

Thanks for your reply and help.

Finally we've implemented mod_jk and looks like the issue is gone.

Best regards,

Borja Aparicio

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published yesterday in Jira

5 ways you can make the most of Jira Software and Bitbucket Cloud

As part of the Bitbucket product team I'm always interested in better understanding what kind of impact the use of our tools have on the way you work. In a recent study we conducted of software devel...

59 views 0 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you