In Power BI Robaws connector: OData: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host

Bij het ophalen van gegevens uit Robaws naar Power BI krijg ik de volgende foutmelding:

Invalid date
robaws
Mislukt
Robaws PlanningItems PlanningItemEmployees@rbs
18/11/2020 09:40:17,18/11/2020 09:41:47
Error: DataSource.Error: OData: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. Request ID: ea3c3b0d-9d7f-9c40-55e4-ee17ea2e01a4 Activity ID: 7bd35c25-d666-423e-880b-e0042efef36e

Wat kan dit veroorzaken?

We hebben hiernaar gekeken. Het bleek dat een download nog actief was, maar niet beëindigd werd. Dat is een fout. De oorzaak is nog niet bekend.

Na verder onderzoek bleek dat de gegevens opgehaald worden met Dataflows vanuit de Microsoft web omgeving. Het eigenaardige is dat de gegevens volledig teruggegeven worden en zelfs een HTTP statuscode 200 terugkomt, maar circa 1 minuut later Dataflows de genoemde error meldt. Dit probleem treedt alleen bij grotere datasets die opgehaald worden naar Power BI met Dataflows.

Het lijkt een bug op Dataflows.

Een workaround totdat Dataflows stabieler is om Power BI Desktop te gebruiken i.p.v. Dataflows, maar dan verlies je het delen van data tussen rapporten.

Een andere workaround is om de download op te knippen in kleinere datahoeveelheden en die dan zelf weer samen te voegen in het rapport.

Om te komen tot meer self-service is volgende stap dat we de monitoring op Bridge Online ook voor end users beschikbaar willen gaan maken. Die ziet er ongeveer zo uit:

De getoonde omvang is in gecomprimeerde bytes (gzip of Brotli, afhankelijk van wat client vraagt). De daadwerkelijke omvang van de data krijg je door met 10 te vermenigvuldigen.

De beschikbaarheid hiervan voorkomt downloadissues niet, maar maakt het wel makkelijker om zelf te zien welke verzoekjes verstuurd zijn en de status hiervan, zodat we vlotter samen issues in de connectivity over de gehele keten kunnen analyseren.

Update: de monitoring is beschikbaar vanaf 30 november 2020.

Update: het blijkt dat indien je gebruik maakt van de Power BI dataflows er regelmatig crashes optreden binnen Power BI. Hier kunnen we helaas verder geen invloed uitoefenen; je kunt wel een ticket indienen bij Microsoft zelf.

Voor vindbaarheid is op de Power BI community een topic over dit onderwerp aangemaakt. Indien je hier als gebruiker tegen aan loopt, dan gaarne ook daar aanvullen.

Vergelijkbare issues

Enkele vergelijkbare issues met “An existing connection was forcibly closed by the remote host” met Power BI dataflows:

Dit probleem lijkt sinds een jaar op te treden.

Oplossing ondersteunen

Mocht je je ervaringen willen delen om sneller te komen tot een oplossing, voeg je probleembevestiging dan toe op:

Een overzicht van alle open Power BI-ideeën voor Invantive Cloud is te vinden op Power BI verbetersuggesties.

Workarounds

De mogelijke workarounds op dit moment zijn:

  • beperk omvang download per tabel tot onder de 10 MB (gecomprimeerd, zoals zichtbaar in Bridge monitor)
  • gebruik uitsluitend Power BI Desktop

Een tijd geleden ben ik ook tegen dit soort issues aangelopen, omdat wij een flinke bak aan data ophalen in PowerBI.

Een andere workaround die wellicht kan helpen is de privacy settings van je dataset aanpassen naar het laagste niveau. Ik kan me niet precies herinneren wat de error toen was, maar het had te maken met dat het laden van de data erg traag verliep en soms een time out error gaf.

Los van dit specifieke issue of die ik een tijd terug had zitten er sowieso nog veel bugs in het ophalen van data bij PowerBI waar flink wat aan getimmerd mag worden. Microsoft kennende lossen veel van dit soort problemen zich over de jaren wel op. Melding maken op het forum heeft gedaan helpt altijd goed met zichtbaar maken van de problemen. Dus zeker een aanrader.

