On some cloud platforms we see issues with replication time skew. It's not clear if the time functions are failing or just returning the wrong value. We do not check the result code from any of the time functions.
Fix Description:
Add a wrapper function for clock_gettime() that will check for errors, log a message, and retry a few times. We retry because getting the time is so critical to things like replication and logging.
Also added a check for large jump in CSN generation times, and we log a message if detected.
Bug Description:
On some cloud platforms we see issues with replication time skew. It's not clear if the time functions are failing or just returning the wrong value. We do not check the result code from any of the time functions.
Fix Description:
Add a wrapper function for clock_gettime() that will check for errors, log a message, and retry a few times. We retry because getting the time is so critical to things like replication and logging.
Also added a check for large jump in CSN generation times, and we log a message if detected.
relates: https://pagure.io/389-ds-base/issue/51095