The JADE 2022 release meets tomorrow’s business demands.
Created in response to JADE Contact #68211. Details from this Contact are:
One of our customers experienced an issue yesterday with their production RPS replication, which was triggered in the first instance by an SQL timeout. It appears that the RPS tracking halted (correctly) due to this issue, but then in the first (of 10) automatic retries, a 3211 (SDS tracker thread is busy) exception occurred, causing the datapump to stop, and the automatic retry process was abandoned. The documentation of the 3211 exception says "Wait until the tracker process has completely started or stopped and then retry the operation if it is still required", so we would expect the automatic restart of the RPS datapump to keep retrying, at least for the configured 10 retry attempts.
Manual restart of the datapump some time later worked OK. It would be much better if the automatic restart/retry handled this situation in a more robust manner.
Updated to include additional scenario as reported in JADE Contact #70474. In this case, the RPS datapump encountered an SQL Deadlock against a number of SQL queries that were happening at the time, and this caused the datapump to terminate, and a jadserv dump was triggered.
Logging from jommsg was:
2025/09/01 15:45:53.482 018b0-01c4 rps: [info] RPS Target Relational DB - SQL operation failed
2025/09/01 15:45:53.484 018b0-01c4 rps: [info] [Microsoft][SQL Server Native Client 11.0][SQL Server]Transaction (Process ID 61) was deadlocked on lock | generic waitable object resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
2025/09/01 15:45:53.484 018b0-01c4 rps: [info] SQLGetDiagRec reports SQLState: 40001, Native Error: 1205
2025/09/01 15:45:53.491 018b0-01c4 JomLog: Unhandled SystemException: RPS Target Relational DB - SQL operation failed, see JadeRpsDataPump.log for details
2025/09/01 15:45:53.494 018b0-0918 Interpreter: Process [187.3]: clear cache
2025/09/01 15:45:53.497 018b0-01c4 rps: **** DataPump Exception: Invoking diagnostic process dump *****
The datapump did not restart in this case either, but manually restarting it worked fine. An option to automatically retry the datapump in cases like this would be great.