Git Product home page Git Product logo

Comments (7)

neilb avatar neilb commented on August 15, 2024

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.

neilb avatar neilb commented on August 15, 2024

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.

andk avatar andk commented on August 15, 2024

from pause.

neilb avatar neilb commented on August 15, 2024

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.

neilb avatar neilb commented on August 15, 2024

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.

neilb avatar neilb commented on August 15, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.