On 1 Apr 2014, at 5:10 am, Rainer Brestan <rainer.bres...@gmx.net> wrote:

> Using interval-origin in monitor operation definition does not work any more.
> Veryfied on Pacemaker 1.1.10, but we think it does not work since 1.1.8 until 
> now.
>  
> Pengine calculates start delay in function unpack_operation and calls there 
> crm_time_subtract.
>  
> The call to crm_time_subtract with
> origin=2014-03-31 19:20:00Z
> date_set->now=2014-03-31 17:31:04Z
> result in
> delay=-0001-12-31 01:48:56Z
> delay_s=31456136
> start_delay=31456136000
> which is almost a year in the future.

To be fair, the origin was also in the future.
I don't think that was expected.

Can you supply your cib so I can experiment?

>  
> The function crm_time_subtract calculates this by the crm_time_add_* 
> functions.
>  
> The buggy statement is in crm_time_add_days.
> If the calculated number of days is zero, it subtracts one year and add the 
> number of days, in this case 365.
> But if a_time->days is zero, it must not do anything.
>  
> The function crm_time_get_seconds, which is called by unpack_operation cannot 
> handle negative years, so it ignores the year -1 but adds 365 days.
>  
> There are two solutions.
> One is the add handling on negative years to crm_time_get_seconds.
> The other is to exchange line 1140 in iso8601.c
> while (a_time->days <= 0) {
> by
> while (a_time->days < 0) {
>  
> Second solution is verified to bring the expected result, start-delay of 
> little less than two hours.
> Handling of negative years in crm_time_get_seconds might not be a proper 
> solution as the return value of the function is unsigned long long and what 
> to report if the complete calculation gives a negative number of seconds.
>  
> Rainer
>  
> _______________________________________________
> Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org

Reply via email to