Critical Software Update (Daylight Saving Time)

Please note: this is legacy documentation. Please check out https://docs.miarec.com/all/ for the most up-to-date documentation and user guides. 

Issue description

On a night, when clocks are turned forward for one hour, the application scheduler incorrectly interprets system time and starts the scheduled tasks/jobs in a loop. This causes excessive CPU usage and may cause an "out-of-disk-space" issue due to the growing of the log file in size.

Affected versions

This bug existed in releases between:

  • 6.0.0.1029 (released on August 20th, 2018) and
  • 7.0.0.447 (released on March 27th, 2020).

To check a version of your MiaRec software, navigate in the web portal to Administration -> Maintenance -> Version:

2021-03-12_version_info

Important! The issue doesn't occur if the operating system is configured with a UTC time zone on the system level.

To verify what time zone is configured on the OS level, on a Linux system, run the following command to verify the system time zone:

date +"%Z %z"

If you see UTC +0000 in the output, then your system is not affected by this bug.

You do not need to do anything if your system is not affected!

Mitigation

If your system is affected, then there are two options to mitigate the issue:

  • Short-term solution
  • Long-term solution

Option1. Short term solution

If you do not have time to apply a long term solution, then we recommend doing the following:

Before a night when clocks are turned forward for one hour, stop MiaRec's task scheduler service.

On Linux, run the following command via SSH:

service celerybeat stop

On Windows, navigate to Control Panel -> Services panel, and stop the service MiaRec Celery Scheduler.

After clocks are turned forward 1 hour, start the previously stopped service by running command service celerybeat start on Linux or by starting MiaRec Celery Scheduler service on Windows.

Explanation: The Celery Scheduler (celerybeat) service is responsible for triggering the scheduled tasks at the specified time (like every night, every hour, every 5 minutes etc). If this service is not running, then tasks are not run by schedule. It is safe to stop this service for a short period of time. Once it is started again, the scheduled tasks/jobs will catch-up and process the pending data. A "short period of time" could be hours or days depending on your system load. As a rule of thumb, if you record less than 500 users on the system, then you can safely stop the scheduler service for a few days, for example, before a weekend and then start on Monday.

Option 2. Long-term solution

For a long-term solution, it is a necessity to update MiaRec software to the latest release. You can download the latest version from the Download Page. Contact your representative if you do not have credentials to access a download page.