Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

0

Frequent "OLE DB or ODBC" forcibly closed connection errors with Azure Data Lake Store

I have a few reports which source from multiple Azure Data Lake Store CSV files (lists a directory, expands the file contents, and parses them as CSV to create one or more datasets). Nearly every time I refresh the data I encounter an error loading from the data lake:

 

OLE DB or ODBC Error: [DataSource.Error] Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..


It appears someone else had this issue as well but the thread didn't go anywhere: https://community.powerbi.com/t5/Developer/Power-BI-frequent-OLE-DB-or-ODBC-errors-with-ADLS-as-data...


Below is a trace log which shows the actual error. Looking at the WebHDFS call, it seems as though there's some non-zero chance that any chunk read will fail, and because there is no retry logic, loading many large files is sure to cause an overall load failure.

 

DataMashup.Trace Error: 24579 : {
"Start":"2018-05-11T17:22:16.8552586Z",
"Action":"Engine/IO/Web/Request/LogError",
"HostProcessId":"17952",
"RequestMethod":"GET",
"RequestUri":"https://<REDACTED>.csv?op=OPEN&read=true&offset=83886080&length=4194304",
"RequestHasContent":"False",
"RequestHasHeaders":"False",
"RequestHasTimeout":"True",
"UseCache":"True",
"Exception":"Exception:\r\nExceptionType: System.IO.IOException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<REDACTED>\r\nMessage: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.\r\nStackTrace:\n at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)\r\n at Microsoft.Mashup.Engine1.Library.Web.ErrorLoggingReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)\r\n\r\nInnerException\r\nException:\r\nExceptionType: System.Net.Sockets.SocketException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<REDACTED>\r\nMessage: An existing connection was forcibly closed by the remote host\r\nStackTrace:\n at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)\r\n\r\n\r\n\r\n\r\n", 
"ProductVersion":"2.58.5103.501 (PBIDesktop)",
"ActivityId":"c9dcb403-e61c-4eab-a065-3bdf8e9a110e",
"Process":"Microsoft.Mashup.Container.NetFX40",
"Pid":12804,
"Tid":1,
"Duration":"00:00:00.0048887"
}


Here is the exception from the above JSON with newlines expanded:

 

ExceptionType: System.IO.IOException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<REDACTED>
Message: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
StackTrace:
at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at Microsoft.Mashup.Engine1.Library.Web.ErrorLoggingReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
InnerException
Exception:
ExceptionType: System.Net.Sockets.SocketException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<redacted>
Message: An existing connection was forcibly closed by the remote host
StackTrace:
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

Perhaps this could be fixed just by wrapping the ADLS file chunk reads with some retry logic?

Status: Delivered
Comments
v-qiuyu-msft
Community Support

Hi @isobit,

 

I would suggest you create a support ticket to get dedicated support. 

 

Support Ticket.gif

 

Best Regards,
Qiuyun Yu 

Vicky_Song
Impactful Individual
Status changed to: Delivered