Skip to content

Commit 11a6d8b

Browse files
authored
Merge pull request #10223 from NuGet/dev
[ReleasePrep][2024-10-15] RI dev to main
2 parents 41b964e + 5fd7249 commit 11a6d8b

4 files changed

Lines changed: 185 additions & 159 deletions

File tree

Directory.Packages.props

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
<PackageVersion Include="Autofac.Owin" Version="4.2.0" />
1313
<PackageVersion Include="Autofac.WebApi2" Version="4.1.0" />
1414
<PackageVersion Include="Autofac" Version="4.9.1" />
15-
<PackageVersion Include="Azure.Core" Version="1.40.0" />
15+
<PackageVersion Include="Azure.Core" Version="1.44.1" />
1616
<PackageVersion Include="Azure.Data.Tables" Version="12.8.3" />
17-
<PackageVersion Include="Azure.Identity" Version="1.12.0" />
17+
<PackageVersion Include="Azure.Identity" Version="1.12.1" />
1818
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.16.1" />
1919
<PackageVersion Include="Azure.Search.Documents" Version="11.4.0-beta.6" />
2020
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.4.0" />
21-
<PackageVersion Include="Azure.Storage.Blobs" Version="12.20.0" />
21+
<PackageVersion Include="Azure.Storage.Blobs" Version="12.22.2" />
2222
<PackageVersion Include="Azure.Storage.Queues" Version="12.18.0" />
2323
<PackageVersion Include="CommonMark.NET" Version="0.15.1" />
2424
<PackageVersion Include="CsvHelper" Version="7.1.1" />
@@ -63,21 +63,21 @@
6363
<PackageVersion Include="Microsoft.Data.Services.Client" Version="5.8.4" />
6464
<PackageVersion Include="Microsoft.Data.Services" Version="5.8.4" />
6565
<PackageVersion Include="Microsoft.Extensions.CommandLineUtils" Version="1.1.1" />
66-
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
67-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
68-
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
69-
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.1" />
70-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
66+
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.2.0" />
67+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="2.2.0" />
68+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.2.0" />
69+
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.2.0" />
70+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />
7171
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
7272
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
7373
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="2.2.0" />
7474
<PackageVersion Include="Microsoft.Extensions.Http" Version="2.2.0" />
7575
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="2.2.0" />
7676
<PackageVersion Include="Microsoft.Extensions.Logging" Version="2.2.0" />
7777
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
78-
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
78+
<PackageVersion Include="Microsoft.Extensions.Options" Version="2.2.0" />
7979
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="2.2.0" />
80-
<PackageVersion Include="Microsoft.Identity.Client" Version="4.61.3" />
80+
<PackageVersion Include="Microsoft.Identity.Client" Version="4.65.0" />
8181
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.3.1" />
8282
<PackageVersion Include="Microsoft.Net.Http" Version="2.2.29" />
8383
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
@@ -133,7 +133,7 @@
133133
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
134134
<PackageVersion Include="System.Diagnostics.Debug" Version="4.3.0" />
135135
<PackageVersion Include="System.Drawing.Common" Version="4.7.2" />
136-
<PackageVersion Include="System.Formats.Asn1" Version="6.0.1" />
136+
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />
137137
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="5.7.0" />
138138
<PackageVersion Include="System.Linq.Expressions" Version="4.3.0" />
139139
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
using System;
5+
using System.Data;
6+
using System.Data.SqlClient;
7+
8+
namespace NuGet.Services.Entities
9+
{
10+
public static class ExceptionExtensions
11+
{
12+
public static bool IsSqlUniqueConstraintViolation(this DataException exception)
13+
{
14+
Exception current = exception;
15+
while (current is not null)
16+
{
17+
if (current is SqlException sqlException)
18+
{
19+
switch (sqlException.Number)
20+
{
21+
case 547: // Constraint check violation: https://learn.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-events-and-errors-0-to-999
22+
case 2601: // Duplicated key row error: https://learn.microsoft.com/en-us/sql/relational-databases/replication/mssql-eng002601
23+
case 2627: // Unique constraint error: https://learn.microsoft.com/en-us/sql/relational-databases/replication/mssql-eng002627
24+
return true;
25+
}
26+
}
27+
28+
current = current.InnerException;
29+
}
30+
31+
return false;
32+
}
33+
}
34+
}

src/NuGetGallery/Services/PackageUploadService.cs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) .NET Foundation. All rights reserved.
1+
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

44
using System;
@@ -283,21 +283,9 @@ private bool IsConflict(Exception ex)
283283
{
284284
return true;
285285
}
286-
else if (ex is DbUpdateException dbUpdateEx)
286+
else if (ex is DbUpdateException dbUpdateEx && dbUpdateEx.IsSqlUniqueConstraintViolation())
287287
{
288-
if (dbUpdateEx.InnerException?.InnerException != null)
289-
{
290-
if (dbUpdateEx.InnerException.InnerException is SqlException sqlException)
291-
{
292-
switch (sqlException.Number)
293-
{
294-
case 547: // Constraint check violation
295-
case 2601: // Duplicated key row error
296-
case 2627: // Unique constraint error
297-
return true;
298-
}
299-
}
300-
}
288+
return true;
301289
}
302290

303291
return false;

0 commit comments

Comments
 (0)