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 Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

3,137 views 13 19
Join discussion

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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot