Mike Masey
06/10/2024, 2:11 PMSystem.Data.DBConcurrencyException: A Concurrency update occurred in table 'umbracoCommerceOrder' for primary key value(s) = 'a28b060c-6bed-4ab9-a433-019002723487' and version = '11'
at Umbraco.Commerce.Infrastructure.Resiliency.PollyExecutionStrategyBase.ExecuteAsync[TResult](Func`2 operation, Func`2 verifySucceeded, CancellationToken cancellationToken)
at Umbraco.Commerce.Core.UmbracoCommerceUnitOfWorkProvider.ExecuteAsync[T](IUnitOfWorkOptions options, Func`3 action, CancellationToken cancellationToken)
at Umbraco.Commerce.Cms.Web.Controllers.UmbracoCommercePaymentController.CallbackWithRetry(IPaymentProvider paymentProvider, PaymentProviderContext ctx, Int32 retryCount, Int32 maxRetries)
Any assistance would be greatly appreciated. This is on Umbraco 13.3.2 and Umbraco Commerce 13.1.4.Mike Masey
06/10/2024, 6:02 PMMatt Brailsford (HQ)
06/11/2024, 6:58 AMMike Masey
06/11/2024, 8:42 AMMike Masey
06/11/2024, 12:20 PMMichael Nielsen
06/11/2024, 12:28 PMMike Masey
06/11/2024, 12:29 PMOrderTransactionUpdatedNotification
that checks to see if an order have been finalised, then does some stuff. I wonder if during that processing Stripe is still trying to hit and endpoing, but as I'm changing the order, it's triggering the concurrency issye, although I would have thought by that point, the Stripe stuff would be finishedMike Masey
06/11/2024, 12:30 PMMike Masey
06/11/2024, 12:30 PMMike Masey
06/11/2024, 12:31 PMMike Masey
06/17/2024, 12:47 PMContinue URL
and other URL values, if you don't include a trailing slash, it ends up redirecting to the root Url. I've sumbitted an issue here for it - https://github.com/umbraco/Umbraco.Commerce.PaymentProviders.Stripe/issues/6
As for the concurrency issue, I think it's due to me making updates to the order during the OrderTransactionUpdatedNotification
or OrderStatusHandler
.
I was under the impression that these would be hit after the redirect back to the site completes, or at least during it, so i'm not sure what exactly is triggering the error. I've been able to get a larger stack trace which makes it look like it's trying to render the Cancel URL
page at the same time as the Continue URL
, which I think then throws the concurrency error because i've updated the record by then.
@Matt Brailsford (HQ) I don't suppose if you know whether this is something the Stripe Payment Provider intentionally does do you as I can't see anything that would be doing that in the Umbraco Checkout package.
Here's the full stack trace for reference.
https://cdn.discordapp.com/attachments/1249727586335199323/1252243099179024404/message.txt?ex=667181c4&is=66703044&hm=702b67cbdc2cda8c6873483dc0457737825677739351aacf2f756a286077cb38&