Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

NuGet packages not being indexed when published during feedCleanup



  • Very occasionally (it seems to coincide with while the feedCleanup script is running), NuGet packages can be successfully published to Proget, and end up on the file system, but do not show up in the UI and cannot be downloaded by a client.

    I have tried restarting the ProGet service, this does not trigger the package to be reindexed, and I have also checked that the package file name is in the correct syntax.

    Firing off a feedCleanup task does seem to get the package to be indexed, but this task takes far too long to be run any more than daily.

    Excerpt from feedCleanup log run during package push

    Checking for orphaned package index entries...
    Found 111 orphaned package entries.
    ...
    Removing Id='soap',Version='1.2.3-S108' from index...
    

    Excerpt from feedCleanup run manually during the day to attempt to resolve the issue (package did show up after this)

    Beginning cleanup for octopus (NuGet) feed.
    Starting feed consistency check...
    Beginning feed package consistency check on 13190 packages...
    ...
    Package validated as soap 1.2.3-S108.
    

    The feed cleanup task ran for 2h 30mins, and during that time, only a single package had this issue, many more were published successfully

    Product: ProGet
    Version: 4.0.10



  • This might happen if a feed cleanup happens during a package push; it's a small chance, but mitigating it is unfortunately very complex.

    The main work-around is to schedule the feed cleanup less frequently, use retention policies, etc.



  • We have seen this happen 3 times in as many days, which is an unacceptable rate of false positive package publishes.

    Even if the behaviour cannot be eradicated, is there a way that we can make sure that if packages fail to be fully published, then that information is returned back to the client so that we don't get such false positives?

    As it is, this now gives us a 2h 30 minute window where we would have to stop all packages from being pushed, as we can't trust any pushes during that window.



  • We deploy 100s of GB of packages with no time during the day where the feed is not active. The weekends though are certainly quieter with regards to publishing.

    What does the feedCleanup task do?
    What would be the impact of rescheduling it to only run once a week? (Given that our retention jobs are performed by jenkins, external to ProGet).

    Can there be a setting such that the feed is disabled (either completely or just not accepting publishes) during the feedCleanup process?



  • The feedCleanup makes sure the files on disk and metadata files in sync. It'd be fine to run weekly or disable.

    There are no additional settings available, but we may add something to mitigate this in the future; it's extremely rare, and it's quite complex to handle properly.


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation