Project

General

Profile

Actions

Bug #4812

closed

Automatic reparation method for cf_lock.{tcdb,db} is only checked once an hour

Added by Jonathan CLARKE over 10 years ago. Updated over 10 years ago.

Status:
Released
Priority:
1 (highest)
Category:
System techniques
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

Looking at the failsafe.cf file, I came across this code:

131   files:
132       # The aim of this promise is to create a class when this file is older
133       # than one hour. The class can not be created without touching but in
134       # order to not modifing the mtime we use warn_only.
135       "${sys.workdir}/last_successful_inputs_update" 
136         file_select => over_an_hour,
137         touch       => "true",
138         action      => warn_only,
139         classes     => success("last_successful_inputs_update_too_old", "last_successful_inputs_update_check_error", "last_successful_inputs_update_ok");

The problem here is that the body action "warn_only" actually contains this:

body action warn_only
{
        action_policy => "warn";
        ifelapsed => "60";
}                                                                                                                                                                                                                                            

So this mistakenly includes a 60 minute lock on running the promise. The 60 minute timeout was already included by the "file_select => over_an_hour" attribute, so this can actually take almost 2 hours to be detected.

Actions

Also available in: Atom PDF