[Piuparts-devel] Piuparts state-dependency-failed-testing analysis
Scott Schaefer
saschaefer at neurodiverse.org
Wed Nov 2 01:18:47 UTC 2011
On 11/01/2011 10:03 AM, Holger Levsen wrote:
> Hi Scott,
>
> On Dienstag, 1. November 2011, Scott Schaefer wrote:
>
>> OK. I missed significance of your statement "DELETED them manually".
>> Deleting manually will cause it to be recreated (of course), but will
>> not generate a log entry. The log " ... too old. Renaming to force
>> re-creation" will only occur when the file exists, but is "too old" :-).
>>
> Sure. But you got me wrong: I first just restarted piuparts, after changing
> the settings. Then I saw that the tar.gz werenot rrecreated, stopped piuparts,
> then i deleted them manually and restarted piuparts again.
>
>
>> I believe I know where the problem is, and what needs to be modified. I
>> have a 21-hour day on the calendar today, but may have some waiting free
>> time. Will probably be 2-3 days.
>>
> take your time, no hurry!
>
>
> cheers,
> Holger
>
I don't have a fix. I can see nothing wrong, and the tests I have run
all pass OK.
The problem almost certainly is that some other process is modifying the
c_time value of the tgz file. I could attempt to test that here (and
may in a couple of days), but as an alternative ....
Recall that when we first introduced this code, it would consume large
amounts of CPU "continually" trying to create the tgz, but failing. So
we added a rate-limit config parameter: min-tgz-retry-delay. When the
file is "too old" (now - m_time value), the (assumed) time since last
retry (now - c_time) is checked vs. this value. With another process
modifying the c_time value, this never exceeds the config value, and the
.tgz is thus never recreated.
I have pushed a new "bug/recreate_tgz" branch to the git repo. This is
a two-line change to piuparts-slave.py to log the various values used to
determine if a rename/recreate should be attempted. This should
prove/disprove the above theory (though we will have to wait until the
newly-created file is "too old" for proof).
More information about the Piuparts-devel
mailing list