Automatisch verversen PowerBI geeft: "An existing connection was forcible closed by the remote host"

Bij het instellen van automatisch verversen van een dashboard in PowerBI Online, heb ik gebruik gemaakt van * bij de Bridge Online IP-adres lijst zoals op forums wordt aangegeven. Dit om het probleem van IP-adressen te voorkomen. Helaas krijg ik dan nog steeds de onderstaande foutmelding, hoor graag hoe dit verder te kunnen oppakken:

De foutmelding:

Failure details:
The last refresh attempt failed because of an internal service error.
This is usually a transient issue.
If you try again later and still see this message, contact support.

DataSource.Error:
OData:
Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host.
DataSourceKind = OData
DataSourcePath = https://bridge-online.cloud/acme-twinfield/odata4/Twinfield.Twinfield.GeneralLedgerDetailsV3@tfd
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.
Table: GeneralLedger (Test).

IP-adrescontrole

Het gebruik van * schakelt de beveiliging op IP-adres volledig uit; alle apparaten binnen de service area kunnen dan contact maken mits ze het juiste wachtwoord presenteren.

Verbindingen van buiten de service area worden geblokkeerd, evenals verbindingen vanaf twijfelachtige IP-adressen zoals bijvoorbeeld bekende IP-adressen van anonieme VPN-tunnels voor zover vlot en automatisch te achterhalen.

Echter, deze foutmelding is niet gerelateerd aan de IP-adrescontrole; die zou een melding itgenboe030 of itgenboe031 geven (zie voor meer details: Corrigeer itgenboe031 en itgenboe030 melding bij Power BI Verversen (Bridge Online toegang is niet geautoriseerd vanaf IP-adres ...))).

Foutmelding

Deze tekst van een foutmelding wordt door Power BI gegeven. De Power BI-service is in onze ogen niet altijd van even hoge kwaliteit voor productiedoeleinden zoals Azure Data Factory. Ook de herleidbaarheid is soms lastig.

Daarom is het mogelijk gemaakt om via Bridge Online Monitoring de status te bekijken. Daarnaast zijn meldingen ook langere tijd beschikbaar via het scherm “Systeemberichten”.

Advies

Advies is om in het scherm Bridge Online Monitoring het request terug te zoeken. Let op dat de getoonde tijden in UTC zijn. Vaak zal een melding zichtbaar zijn die het probleem verklaart. Ook is helemaal onderin een lijst beschikbaar van de voortgang qua aantal rijen. Sluit die aan bij de verwachting?

Mocht probleem hiermee niet duidelijk worden, gelieve dan een schermafdruk uit Bridge Online Monitoring van het request toe te voegen na verwijdering van uw IP-adres, persoonsgegevens en andere vertrouwelijke informatie. Zorg ervoor dat de blauwe titelbalk in zijn geheel zichtbaar blijft.

Wanneer heb je toegang tot Bridge Online Monitoring? Ik kan namelijk dat scherm niet openen.

Het Monitoring-scherm van Invantive Bridge Online is voor alle gebruikers toegankelijk. Indien dat niet lukt, gelieve een nieuwe thread te starten voor dit probleem.

Heb het zojuist nogmaals geprobeerd via de automatische refresh de data te ontsluiten.
Echter, krijg ik weer dezelfde foutmelding. Maar ik zie dit niet terug in Bridge Online Monitoring eigenlijk. Hoe kan dat?

En wordt er geadviseerd betreft vervolgstappen? Is de automatische refresh niet mogelijk via Invantive?

Van de huidige Invantive Cloud-gebruiker horen alle requests zichtbaar te zijn vanaf de meest recente systeemstart en tot maximaal 8 uur geleden. Bij het gebruik van de PowerBI Service kan een andere Invantive Cloud-gebruiker (zoals een dienstenaccount) gebruikt zijn. Deze verzoeken zijn alleen zichtbaar indien aangemeld met het dienstenaccount op Invantive Bridge Online Monitoring.

Automatisch verversen via Invantive is mogelijk en wordt veel gebruikt.

Voor vervolgstappen is het advies om na het opzoeken van het request en zelf beoordelen hiervan de eerder genoemde vervolgstappen te nemen:

