Itgeneor328 op Incremental.SalesOrdersV2Incremental

Bij Incremental.SalesOrdersV2Incremental treed herhaaldelijk foutcode itgeneor328 op:

itgeneor328
Een verplicht filter ontbreekt.
Neem contact op met Invantive Support.
This endpoint has mandatory filtering applied.
A GET request for this endpoint must have a $filter parameter with one opf the following fields in the url:Timestamp.

In andere rapporten zit ook deze tabel; deze zijn eerder vannacht bijgewerkt zonder problemen.

Sinds 6 augustus omstreeks 02:12 UTC treedt op veel Exact Online-omgevingen de volgende foutmelding op:

itgeneor328
Een verplicht filter ontbreekt.
The remote server returned an error:
(400) Bad Request.
Neem contact op met Invantive Support:
This endpoint has mandatory filtering applied.
A GET request for this endpoint must have a $filter parameter with one of the following fields in the url:Timestamp.

De foutmelding hangt niet samen met aanpassingen aan Invantive Cloud (uit stabiliteitsoverwegingen is er sprake van een zomerstop), maar waarschijnlijk een upgrade van Exact Online.

Het probleem lijkt alle Exact Online-omgevingen te raken, zowel on-premises als Invantive Cloud, Get My Report, Valuta Tools, App Online, Bridge Online als websites die zich baseren op Invantive-technologie en producten van partners.

Betrokken URLs, waarbij “123456” de divisiecode van een van uw Exact Online-administraties kan zijn:

  • https://start.exactonline.be/api/v1/123456/sync/CRM/Accounts?$orderby=Timestamp&$select=...
  • https://start.exactonline.be/api/v1/123456/sync/financial/TransactionLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.be/api/v1/123456/sync/Financial/TransactionLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.be/api/v1/123456/sync/purchaseorder/PurchaseOrders?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/crm/Accounts?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/CRM/Accounts?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/CRM/Addresses?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Financial/GLAccounts?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Financial/GLClassifications?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/financial/TransactionLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Financial/TransactionLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/HRM/ScheduleEntries?$select=*
  • https://start.exactonline.nl/api/v1/123456/sync/logistics/Items?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Logistics/Items?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Logistics/SupplierItem?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/project/TimeCostTransactions?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Project/TimeCostTransactions?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/PurchaseOrder/PurchaseOrders?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/salesinvoice/SalesInvoices?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/SalesOrder/GoodsDeliveryLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/salesorder/SalesOrderHeaders?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/SalesOrder/SalesOrderHeaders?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/salesorder/SalesOrderLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/SalesOrder/SalesOrderLines?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Sales/SalesPriceListVolumeDiscounts?$orderby=Timestamp&$select=...
  • https://start.exactonline.nl/api/v1/123456/sync/Sales/SalesPriceListVolumeDiscounts?$select=
  • https://start.exactonline.nl/api/v1/123456/sync/Subscription/SubscriptionLines?$orderby=Timestamp&$select=...

We krijgen hier ook dezelfde foutmelding.

Het betreft de volgende tabellen:

  • ExactOnlineREST.Incremental.TransactionLinesIncremental@eol
  • ExactOnlineREST.Incremental.GLClassificationsIncremental@eol

Wat is een oplossing in deze?

SalesOrdersBulk doet het hier wel.

Echter, in andere tabellen ook weer dezelfde fout itgeneor328: Incremental.AddressesIncremental.

Incremental.AccountsIncremental geeft ook dezelfde foutmelding.

Oplossing of workaround

Er is op dit moment geen oplossing beschikbaar. Een verzoek is ingediend bij Exact Online om het probleem te escaleren en/of de breaking change terug te draaien.

Bij kleine tabellen kan het mogelijk zijn om de *Incremental te vervangen door de bijbehorende bulktabel of veel tragere DDL-tabellen. Dit kan de laadduur echter verhogen met tot een factor 1.000 en het aantal benodigde API-calls met honderdduizenden per dag.

Invantive Development is bezig om te kijken of een patch gemaakt kan worden. Het uitrollen hiervan binnen Invantive Cloud zal als eerste plaatsvinden. Het uitrollen door beheerders van partners en gebruikers kan echter veel langer duren omdat er een soms grote versiesprong nodig is, wat weer tot nieuwe problemen kan leiden.

Impact

Het betreft inmiddels enkele honderden organisaties, en naar verwachting zal dit aantal verder stijgen als de incrementele-cache opnieuw geinitialiseerd moet worden. Dit kan nooit optreden, maar kan ook bij sommige omgevingen al na enkele uren optreden.

Het gebruik van een voorheen niet gebruikte tabel kan ook deze foutmelding geven, dus nieuwe gebruikers zullen meteen vastlopen bij gebruik.

Update

Zodra meer informatie beschikbaar komt zal dit topic aangevuld worden.

Update 14:10 6 augustus

Exact heeft aangegeven de betrokken change te gaan terugdraaien in de nacht van 6 op 7 augustus. Op een later moment zal dit weer geactiveerd worden, maar dan met extra voorzorgsmaatregelen om een grootschalige downsituatie te vermijden.

Specifiek voor Invantive Cloud zal in de loop van 6 augustus naar verwachting een release in productie genomen worden die de foutmelding niet meer opwekt. Voor partners en on-premises gebruikers zal er ook een nieuwe release komen, maar gezien de aantallen installaties en vakantieperiode is het advies om dit t.z.t. in een upgrade mee te nemen, aangezien de oorzaak in de nacht van 6 op 7 augustus zal verdwijnen.

Update 09:45 op 7 augustus

Exact heeft de wijziging schijnbaar niet of niet geheel teruggedraaid. Een upgrade van Invantive Cloud heeft de meeste problemen opgelost. Het probleem treedt nog steeds op bij:

  • on-premises installaties van versies ouder dan 24.0.0756
  • Invantive Cloud bij rechtstreeks benaderen van sync*-tabellen

Voor de laatste is de aanbevolen workaround om de bijbehorende *Incremental-tabel te gebruiken. Er zal ook een nieuwe versie komen waarin de Sync-tabellen aangepast zijn.

Het probleem is zojuist gemarkeerd op 7 augustus, 14:30 op Exact statuspagina

In ons geval hebben we ons script bijgewerkt door where Timestamp \u003e0 toe te voegen

create or replace table eol_rest_accountsbulk@sql
as 
select * 
from   syncAccounts@eol 
where  Timestamp \u003e0 batchsize 50000;
1 like

Bedankt! Screenshot hieronder. Een filter toevoegen is een goede oplossing! Het heeft verder geen impact behalve dat het een oplossing is voor oudere releases.

Het voorstel om filtering te gebruiken is een beetje vreemd gezien het ontwerp van de sync-API’s :slight_smile:

image

Zojuist ook een melding gehad van Exact dat het opgelost is:

1 like

Exact Online heeft de wijziging die het probleem veroorzaakte teruggedraaid.