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(Task
1 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__30
1.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!