Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.21.0
-
None
Description
When using JDBC persistence artemis checks for time differences between the broker and the database. Currently this check requests the time of the database and compares it to the system time before and after sending this query by removing the milliseconds and verifying that the database time is between the start and the end time.
This leads to somehow random warnings in the log depending on the current milliseconds when this check is performed.
For example if the time on your artemis server is 00:00:01.000 before the check and the time on the database is 00:00:00.999 it will log a warning although there is only 1 millisecond difference. On the other hand if your artemis server time is 00:00:01.000 after sending the query and the database time is 00:00:01.999 there will be no warning although the time is 999 milliseconds after the end time.
Therefore it would be better to use a consistent margin for the database time during this check. To avoid problems in setups where the system times are not well synchronized, this time margin should be configurable to allow the user to fine tune it.