andk / pause

Perl authors upload server
http://pause.perl.org/
150 stars 58 forks source link

Package index updated for secondary package without permissions, but gives an error #429

Open haarg opened 1 year ago

haarg commented 1 year ago

I recently released Config-Any-0.33. The indexing email contained the following:

ERROR: Database error occurred during index update

The following packages (grouped by status) have been found in the distro:

Status: Database error
======================

     module : Config::Any
     version: undef
     in file: Config-Any-0.33/lib/Config/Any.pm
     status : The PAUSE indexer could not store the indexing result in
              the DB due the following error: C< Lock wait timeout
              exceeded; try restarting transaction >. Please report the
              case to the PAUSE admins at [modules@perl.org](mailto:modules@perl.org).

     module : Config::Any::Base
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/Base.pm
     status : The PAUSE indexer could not store the indexing result in
              the DB due the following error: C< Lock wait timeout
              exceeded; try restarting transaction >. Please report the
              case to the PAUSE admins at [modules@perl.org](mailto:modules@perl.org).

Status: Permission missing
==========================

     module : Config::Any::YAML
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/YAML.pm
     status : Not indexed because permission missing. Current registered
              primary maintainer is RATAXIS. Hint: you can always find
              the legitimate maintainer(s) on PAUSE under "View
              Permissions".

Status: Successfully indexed
============================

     module : Config::Any::General
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/General.pm
     status : indexed

...

After this release, Config::Any::YAML was updated in the package index to refer to my release, despite the error. While I do have comaint on Config::Any, I am missing it on Config::Any::YAML. I'm not sure how that happened. I checked my older emails, and Config::Any::YAML was indexed without error.

I scheduled this release for a reindex, and got the following report:

Status of this distro: Permission missing
=========================================

The following packages (grouped by status) have been found in the distro:

Status: Permission missing
==========================

     module : Config::Any::YAML
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/YAML.pm
     status : Not indexed because permission missing. Current registered
              primary maintainer is RATAXIS. Hint: you can always find
              the legitimate maintainer(s) on PAUSE under "View
              Permissions".

Status: Successfully indexed
============================

     module : Config::Any
     version: 0.33
     in file: Config-Any-0.33/lib/Config/Any.pm
     status : indexed

     module : Config::Any::Base
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/Base.pm
     status : indexed

     module : Config::Any::General
     version: undef
     in file: Config-Any-0.33/lib/Config/Any/General.pm
     status : indexed

...

So now all of the packages are properly indexed, but there is still an error being reported about the permissions.

neilb commented 1 year ago

I think the problem with Config::Any::YAML might be down to #372.

Looking at a historical copy of 06perms.txt, I see:

Config::Any,HAARG,c
Config::Any::Base,HAARG,c
Config::Any::General,HAARG,c
Config::Any::INI,HAARG,c
Config::Any::JSON,HAARG,c
Config::Any::Perl,HAARG,c
Config::Any::XML,HAARG,c
Config::Any::YAML,HAARG,c

But now HAARG has lost that co-maint on Config::Any::YAML. I've just added the co-maint back.

It looks like he had co-maint at the time of the release, which is why it was indexed, but then the co-maint was nuked. As noted in #372, the root cause might be the DB lock timeouts (#406), which it feels like we're getting more of since PTS.

haarg commented 1 year ago

Also it wasn't only releaser's permissions that disappeared. All of the co-maint permissions got removed on Config::Any::YAML.

neilb commented 1 year ago

I added the other lost co-maints back.