Mocht probleem hiermee niet duidelijk worden, gelieve dan een schermafdruk uit Bridge Online Monitoring van het request toe te voegen na verwijdering van uw IP-adres, persoonsgegevens en andere vertrouwelijke informatie. Zorg ervoor dat de blauwe titelbalk in zijn geheel zichtbaar blijft.

Zojuist opnieuw de verversing in PowerBI uitgevoerd en ook Bridge Online Monitoring in de gaten gehouden. De foutmelding in PowerBI Online is elke keer hetzelfde.

Hieronder de historie van verversen:

Hieronder de afbeeldingen van Bridge Online. De query van PowerBI wordt vier keer uitgevoerd. In alle gevallen groen en geen foutmelding.



In de query van PowerBI heb ik al de ODataVersion=4, OmitValues=ODataOmitValues.Nulls al toegevoegd.

Fijn dat het gelukt is om in Bridge Online Monitoring de gegevens nu zichtbaar te krijgen.

Is het mogelijk om van een van de volgens PowerBI.com gefaalde downloads de bijbehorende data-download (dus met waarde in kolom “SQL-statement”) de details toe te voegen (geanonimiseerd qua persoons- en bedrijfsnamen, maar met de blauwe kop en andere velden volledig zichtbaar)?

Staat er een foutmelding in de lijst onderaan e/o staat er het juiste aantal rijen?

Staan er verdere details bij PowerBI.com bij de gefaalde download (gaarne schermafdruk)?

Hierbij de PowerBI.com foutmelding:

Data source error
OData:
Unable to read data from the transport connection:
An existing connection was forcible closed by the remote host.
DataSourceKind = OData
DataSourcePath = https://bridge-online.cloud/naam/odata4/Twinfield.Twinfield.GeneralLedgerDetailsV3@tfd
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.
Table: GeneralLedger (Test).
Cluster URI: WABI-NORTH-EUROPE-redirect.analysis.windows.net
Activity ID: f2282333-c403-4b78-9362-b10e081cd568
Request ID: 7b3d9747-b8d1-9c4f-1b67-1feb49d1779f
Time: 2022-09-27 04:50:57Z

Dit is het gedetailleerde overzicht uit Bridge Online?!

Via PowerBI Desktop verloopt het verversen wel succesvol.

Aanvullend nu een timeout ingesteld om te kijken of dat helpt. De timeout nog niet op 2 uur gesteld.

Timeout=#duration(0,1,0,0)

Wat mij opvalt in Bridge Online Monitoring is dat voor PowerBI Desktop slechts 1x de query wordt gerund, maar voor PowerBI Online de query 4x terugkomt. Dus 4x SQL statement in tegenstelling tot 1x voor PowerBI Desktop.

Het gaat om circa 1 miljoen boekingen uit Twinfield die uit cache komen (“From Cache” is aangevinkt). Het volume na compressie is circa 50 MB en het ophalen duurt circa 146 seconden.

Het gaat om request 80000d6e-0000-d200-b63f-84710c7967bb.

De data is volledig gedownload door PowerBI.com; dat is te zien aan de Status 200. Ook in de meer gedetailleerde serverlogs zien we terug dat deze download zonder foutmeldingen verlopen is. Dit is naar verwachting een ander probleem dan waarbij PowerBI.com plotseling de verbinding verbreekt, vaak na 5 minuten. Problemen met PowerBI.com komen vaker voor en helaas is aan de kant van PowerBI.com de analyseerbaarheid van oorzaken zeer beperkt.

Op basis van de ervaringen op deze forums is het advies om de volgende controles uit te voeren:

Herhaaldelijk uitvoeren van zelfde query in PowerBI.com

De PowerBI Online Service voert meerdere malen de query uit. Waarschijnlijk is dit een bekend probleem. Het vermoeden is dat PowerBI.com de data volledig ophaalt en bij de verwerking van de data crasht. Na enige tijd wordt dezelfde download nogmaals gestart en crasht PowerBI.com opnieuw. In een extreem geval is hierbij op een aantal Exact Online-administratie in een ochtend 184x dezelfde download geïnitieerd vanuit PowerBI.com, wat (uncompressed) toen circa 2 terabyte aan downloads veroorzaakte.

