Comments (7)
Is this the same problem as #348 (which I was fairly sure had been fixed – we haven't seen that problem since the "fix" (PR#365) was deployed).
from pause.
AKHUETTEL
's comaint on Lab::Instrument::LabViewHeater
wasn't lost on reindexing.
@andk is anything done differently on a reindex as opposed to the original indexing attempt when he uploaded?
from pause.
from pause.
But those were about losing first-come, not about losing comaint, right?
Some of the comments in #348 refer to co-maints being lost, but I suspect there were really two bugs at that point, and #364 only fixed one of them.
AKHUETTEL
has done all of the releases (I think the dist was previously called something else), and the affected package has been in the last dozen or more releases at least.
SCHROEER
had (and still has) an entry in both perms
and primeur
, which suggests it's not related to the problem that was fixed in #364.
from pause.
PLICEASE
had co-maint the two packages in Devel-ebug-HTTP
:
Devel::ebug::HTTP,AWWAIID,c
Devel::ebug::HTTP,LBROCARD,f
Devel::ebug::HTTP,PLICEASE,c
Devel::ebug::HTTP::View::TT,AWWAIID,c
Devel::ebug::HTTP::View::TT,LBROCARD,f
Devel::ebug::HTTP::View::TT,PLICEASE,c
Today (2021-06-28) he released P/PL/PLICEASE/Devel-ebug-HTTP-0.33.tar.gz
, after which the index has:
Devel::ebug::HTTP 0.33 P/PL/PLICEASE/Devel-ebug-HTTP-0.33.tar.gz
Devel::ebug::HTTP::View::TT 0.33 P/PL/PLICEASE/Devel-ebug-HTTP-0.33.tar.gz
But 06perms now has:
Devel::ebug::HTTP,LBROCARD,f
Devel::ebug::HTTP::View::TT,AWWAIID,c
Devel::ebug::HTTP::View::TT,LBROCARD,f
Devel::ebug::HTTP::View::TT,PLICEASE,c
So the indexer recognised that he had co-maint on both packages, updated both packages in the index to refer to his release, but then dropped both of the co-maints on the lead module.
I'll put the co-maints back on the lead module and force a re-indexing. Guessing that as with the previous case, the permissions won't be dropped.
from pause.
When the indexing was processing PLICEASE
's release, it hit the transaction timeout. Here's the relevant part of the email that he got from PAUSE:
Status: Database error
======================
module : Devel::ebug::HTTP::View::TT
version: undef
in file: Devel-ebug-HTTP-0.33/lib/Devel/ebug/HTTP/View/TT.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].
Status: Permission missing
==========================
module : Devel::ebug::HTTP
version: 0.33
in file: Devel-ebug-HTTP-0.33/lib/Devel/ebug/HTTP.pm
status : Not indexed because permission missing. Current registered
primary maintainer is LBROCARD. Hint: you can always find
the legitimate maintainer(s) on PAUSE under "View
Permissions".
If I remember rightly, the indexer checks they have permissions and if so, it updates the relevant entries. Then it calls canonicalize_module_casing()
, which deletes permissions and adds them back. So if the timeout happened at the right time, it would drop the co-maints. This explains why his release was successfully indexed and then the permissions dropped. I'm confused as to why he got the message about the missing permission though, as for my theory to be right, the check for that succeeded.
The best fix is to restructure things to avoid the timeouts, but a more feasible "interim fix" might be to rewrite canonicalize_module_casing()
so that it builds what it thinks the correct permissions are, and if what's in the database already matches, then do nothing. That would at least prevent most the cases we've seen.
from pause.
Related Issues (20)
- Sometimes transferring first-come on a distribution won't result in you getting co-maint
- Remove old releases of a distribution from the index HOT 5
- Tell uploader if there are older releases for the distribution in the Index
- When an admin reindexes a release for another author, cc the admin on the emails HOT 3
- Add comaintainer to a distribution misses out permission on the distribution-derived package name
- Deleting a lot of old releases of the same distribution is tedious HOT 1
- Setting $VERSION to an unquoted v-string results in an indexing fail for new package names
- Please scan all uploads for viruses
- When a PAUSE admin changes someone's secret email address, the old one is revealed HOT 3
- Local:: namespace is not ignored HOT 7
- 02packages.details.txt not updated (or synced) anymore HOT 1
- If you upload a developer release that you don't have perms on, PAUSE could give an FYI
- Show the new "Bus Factor" metric from MetaCPAN
- OpenPGP key for PAUSE has expired...? HOT 1
- Let's encrypt certs no longer working for uploads HOT 9
- Allow authors to upload their keys used for signing modules
- 02packages.details.txt does not have CLASS package anymore HOT 14
- Module not getting indexed (Paws 0.45) HOT 5
- Secondary packages in a file do not get the right VERSION in 02packages.details.txt HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pause.