Microsoft Hive ODBC driver fails in .Net core app

1

I'm using Microsoft Hive ODBC driver (v2.6.7) to get data from Windows Azure HDInsight service from my .net core app (netcoreapp3.1). After hundreds of successful queries my app just crashes without any exception raised with exit code -1,073,740,791 (0xffffffff). In Windows Events Log I see the following error:

Faulting application name: dotnet.exe, version: 3.100.119.60804, time stamp: 0x5dedc132
Faulting module name: HiveODBC64.dll, version: 2.6.7.1007, time stamp: 0x5d6978a4
Exception code: 0xc0000409
Fault offset: 0x0000000000c86dfc
Faulting process id: 0x4fb8
Faulting application start time: 0x01d68683f7412b76
Faulting application path: C:\Program Files\dotnet\dotnet.exe
Faulting module path: C:\Program Files\Microsoft Hive ODBC Driver\lib\HiveODBC64.dll
Report Id: b7354942-fdf5-4bdd-bab4-f26418c83f04
Faulting package full name: 
Faulting package-relative application ID: 

In ODBC Driver logs I see:

Sep 09 11:49:45.082 DEBUG 9252 HardyTCLIServiceUtils::ThrowOnNotSuccess: Backend returned non-SUCCESS status for operation GetColumns: 
    TStatus.statusCode=ERROR_STATUS
    TStatus.infoMessages="*java.nio.BufferUnderflowException:null:35:34""java.nio.Buffer:nextGetIndex:Buffer.java:506""java.nio.HeapByteBuffer:getLong:HeapByteBuffer.java:425""org.apache.hive.service.cli.HandleIdentifier:<init>:HandleIdentifier.java:46""org.apache.hive.service.cli.Handle:<init>:Handle.java:38""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:45""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:41""org.apache.hive.service.cli.thrift.ThriftCLIService:GetColumns:ThriftCLIService.java:600""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1497""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1482""org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39""org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39""org.apache.thrift.server.TServlet:doPost:TServlet.java:83""org.apache.hive.service.cli.thrift.ThriftHttpServlet:doPost:ThriftHttpServlet.java:206""javax.servlet.http.HttpServlet:service:HttpServlet.java:727""javax.servlet.http.HttpServlet:service:HttpServlet.java:820""org.eclipse.jetty.servlet.ServletHolder:handle:ServletHolder.java:565""org.eclipse.jetty.servlet.ServletHandler:doHandle:ServletHandler.java:479""org.eclipse.jetty.server.session.SessionHandler:doHandle:SessionHandler.java:225""org.eclipse.jetty.server.handler.ContextHandler:doHandle:ContextHandler.java:1031""org.eclipse.jetty.servlet.ServletHandler:doScope:ServletHandler.java:406""org.eclipse.jetty.server.session.SessionHandler:doScope:SessionHandler.java:186""org.eclipse.jetty.server.handler.ContextHandler:doScope:ContextHandler.java:965""org.eclipse.jetty.server.handler.ScopedHandler:handle:ScopedHandler.java:117""org.eclipse.jetty.server.handler.HandlerWrapper:handle:HandlerWrapper.java:111""org.eclipse.jetty.server.Server:handle:Server.java:345""org.eclipse.jetty.server.AbstractHttpConnection:handleRequest:AbstractHttpConnection.java:449""org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler:content:AbstractHttpConnection.java:925""org.eclipse.jetty.http.HttpParser:parseNext:HttpParser.java:857""org.eclipse.jetty.http.HttpParser:parseAvailable:HttpParser.java:235""org.eclipse.jetty.server.AsyncHttpConnection:handle:AsyncHttpConnection.java:76""org.eclipse.jetty.io.nio.SelectChannelEndPoint:handle:SelectChannelEndPoint.java:609""org.eclipse.jetty.io.nio.SelectChannelEndPoint$1:run:SelectChannelEndPoint.java:45""java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149""java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624""java.lang.Thread:run:Thread.java:748"
    TStatus.sqlState=
    TStatus.errorCode=0
    TStatus.errorMessage=""
    TStatus.__isset.errorCode: false
    TStatus.__isset.errorMessage: false
    TStatus.__isset.infoMessages: true
    TStatus.__isset.sqlState: false
