Overview
The PowerConnect Cloud agent can be configured to retry on both the collection of data (Inputs) and the sending of data (Outputs)
Simple Input Retries
During the collection of data from the various SAP APIs its possible that the API endpoint may experience an issue or that there may be a network problem that stops the PowerConnect Cloud Agent from communicating with the API temporarily. By default upon recieving a retryable status code or error from an API e.g. 500 or SocketException the HTTP call will be retried automatically. The HTTP call will be retried 3 times, waiting 3 seconds between each call before giving up.
These defaults can be overridden by:
Logging into the PowerConnect Cloud UI
Clicking on the Configuration Tab
Scroll down to the HTTP Configuration for Inputs section
Here we can set the default Connection Timeout, number of retries and the retry interval that applies to all Inputs
This configuration will cater for occasional network glitches etc. however where more advanced retry logic is required this can be configured on a per Input basis as detailed below.
Advanced Input Retries
To configure advanced retries for an Input:
Login to the PowerConnect Cloud UI
Click on the Inputs Tab
Click the Edit button on the Input you wish to configure advanced retries for
Click on the Advanced Tab
Check the Retry if error occurs checkbox
Set the number of times to retry
Set the Initial backoff interval in seconds
When the advanced retries are enabled the following rules apply
The global retry settings apply to the individual HTTP calls as part of the Input making calls to the SAP APIs to retrieve data
If these fail (e.g. retry 3 times at 3 second intervals) the advanced retry configuration then applies when enabled
Any data successfully collected before the failure will be discarded so as not to produce partial results
The Input job will be parked for the “Initial backoff interval in seconds” value e.g 60 seconds
After this period has elaspsed the Input job will be retried
If it fails again the backoff is exponential so the Input job will be parked for twice the backoff interval value (e.g. 120 seconds) and so on until the retries are exhausted or the Input job succeeds
Retry jobs are cluster aware so if a node is lost whilst the retry job is parked waiting to be retried it will processed by another node
If Checkpointing is enabled for the input then no further jobs will be run for that Input whilst the retry is running
If Checkpointing is enabled with the Split Job option then only the task that failed will be retried not the entire job. When the Input next runs it will use the last checkpoint value that succeeded so no data will be lost
The advanced retry option is useful where data integrity is important e.g. CPI Messages
Output Retries
To configure advanced retries for an Output:
Login to the PowerConnect Cloud UI
Click on the Ouputs Tab
Click Edit on the Output you wish to configure retries for
Check the Retry send if error occurs checkbox
Enter the Number of times to retry
Enter the Backoff interval in seconds
Click Save