SUSE Support

Here When You Need Us

SUSE Manager API stops executing and exits with error 500

This document (000019835) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Manager Server 4.1
SUSE Manager Server 4.0
 

Situation

Events scheduled via the API are not being executed and the api reports an error 500:
<ProtocolError for mbsm4.mb.int/rpc/api: 500 Internal Server Error>

When checking the Apache error_log the following errors can be found:

[Sat Dec 26 14:10:34.420458 2020] [proxy_ajp:error] [pid 30137] (70014)End of file found: AH01030: ajp_ilink_receive() can't receive header
[Sat Dec 26 14:10:34.420498 2020] [proxy_ajp:error] [pid 30137] [client 10.87.107.100:44268] AH00992: ajp_read_header: ajp_ilink_receive failed
[Sat Dec 26 14:10:34.420506 2020] [proxy_ajp:error] [pid 30137] (120006)APR does not understand this error code: [client 10.87.107.100:44268] AH00878: read response failed from 127.0.0.1:8009 (localhost)

 

Resolution

To prevent this from happening the following steps should be performed:
  • Create a backup of /etc/tomcat/server.xml
  • In /etc/tomcat/server.xml look for the following string:
  <Service name="Catalina">
  • Change the value for connectionTimeout to "600000"
  • For SUSE Manager 4.1 it should look like :
    <Connector URIEncoding="UTF-8" address="127.0.0.1" connectionTimeout="600000" maxThreads="150" port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/>
    <Connector URIEncoding="UTF-8" address="::1" connectionTimeout="600000" maxThreads="150" port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/>

Note: maxThreads may have a different value, depending on the configuration, this value should not be changed.

  • Restart of the SUSE Manager server with: spacewalk-service restart

Cause

AJP is a TCP-based protocol for fast communication between apache and tomcat and is used at every HTTP request that involves the Java stack. There is an optional watchdog mechanism to kill AJP connections if they are inactive for too long. The JVM might not respond to such keepalive messages if it is too busy or during garbage collection pauses. The keepalive time may be configured via the keepAliveTimeout option found in /etc/tomcat/server.xml. For more information please see: https://tomcat.apache.org/tomcat-8.5-doc/config/http.html

Status

Reported to Engineering

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000019835
  • Creation Date: 18-Jan-2021
  • Modified Date:04-Feb-2021
    • SUSE Manager for Retail
    • SUSE Manager Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.