Sep 09 11:49:45.082 TRACE 9252 HardyTable::~HardyTable: +++++ enter +++++
Sep 09 11:49:45.082 TRACE 9252 HardyResultSetBase::~HardyResultSetBase: +++++ enter +++++
Sep 09 11:49:45.082 INFO  9252 HardyDataEngine::Prepare: Exception caught while parsing statement: [Microsoft][Hardy] (61) Server returned error with no error message during operation: GetColumns 
    TStatus.statusCode=ERROR_STATUS
    TStatus.infoMessages="*java.nio.BufferUnderflowException:null:35:34""java.nio.Buffer:nextGetIndex:Buffer.java:506""java.nio.HeapByteBuffer:getLong:HeapByteBuffer.java:425""org.apache.hive.service.cli.HandleIdentifier:<init>:HandleIdentifier.java:46""org.apache.hive.service.cli.Handle:<init>:Handle.java:38""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:45""org.apache.hive.service.cli.SessionHandle:<init>:SessionHandle.java:41""org.apache.hive.service.cli.thrift.ThriftCLIService:GetColumns:ThriftCLIService.java:600""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1497""org.apache.hive.service.cli.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1482""org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39""org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39""org.apache.thrift.server.TServlet:doPost:TServlet.java:83""org.apache.hive.service.cli.thrift.ThriftHttpServlet:doPost:ThriftHttpServlet.java:206""javax.servlet.http.HttpServlet:service:HttpServlet.java:727""javax.servlet.http.HttpServlet:service:HttpServlet.java:820""org.eclipse.jetty.servlet.ServletHolder:handle:ServletHolder.java:565""org.eclipse.jetty.servlet.ServletHandler:doHandle:ServletHandler.java:479""org.eclipse.jetty.server.session.SessionHandler:doHandle:SessionHandler.java:225""org.eclipse.jetty.server.handler.ContextHandler:doHandle:ContextHandler.java:1031""org.eclipse.jetty.servlet.ServletHandler:doScope:ServletHandler.java:406""org.eclipse.jetty.server.session.SessionHandler:doScope:SessionHandler.java:186""org.eclipse.jetty.server.handler.ContextHandler:doScope:ContextHandler.java:965""org.eclipse.jetty.server.handler.ScopedHandler:handle:ScopedHandler.java:117""org.eclipse.jetty.server.handler.HandlerWrapper:handle:HandlerWrapper.java:111""org.eclipse.jetty.server.Server:handle:Server.java:345""org.eclipse.jetty.server.AbstractHttpConnection:handleRequest:AbstractHttpConnection.java:449""org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler:content:AbstractHttpConnection.java:925""org.eclipse.jetty.http.HttpParser:parseNext:HttpParser.java:857""org.eclipse.jetty.http.HttpParser:parseAvailable:HttpParser.java:235""org.eclipse.jetty.server.AsyncHttpConnection:handle:AsyncHttpConnection.java:76""org.eclipse.jetty.io.nio.SelectChannelEndPoint:handle:SelectChannelEndPoint.java:609""org.eclipse.jetty.io.nio.SelectChannelEndPoint$1:run:SelectChannelEndPoint.java:45""java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149""java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624""java.lang.Thread:run:Thread.java:748"
    TStatus.sqlState=
    TStatus.errorCode=0
    TStatus.errorMessage=""
    TStatus.__isset.errorCode: false
    TStatus.__isset.errorMessage: false
    TStatus.__isset.infoMessages: true
    TStatus.__isset.sqlState: false

Is there any approach to avoid this error? Or at least to catch the error inside my dotnet app?

.net-core
hive
odbc
asked on Stack Overflow Sep 9, 2020 by Sane

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0