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
```