Details
-
Feature
-
Status: Released (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Current Situation
- Connection initiated by Master: for the time that a job is executed no data is sent over the network between Master and Agent (default port: 4444).
- Connection initiated by Agent: data from API methods and log output created by the Agent are sent via a separate connection (ephemeric ports: 59999 downwards) that can be configured to use keep-alive packets, see
JS-1454. - Connection aborts might occur between Master and Agent due to idle timeouts configured by
- firewalls
- proxies
Desired Behavior
- JobScheduler Master can be configured to send an empty command to the JobScheduler Agent to prevent connections from timing out by adding the following parameter to the <params> section of scheduler.xml:
<params> <param name="scheduler.agent.keep_alive" value="300"/> </params>
The value sets the interval in seconds between two keep-alive commands.
If the parameter is not set or if the value attribute is empty, no keep-alive commands will be sent. - The Master log shows the message SCHEDULER-727 Keep-alive package sent to Agent at info level that a keep-alive command has been successfully sent.
- A duration lower than 30s is silently replaced by 30s.
Master / Agent Feature Compatibility
- Master sends keep-alive commands to Classic Agents (including and before Agent release 1.9) via TCP connections.
- Master and Universal Agent use only one connection (HTTP, HTTPS). As the Agent (starting with release 1.10) sends keep-alive packets, see
JS-1456, no keep-alive packets have to be sent by the Master.