Skip to content

Commit 6fc607c

Browse files
author
Ralph Jansen
committed
The HasConflictError method was renamed to HasConflictOrPessimisticConcurrencyConflictError to reflect its expanded functionality. This method now checks for both Conflict and PessimisticConcurrencyConflict error codes.
1 parent bf11787 commit 6fc607c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

tools/code/common/Http.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ private static bool ShouldRetryInner(HttpMessage message, Exception? exception)
402402
(message, exception) switch
403403
{
404404
({ Response.Status: 422 or 409 }, _) when HasManagementApiRequestFailedError(message.Response) => true,
405-
({ Response.Status: 409 }, _) when HasConflictError(message.Response) && HasOperationOnTheApiIsInProgressMessage(message.Response) => true,
405+
({ Response.Status: 409 }, _) when HasConflictOrPessimisticConcurrencyConflictError(message.Response) && HasOperationOnTheApiIsInProgressMessage(message.Response) => true,
406406
({ Response.Status: 412 }, _) => true,
407407
({ Response.Status: 429 }, _) => true,
408408
_ => false
@@ -419,9 +419,12 @@ private static bool HasManagementApiRequestFailedError(Response response) =>
419419
.Where(code => code.Equals("ManagementApiRequestFailed", StringComparison.OrdinalIgnoreCase))
420420
.IsSome;
421421

422-
private static bool HasConflictError(Response response) =>
422+
private static bool HasConflictOrPessimisticConcurrencyConflictError(Response response) =>
423423
TryGetErrorCode(response)
424-
.Where(code => code.Equals("Conflict", StringComparison.OrdinalIgnoreCase))
424+
.Where(code =>
425+
code.Equals("Conflict", StringComparison.OrdinalIgnoreCase) ||
426+
code.Equals("PessimisticConcurrencyConflict", StringComparison.OrdinalIgnoreCase)
427+
)
425428
.IsSome;
426429

427430
private static bool HasOperationOnTheApiIsInProgressMessage(Response response) =>

0 commit comments

Comments
 (0)