Details
-
Bug
-
Resolution: Fixed
-
High
-
5.10.0
-
11
-
Severity 1 - Critical
-
Description
DB transaction for cluster safety check job is created and committed by Spring's TransactionInterceptor.
Transaction creation and commit happens outside the cluster safety check job, so after the job has finished its work and released cluster lock, the result of the job's invocation is not committed for a short period of time.
This means it's possible that the cluster safety check job on another node is fast enough to acquire the lock and read "stale" data from the database, before the previous job has committed data into the database.