1 like

De monitoring is beschikbaar gekomen op Invantive Cloud; zie releasebericht voor 30 november 2020.

Update: probleem met “O:data: Unable to read data…” treedt ook op bij gebruikers van datasets / gegevenssets via PowerBI.com op grote hoeveelheden data.

Ik ben de afgelopen dagen tussen de bedrijven door aan het testen geweest met Power BI in combinatie met Invantive Bridge Online. De bevindingen staan hieronder.

Verversen via Power BI desktop: faalt in circa 20% van de gevallen. Daarna nog een keer verversen gaat dan altijd snel en wel goed, voorlopig werkbaar.

Dan PowerBI.com.

Ik heb 4 scenario’s getest:

  • Power BI Pro en datasets
  • Power BI Pro en dataflows
  • Power BI Premium per user en dataset
  • Power BI Premium per user en dataflows

Power BI Pro en datasets

Het verversen lukt nooit met Power BI Pro en datasets:

OData: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host… The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective action.

Power BI Pro en dataflows

Een dataflow is eigenlijk 1 tabel die via Powerbi.com geladen kan worden en in verschillende datasets gebruikt kan worden.

Getest met Sync TransactionLines: gaat nooit goed, zelfde OData foutmelding.

Power BI Premium per user en dataset

Power BI premium per user is de duurdere uitvoering van Power BI waarbij je extra functies en capaciteit krijgt. Kost ook 2x zoveel per maand (ongeveer € 16,-).

Verversen gaat nooit goed, OData foutmelding, maar hij geeft wel aan op welke tabel het fout gaat. Dat gaf mij de motivatie om naar laatste scenario over te gaan en Dataflows te gebruiken met Power BI Premium en deze dan apart te verversen en later te combineren in 1 dataset

Power BI Premium per user en dataflows

De uitkomsten hiervan:

  • TransactionLines verhuisd naar 1 dataflow in Power BI premium, verversen. WERKT!
  • Vervolgens SalesInvioces die foutmelding gaf op dataset; deze verhuisd naar Dataflow, verversen. WERKT!
  • Vervolgens foutmelding in dataset bij verversen op Accounts, verhuisd naar Dataflow. WERKT NIET! Da’s jammer.
  • In plaats van AccountsSync, AccountsBulk geprobeerd, maar dat werkt helaas ook niet. Zelfde OData foutmelding. Accounts krijg ik dus met geen mogelijkheid ververst op PowerBI.com

Key take aways

Mijn key take aways:

  1. Het lijkt toch wel iets met performance te maken te hebben aan de PowerBI kant. Power BI Premium werkt soms, Power Bi Pro nooit
  2. Misschien ligt het wel aan het feit dat bij een dataset verversen meerdere tabellen in 1 keer ververst worden. Bij dataflow is dit maar 1 tabel
  3. Het leek er op dat dataflow in Power BI Premium (dus 1 tabel met meer capaciteit) wel ging werken, maar helaas, Accounts krijg ik met geen mogelijkheid ververst op Power BI.com
  4. Bovenstaand allemaal getest met een dataset van 2 administraties, 2,3 Miljoen TransactionLines, en 280.000 Accounts

Hartelijk dank voor het uitzoeken en de toelichting! Ik begrijp dat met grotere volumes problemen blijft geven.

Zijdelings advies is om niet AccountsSync te gebruiken, maar AccountsIncremental. Deze is de tweede en volgende keren veel vlotter omdat er meestal maar 2 API calls naar Exact nodig zijn.

We gaan dit verder uitzoeken; het lijkt structureel met grotere volumes fout te gaan. Eigenaardige is dat er op Azure Data Factory nog geen bekende issues zijn met vergelijkbare volumes.

Een verzamelartikel voor een mogelijk gerelateerd structureel probleem bij PowerBI OData-downloads en analyse of dit van toepassing is, is te vinden op: