umbraco / Umbraco.Commerce.Deploy

MIT License
0 stars 2 forks source link

V13.1.2 Unexpected entity type "umbraco-commerce-country" #11

Open BenWhite27 opened 2 hours ago

BenWhite27 commented 2 hours ago

I'm receiving the following exception and errors when cloning my cloud project down to my PC on first run/install. I believe this started after adding some country/region specific tax rates to the store.

The source environment has thrown a Umbraco.Deploy.Core.Exceptions.ProcessArtifactException with message: 
Process pass #4 failed for artifact umb://umbraco-commerce-tax-class/70e09823b778432581c9018ee1abbe25. 
It might have been caused by an inner System.Exception with message: Unexpected entity type "umbraco-commerce-country".

The following artifacts might be involved:

umb://umbraco-commerce-tax-class/70e09823b778432581c9018ee1abbe25

More details from deploy.log

EXCEPTION:

Umbraco.Deploy.Core.Exceptions.ProcessArtifactException: Process pass #4 failed for artifact umb://umbraco-commerce-tax-class/70e09823b778432581c9018ee1abbe25.
   at Umbraco.Deploy.Infrastructure.Environments.CurrentEnvironment.ProcessArtifacts(IEnumerable`1 arts, String ownerEmail, IDeployContext context, CancellationToken token)
   at Umbraco.Deploy.Infrastructure.Environments.CurrentEnvironment.ProcessPackageAsync(Guid sessionId, Package package, CancellationToken token)
   at Umbraco.Deploy.Infrastructure.Work.WorkItems.DiskReadWorkItem.Proceed(List`1 artifacts, Manifest manifest)
   at Umbraco.Deploy.Infrastructure.Work.WorkItems.DiskReadWorkItem.ExecuteAsyncSub(IWorkContext context, List`1 resume, CancellationToken token)
   at Umbraco.Deploy.Infrastructure.Work.WorkItems.DiskReadWorkItem.ExecuteAsync(IWorkContext context, CancellationToken token)

INNER:
    System.Exception: Unexpected entity type "umbraco-commerce-country".
       at Umbraco.Commerce.Infrastructure.Resiliency.PollyExecutionStrategyBase.Execute[TResult](Func`1 operation, Func`1 verifySucceeded)
       at Umbraco.Commerce.Core.UmbracoCommerceUnitOfWorkProvider.Execute(IUnitOfWorkOptions options, Action`1 action)
       at Umbraco.Commerce.Core.UmbracoCommerceUnitOfWorkProvider.Execute(Action`1 action)
       at Umbraco.Commerce.Deploy.Connectors.ServiceConnectors.UmbracoCommerceTaxClassServiceConnector.Pass4(ArtifactDeployState`2 state, IDeployContext context)
       at Umbraco.Commerce.Deploy.Connectors.ServiceConnectors.UmbracoCommerceTaxClassServiceConnector.Process(ArtifactDeployState`2 state, IDeployContext context, Int32 pass)
       at Umbraco.Deploy.Infrastructure.Connectors.ServiceConnectors.ServiceConnectorBase`3.Process(ArtifactDeployState dart, IDeployContext context, Int32 pass)
       at Umbraco.Deploy.Infrastructure.Environments.CurrentEnvironment.ProcessArtifacts(IEnumerable`1 arts, String ownerEmail, IDeployContext context, CancellationToken token)

Hope that helps.

BenWhite27 commented 2 hours ago

Looking at the UDA file itself, it appears that a RegionUDI has a Country UDI assigned? (Line 8 below)

{
  "Name": "Standard",
  "Alias": "standard",
  "DefaultTaxRate": 0.2,
  "CountryRegionTaxRates": [
    {
      "CountryUdi": "umb://umbraco-commerce-country/6bdf15708db541a6894e018ee1abbe03",
      "RegionUdi": "umb://umbraco-commerce-country/6bdf15708db541a6894e018ee1abbe03"
    },
    {
      "CountryUdi": "umb://umbraco-commerce-country/6bdf15708db541a6894e018ee1abbe03",
      "TaxRate": 0.2
    }
  ],
  "StoreUdi": "umb://umbraco-commerce-store/79525eb99875475f9bbf018ee1abbd5b",
  "Udi": "umb://umbraco-commerce-tax-class/70e09823b778432581c9018ee1abbe25",
  "Dependencies": [
    {
      "Udi": "umb://umbraco-commerce-store/79525eb99875475f9bbf018ee1abbd5b",
      "Mode": "Exist"
    },
    {
      "Udi": "umb://umbraco-commerce-country/6bdf15708db541a6894e018ee1abbe03",
      "Mode": "Exist"
    }
  ],
  "__type": "Umbraco.Commerce.Deploy,Umbraco.Commerce.Deploy.Artifacts.TaxClassArtifact",
  "__version": "13.1.1"
}

Looking at the code, this line stands out. https://github.com/umbraco/Umbraco.Commerce.Deploy/blob/3425c8c046b501d45b05cf3d318c697ce36155ba/src/Umbraco.Commerce.Deploy/Connectors/ServiceConnectors/UmbracoCommerceTaxClassServiceConnector.cs#L84