On Wed, 2023-06-07 at 15:41 -0400, Trevor Gamblin wrote:
> See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14952
> 
> Help avoid contention by adding a check to ensure targets are at
> least 60s old when attempting to move them into a trash directory.
> 
> Signed-off-by: Trevor Gamblin <[email protected]>
> ---
>  janitor/clobberdir | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/janitor/clobberdir b/janitor/clobberdir
> index 16b019e..832173c 100755
> --- a/janitor/clobberdir
> +++ b/janitor/clobberdir
> @@ -52,8 +52,12 @@ trashdir = utils.getconfig("TRASH_DIR", ourconfig)
>  for x in [clobberdir]:
>      if os.path.exists(x) and os.path.exists(trashdir):
>          if (os.stat(trashdir).st_dev == os.stat(x).st_dev):
> -            trashdest = trashdir + "/" + str(int(time.time())) + '-'  + 
> str(random.randrange(100, 100000, 2))
> -            mkdir(trashdest)
> -            subprocess.check_call(['mv', x, trashdest])
> +            x_age = time.time() - os.path.getmtime(x)
> +            if x_age > 60:
> +                trashdest = trashdir + "/" + str(int(time.time())) + '-'  + 
> str(random.randrange(100, 100000, 2))
> +                mkdir(trashdest)
> +                subprocess.check_call(['mv', x, trashdest])
> +            else:
> +                print("Not moving '%s' - age is only %s seconds. There may 
> be another process using it" % (x, str(int(x_age))))
>          else:
>              subprocess.check_call(['rm', "-rf", x])

I think we need to do this on the other side of the setup.

If we ask to run clobberdir, it needs to succeed and I don't think the
move causes us issues. What does cause problems is if a bitbake server
was still active on a build directory and shutting down. If we move the
directory from under it, that is ok, what causes problems is if we
actually delete it.

The age check therefore needs to be in trash_processor() in janitor/ab-
janitor.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#60270): https://lists.yoctoproject.org/g/yocto/message/60270
Mute This Topic: https://lists.yoctoproject.org/mt/99392420/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/yocto/leave/6691583/21656/737036229/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to