Issue ID:
Type
Bug
Title:
FIX: Replication error on Docker feeds when there are manifests referencing blobs that do not exist in the feed
Created:
3/21/2025 2:59:49 AM by Alana Tripp
Status:
Awaiting Release on 3/21/2025 11:51:33 AM
Last pulled:
3/21/2025 9:58:54 PM
Description:
The following error may occur if there are manifests referencing blobs that do not exist in the feed. ``` Feed replication connection attempt failed for feed QA-Docker-Test: 515`16`2`DockerImages_CreateOrUpdateTag`42`Cannot insert the value NULL into column 'DockerRepository_Id', table 'proget_db.dbo.DockerRepositoryTags'; column does not allow nulls. INSERT fails. Stack trace: Microsoft.Data.SqlClient.SqlException (0x80131904): 515`16`2`DockerImages_CreateOrUpdateTag`42`Cannot insert the value NULL into column 'DockerRepository_Id', table 'proget_db.dbo.DockerRepositoryTags'; column does not allow nulls. INSERT fails. at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at Microsoft.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at Microsoft.Data.SqlClient.SqlDataReader.get_MetaData() at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at Microsoft.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(Boolean isInternal, Boolean forDescribeParameterEncryption) at Microsoft.Data.SqlClient.SqlCommand.EndExecuteReaderInternal(IAsyncResult asyncResult) at Microsoft.Data.SqlClient.SqlCommand.EndExecuteReaderAsync(IAsyncResult asyncResult) at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location --- at Inedo.Data.SqlServerDatabaseContext.SqlServerCommand.ExecuteReaderAsync(CancellationToken cancellationToken) at Inedo.Data.DatabaseContext.DbResult.CreateAsync(IGenericDbCommand command, DatabaseContext context, DateTimeOffset startTime, Stopwatch stopwatch) at Inedo.Data.DatabaseContext.ExecuteInternalAsync(String storedProcName, GenericDbParameter[] parameters, DatabaseCommandReturnType returnType) at Inedo.Data.SqlServerDatabaseContext.ExecuteInternalAsync(String storedProcName, GenericDbParameter[] parameters, DatabaseCommandReturnType returnType) at Inedo.Data.DatabaseContext.ExecuteNonQueryAsync(String storedProcName, GenericDbParameter[] parameters) at Inedo.ProGet.WebApplication.SimpleHandlers.FeedSync.FeedSyncHandler.HandleDockerTagRequestAsync(AhHttpContext context, DockerFeed feed) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E527864\Src\ProGet.WebApplication\SimpleHandlers\FeedSync\FeedSyncHandler.Docker.cs:line 252 at Inedo.ProGet.WebApplication.SimpleHandlers.FeedSync.FeedSyncHandler.HandleDockerRequestAsync(AhHttpContext context, DockerFeed feed, String itemType, ReplicationConfiguration config) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E527864\Src\ProGet.WebApplication\SimpleHandlers\FeedSync\FeedSyncHandler.Docker.cs:line 183 at Inedo.ProGet.WebApplication.SimpleHandlers.FeedSync.FeedSyncHandler.ProcessRequestInternalAsync(AhHttpContext context) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E527864\Src\ProGet.WebApplication\SimpleHandlers\FeedSync\FeedSyncHandler.cs:line 216 at Inedo.ProGet.WebApplication.SimpleHandlers.FeedSync.FeedSyncHandler.ProcessRequestInternalAsync(AhHttpContext context) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E527864\Src\ProGet.WebApplication\SimpleHandlers\FeedSync\FeedSyncHandler.cs:line 221 ClientConnectionId:ebcaf765-8880-4973-a03e-bc216c0c5752 Error Number:50000,State:42,Class:16 ClientConnectionId before routing:646b8f92-2d73-4b77-9eee-6f6bd0645307 Routing Destination:ab1772f76c3f.tr33963.westeurope1-a.worker.database.windows.net,11042 Request details: IP address: 10.251.26.6 User agent: ProGet/24.0.26.5 (Microsoft Windows NT 10.0.17763.0) Headers: X-ProGet-ClientSyncMode: PushOnly ```