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!

Task 'FeedCleanup' removes all packages in feed from index if run while tempdb is full



  • Issue

    Task 'FeedCleanup' removes all packages in feed from index if run while tempdb is full

    How to reproduce error

    Make tempdb full and run 'FeedCleanup' on your feed of choice

    Environment

    Webserver

    Proget: 4.1.3, IIS: 8.5, OS: Windows 2012 R2

    Packages stored on \\fileserver\share in domain, and app-pool is run by domainuser/serviceaccount with access to said \\fileserver\share.

    Databaseserver

    SQL: MSSQL STD 12.0.5000.0, OS: Windows 2012 R2

    Detailed log

    The log itself is 11232 lines long due to the amount of packages, so I've abbreviated it here.
    I've only skipped the repeating parts pr package, but let me know if you want the entire log.

    We have two different feeds and both had this exact same issue when the tempdb was full.

    Logfile:

    DEBUG: Beginning cleanup for External (NuGet) feed. INFO: Starting feed consistency check... INFO: Beginning feed package consistency check on 620 packages... ERROR: Package failed validation: System.Data.SqlClient.SqlException (0x80131904): 9002``17``4``NuGetPackages_CreateOrUpdatePackage``35``The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'. at System.Data.SqlClient.SqlCommand.<ExecuteDbDataReaderAsync>b__24(Task1 result)
    at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
    at System.Threading.Tasks.Task.Execute()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Inedo.Data.DatabaseContext.DbResult.<CreateAsync>d__10.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Inedo.Data.DatabaseContext.<ExecuteInternalAsync>d__33.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Inedo.Data.DatabaseContext.men <ExecuteNonQueryAsync>d__31.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Inedo.Data.DatabaseContext.<ExecuteScalarAsync>d__301.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable``1.ConfiguredTaskAwaiter.GetResult()
    at Inedo.ProGet.Feeds.NuGet.NuGetFeed.<InstallOrUpdatePackageAsync>d__40.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Inedo.ProGet.ScheduledTasks.Feed.NuGetPackageIndex.<ValidatePackageAsync>d__3.MoveNext()
    ClientConnectionId: [id removed]Error Number:50000,State:42,Class:17

    [repeats ERROR-section 619 more times (one pr package) ]
    INFO: Checking for orphaned package index entries...

    DEBUG: Found 620 orphaned package entries.

    DEBUG: Removing Id='[PackageNameChanged]',Version='1.1.1.0' from index...

    [repeats "DEBUG: Removing.." 619 times more (one pr package)]

    INFO: Feed package consistency check complete (0 packages processed).

    DEBUG: Feed consistency check completed.

    INFO: Starting feed retention check...

    DEBUG: Checking for feed retention rules...

    DEBUG: Feed has no retention rules.

    DEBUG: Feed retention check completed.

    DEBUG: Cleanup complete.

    Product: ProGet
    Version: 4.1.3



  • Thanks for reporting this- we will have this fixed in ProGet 4.3.0, which is scheduled for release today. The relevant item in the release notes will be:

    PG-608 - FIX: Feed cleanup task should fail immediately if there are any database exceptions during package validation



  • Great! Thank you for the quick response, and also for an excellent lead time. Impressive!



Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation