Package index updated for secondary package without permissions, but gives an error
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 [[email protected]](mailto:[email protected]).
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 [[email protected]](mailto:[email protected]).
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.
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.
Also it wasn't only releaser's permissions that disappeared. All of the co-maint permissions got removed on Config::Any::YAML.
I added the other lost co-maints back.