Gelukkig valt het hier nog mee, maar PowerBI.com biedt ruimte voor verbetering in de aspecten betrouwbaarheid en runaway process control. We proberen hier zo goed mogelijke voorzieningen voor te bieden, waarbij bovengenoemde adviezen mogelijk het probleem al oplossen.

In reactie op jouw opmerkingen/suggesties:

  1. Het gaat in dit geval om een Power BI Premium workspace dus ja
  2. Dit is al uitgevoerd (zoals hierboven vermeld)
  3. Dat zou inderdaad nog een oplossing kunnen zijn, maar als er 30 administraties zijn is dit wel efficiënter

Aangaande het herhaaldelijk uitvoeren. Ik begrijp je uitleg, maar wat kan daaraan worden gedaan. Het feit dat Invantive Cloud in 142 seconden de data ophaalt is fijn en mooi, maar Power BI loopt alsnog vast.

Zojuist met de hierboven genoemde timeout de refresh uitgevoerd, maar alsnog wordt de query 4x gerund.

Vanuit de Invantive-software zelf zien we geen structurele oplossing hiervoor; de data voldoet aan de OData4-specificaties en wordt volledig opgehaald. Dat is wat anders dan het andere probleem waarbij PowerBI.com een HTTP RST_STREAM stuurt. Hier hebben we de hoop dat we een workaround kunnen vinden.

Alternatieve oplossingen zijn:

  • De omvang van de data die PowerBI.com moet verwerken beperken, bijvoorbeeld door de 30 administraties in groepen te knippen en die elk los te downloaden of langs de as van jaren. Advies is om dit eerst in een test uit te proberen.
  • PowerBI.com te vervangen door een andere stroom, bijvoorbeeld via Azure Data Factory (die aanmerkelijk beter is) of create or replace table tabel@eigendatabase as select * from tabel@tfd, en die te gebruiken.
  • Via het Power BI Premium-abonnement een storing te registreren bij Microsoft zelf, aangezien zij de PowerBI.com-software onder beheer en ontwikkeling hebben. Dit duurt echter in onze ervaring meestal tenminste 6 maanden vooraleer men het als een bug beschouwt.
  • Zelf en betrokken collega’s een upvote laten geven op Power BI verbetersuggesties (" Vermijden PowerBI interne loops / agressief telkens opnieuw downloaden").

Dank voor de aangedragen alternatieve oplossingen.

  • Ben nu aan het testen met een dataflow in Power BI Online die de data ophaalt tot en met 2021. Vervolgens haalt een andere query de data na 2021 op. Om vervolgens die data samen te voegen in Power BI door ‘appenden’ van queries.
  • Even voor mijn beeld wat er komt er zoal kijken bij Azure Data Factory? De data moet dan alsnog worden opgehaald door Power BI Online?

Azure Data Factory wordt meestal gebruikt om een replicadatabase te laden. Invantive Cloud biedt dat bewust niet aan uit overwegingen van informatiebeveiliging; de eigen databasetechnologie biedt meer waarborgen tegen datamisbruik die dieper in de engine verwerkt zijn.

Nog steeds ervaar ik probleem met Power BI Online. Diverse mogelijkheden geprobeerd, maar nog geen succes. Vreemd genoeg heb ik zojuist de dataflow in Power BI Online alle data laten ophalen zonder een foutmelding.

Deze SQL query is slechts 1x uitgevoerd terwijl de vorige keren de SQL query meerdere keren werd gerund. Het is mij onduidelijk waarom er een verschil zou moeten zijn tussen het verversen van een dataflow en dataset.

Ik ben benieuwd wat ik hieraan kan doen. De hoeveelheid aan data kan niet het probleem zijn.

Aanvullend op bovenstaande valt mij op dat een handmatige verversing ''refresh now" zonder foutmeldingen verloopt terwijl een “scheduled refresh” de eerdere genoemde foutmelding oplevert (“Connection forcibly closed”).

Is daar nog een verklaring voor?

