System time gets updated while recording
In Continuous Integration server(where its checks out the RI code, builds it and runs the application) I am running an application in which initially it does an SD recording with start time as current time + 10 sec and duration as 6 minutes. The recording is going to PEDING_NO_CONFLICT_STATE and at the start time of the recording the start spec is getting expired. It schedules Stop spec also. Tuning is success but takes some time. So the recording goes to IN_PROGRESS_INCOMPLETE_STATE. After sometime Stop spec is getting expired and the recording duration comes as 259sec (4.3 minutes) instead of 360sec(6 minutes). So recording moves to IN_COMPLETE_STATE (with reason INSUFFICIENT_RESOURCES). Around 1.5 minutes of data is missing.
After analyzing the logs, I could see that lot of timer tasks are getting expired together along with stop spec. There is a chance to expire all the timer tasks together if timer thread was blocked. But in this case timer thread was not blocked. Here it seems like system time is changed and hence stop timer is getting expired, before actually doing recording for 6 minutes.
I started a dedicated thread in the class TimerMgrJava2.java for printing the system time in every 5 seconds (using System.currentTimeMillis()). It shows that the system time is getting changed.
My query is: Is there any chance of system time getting updated? Or is it any timer related problem which is leading to this issue?
Note: This issue is observed only with continuous integration server. I am not able to reproduce this issue in my local machine.