Mijn aanvulling in laatste bericht is niet juist. Zojuist krijg ik ook dezelfde foutmelding op een handmatige verversing ‘Refresh now’. Het lijkt bijna op willekeurige verwerking.

Zie ook Automatisch verversen PowerBI geeft: "An existing connection was forcible closed by the remote host" - #15 door forums en Automatisch verversen PowerBI geeft: "An existing connection was forcible closed by the remote host" - #19 door forums.

We zien aan de kant van Invantive Bridge Online dat de data netjes teruggegeven wordt en door Power BI opgepikt (status 200). Dit komt ook in onze logging naar voren (deze is niet extern zichtbaar):

itgenboe195
In total returned 996,563 rows from query on ‘Invantive.Twinfield.Twinfield.GeneralLedgerDetailsV3@tfd’, approximate size 1,666,690,366 bytes.

Advies is om de exacte eindtijd van de download (27-09-2022 13:56:01.465 UTC) te vergelijken met de tijden in PowerBI.com. De klok is gesynchroniseerd via NTP.

Wat zijn de tijdstippen binnen PowerBI.com voor deze download voor de verschillende stappen?

Hypothese is dat PowerBI.com (incidenteel) crasht op het datavolume en dat dat vaker gebeurt bij grotere volumes. We proberen hier beter de vinger achter te krijgen en een workaround te bieden, maar tot dusver komen we niet verder dan steeds harder de conclusie te kunnen trekken dat dit een bug in PowerBI.com is.

Daarom advies om een ticket in te dienen binnen het Power BI Premium-abonnement en om een upvote te geven aan de betrokken ideeën (Power BI verbetersuggesties).

Workaround is om het datavolume te verkleinen door te splitsen.

Hoe verder

Deze foutmelding is inderdaad uitermate vervelend en aanhoudend; we krijgen de vingers er niet achter. Het gaat voor zover wij kunnen overzien om twee problemen in PowerBI.com:

  1. Een incidentele crash na afronding van het ophalen (HTTP status 200 OK), waarna enige tijd (minuut) later PowerBI.com lijkt te crashen en opnieuw downloadt.
  2. Een incidentele crash waarbij PowerBI.com als OData-consumerer gedurende het ophalen opeens plotsklaps weg is (stuurt een HTTP2 RST_STREAM, toont bij monitoring als HTTP status 499), opvallend vaak na 5 minuten en enkele seconden. Er vindt geen hernieuwde poging plaats.

Het eerste probleem is niet meetbaar binnen Invantive Cloud, want de data is al aangeboden en volledig afgehaald.

Van het tweede probleem is wel een bovengrens zichtbaar, maar met alleen filteren op 499 of RST_STREAM wordt ook veel end-user activiteit meegenomen (download annuleren of wegnavigeren). De schatting van het tweede probleem betreft enkele promille van alle downloads.

Buiten PowerBI.com treden deze problemen voor zover bekend niet op. Helaas kent PowerBI.com naast deze twee problemen ook een serieus hiaat aan herleidbaarheid en controleerbaarheid, waardoor het analyseren nog lastiger is.

In beide gevallen lijkt de kans op een incidentele crash te groeien naarmate er meer rijen in de dataset zitten. In deze dataset gaat het om circa 1,6 GB aan data. In beide gevallen is het wat ons betreft een bug in PowerBI.com, waar we wel graag een workaround voor willen aanbieden.

De afgelopen maanden is duidelijker geworden voor Invantive dat deze twee problemen niet aan Invantive Cloud liggen, maar het is niet gelukt een reproduceerbaar scenario te realiseren. Duizenden tests zijn uitgevoerd zonder storingen op testdata.

Uit eerdere discussies over bugs in met Microsoft Office die speelden bij het grootbedrijf is de ervaring dat bugs melden zonder eenvoudige en reproduceerbare testcase geen nut heeft. Met “eenvoudig” wordt bedoeld: “reproduceerbaar met een klein programmaatje zonder componenten van buiten Microsoft” en met “reproduceerbaar” wordt bedoeld: “treedt structureel op”.

Indien tijdelijk gebruik gemaakt kan worden van een omgeving waar het probleem wel structureel op optreedt, dan wordt dat op prijs gesteld.