Error when connecting to HiveServer using DataDirect ODBC dr

Posted by artiintell on 24-Mar-2015 15:45

I am receiving the following error when trying to connect to Hive:

Internal error processing clean

Does anyone know what might be the reason for that?

Your support is very much appreciated.

Many Thanks

All Replies

Posted by Phil on 24-Mar-2015 16:06

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Posted by csands on 25-Mar-2015 07:01

To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by artiintell on 25-Mar-2015 07:23

The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).

I have enabled ODBC trace and managed to get some information which may be helpful and is the following:

ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110

I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.

Many Thanks,

[collapse]
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.


[/collapse][/collapse]

Posted by csands on 25-Mar-2015 08:01

You need to look at the hiveserver log. If it says the clean is not a valid command you can disable it.
If it is another message, please send it to us.
 
 
Older versions of Hive 1 required the sending the hive clean command to release locks.
You can disable this with the connect option SendCleanOnClose=0
 
However, if the server still required it, lock may not be freed
 
[collapse]
From: artiintell [mailto:bounce-artiintell@community.progress.com]
Sent: Wednesday, March 25, 2015 8:24 AM
To: TU.DD.Connect@community.progress.com
Subject: Re: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by artiintell
The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).
 
I have enabled ODBC trace and managed to get some information which may be helpful and is the following:
 
ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse][/collapse]

Posted by Phil on 25-Mar-2015 08:56

Some information regarding Apache Hive error logging can be found in their documentation/wiki: cwiki.apache.org/.../GettingStarted

Phil

Posted by artiintell on 30-Mar-2015 10:43

Hi,

I have caught the error log on the server side:

2015-03-30 15:49:33,414 ERROR thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing clean
java.lang.NullPointerException
at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.clean(HiveServer.java:234)
at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:835)
at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:820)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
2015-03-30 15:51:41,150 INFO  exec.HiveHistory 

Is there anything that can help? I have the full log so if you need more info I am happy to provide it.

Many Thanks,

[collapse]
On Wed, Mar 25, 2015 at 12:23 PM, artiintell <bounce-artiintell@community.progress.com> wrote:
Reply by artiintell
The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).

I have enabled ODBC trace and managed to get some information which may be helpful and is the following:

ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110

I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.

Many Thanks,

[collapse]
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.


Stop receiving emails on this subject.

Flag this post as spam/abuse.


[/collapse][/collapse][/collapse]

Posted by csands on 30-Mar-2015 11:39

Ok this is an issue with the hive server, not the driver  There are no arguments to a clean.
[collapse]
From: artiintell [mailto:bounce-artiintell@community.progress.com]
Sent: Monday, March 30, 2015 11:44 AM
To: TU.DD.Connect@community.progress.com
Subject: Re: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by artiintell
Hi,
 
I have caught the error log on the server side:
 
2015-03-30 15:49:33,414 ERROR thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing clean
java.lang.NullPointerException
            at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.clean(HiveServer.java:234)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:835)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:820)
            at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
            at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
            at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:744)
2015-03-30 15:51:41,150 INFO  exec.HiveHistory 
 
Is there anything that can help? I have the full log so if you need more info I am happy to provide it.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:23 PM, artiintell <bounce-artiintell@community.progress.com> wrote:
Reply by artiintell
The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).
 
I have enabled ODBC trace and managed to get some information which may be helpful and is the following:
 
ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse][/collapse]

Posted by artiintell on 02-Apr-2015 09:05

Hi thanks for the suggestion,

Looking at the logs It appears that the “Clean command” is used to remove PreparedStatement used by Data Nucleus (the ORM layer used by Hive) query to the metastore. Could it be that if the metastore database did not support PreparedStatements, then this condition (error mentioned earlier) wouldn’t be encountered? And otherwise it would? Another question is what the driver was tested against in terms of metastores e.g. was it tested with Oracle as a metastore etc.?

Thanks,

[collapse]
On Mon, Mar 30, 2015 at 5:39 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
Ok this is an issue with the hive server, not the driver  There are no arguments to a clean.
[collapse]
From: artiintell [mailto:bounce-artiintell@community.progress.com]
Sent: Monday, March 30, 2015 11:44 AM
To: TU.DD.Connect@community.progress.com
Subject: Re: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by artiintell
Hi,
 
I have caught the error log on the server side:
 
2015-03-30 15:49:33,414 ERROR thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing clean
java.lang.NullPointerException
            at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.clean(HiveServer.java:234)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:835)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:820)
            at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
            at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
            at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:744)
2015-03-30 15:51:41,150 INFO  exec.HiveHistory 
 
Is there anything that can help? I have the full log so if you need more info I am happy to provide it.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:23 PM, artiintell <bounce-artiintell@community.progress.com> wrote:
Reply by artiintell
The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).
 
I have enabled ODBC trace and managed to get some information which may be helpful and is the following:
 
ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.


[/collapse][/collapse][/collapse]

Posted by csands on 02-Apr-2015 16:25

The java.lang.NullPointerException is a BUG in the Hive server. This should not happen.
Can they test with  a newer version of Hive  to see if Apache fixed the bug?
 
I do not think we test Oracle as the metastore.  I would have to find out. But again the bug is happening in the Hive Server.
I think our testing is with mysql.
[collapse]
From: artiintell [mailto:bounce-artiintell@community.progress.com]
Sent: Thursday, April 02, 2015 10:07 AM
To: TU.DD.Connect@community.progress.com
Subject: Re: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by artiintell
Hi thanks for the suggestion,
 
Looking at the logs It appears that the “Clean command” is used to remove PreparedStatement used by Data Nucleus (the ORM layer used by Hive) query to the metastore. Could it be that if the metastore database did not support PreparedStatements, then this condition (error mentioned earlier) wouldn’t be encountered? And otherwise it would? Another question is what the driver was tested against in terms of metastores e.g. was it tested with Oracle as a metastore etc.?
 
Thanks,
 
On Mon, Mar 30, 2015 at 5:39 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
Ok this is an issue with the hive server, not the driver  There are no arguments to a clean.
[collapse]
From: artiintell [mailto:bounce-artiintell@community.progress.com]
Sent: Monday, March 30, 2015 11:44 AM
To: TU.DD.Connect@community.progress.com
Subject: Re: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by artiintell
Hi,
 
I have caught the error log on the server side:
 
2015-03-30 15:49:33,414 ERROR thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing clean
java.lang.NullPointerException
            at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.clean(HiveServer.java:234)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:835)
            at org.apache.hadoop.hive.service.ThriftHive$Processor$clean.getResult(ThriftHive.java:820)
            at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
            at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
            at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:744)
2015-03-30 15:51:41,150 INFO  exec.HiveHistory 
 
Is there anything that can help? I have the full log so if you need more info I am happy to provide it.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:23 PM, artiintell <bounce-artiintell@community.progress.com> wrote:
Reply by artiintell
The customer I am working with is running an Apache Hive 0.11 as far as I am aware and they run HiveServer not HiveServer2 (they do not want to run HiveServer2 for some reasons).
 
I have enabled ODBC trace and managed to get some information which may be helpful and is the following:
 
ENTER SQLSetEnvAttr
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
                SQLHENV             0x00000000642110
                SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
                SQLPOINTER                 3
                SQLINTEGER                  -6
 
ENTER SQLAllocHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8
 
EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000642110
                SQLHANDLE *         0x0000000063cdf8 ( 0x00000000644080)
 
ENTER SQLDriverConnect
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
EXIT  SQLDriverConnect  with return code -1 (SQL_ERROR)
                HDBC                0x00000000644080
                HWND                           (nil)
                UCHAR *             0x007f8ae62b4b84 [4294967293] "******"
                SWORD                       -3
                UCHAR *             0x007f8ae62b4b84
                SWORD                        6
                SWORD *             0x007ffff3aefcde
                UWORD                        0 <SQL_DRIVER_NOPROMPT>
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  1
                SQLCHAR *           0x007ffff3aef450 [  5] "HY000"
                SQLINTEGER *        0x007ffff3aef458 (6)
                SQLCHAR *           0x007ffff3aef040 [ 86] "[XXXX][ODBC Apache Hive Wire Protocol driver][Hive]Internal error processing clean"
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c (86)
 
ENTER SQLGetDiagRec
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
EXIT  SQLGetDiagRec  with return code 100 (SQL_NO_DATA_FOUND)
                SQLSMALLINT                  2
                SQLHANDLE           0x00000000644080
                SQLSMALLINT                  2
                SQLCHAR *           0x007ffff3aef450 (NYI)
                SQLINTEGER *        0x007ffff3aef458
                SQLCHAR *           0x007ffff3aef040 (NYI)
                SQLSMALLINT               1024
                SQLSMALLINT *       0x007ffff3aef45c
 
ENTER SQLFreeHandle
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  2 <SQL_HANDLE_DBC>
                SQLHANDLE           0x00000000644080
 
ENTER SQLFreeHandle
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
                SQLSMALLINT                  1 <SQL_HANDLE_ENV>
                SQLHANDLE           0x00000000642110
 
I will also ask them to enable logging on a server side. It will be very much appreciated if you can point me to what needs to be configured and where to start logging info that can help us to identify the problem.
 
Many Thanks,
 
On Wed, Mar 25, 2015 at 12:02 PM, csands <bounce-csands@community.progress.com> wrote:
Reply by csands
To get that message, the driver thinks it is  running against a hive 1 server.
Is this what you intend to do?
 
If so, can you tell me the vendor and version of the hive server   i.e.    Apache  0.12,    Cloudera    0.12.05
 
Hive2  is  a more stable, multi user server. You should consider using it.
Also as of Hive 1.0,  the hive server 1 is no longer supported by Apache.
 
If it is a hiver 2 server. Change the WireProtocolVersion connect setting  to 2   (hive server 2)
And see if that fixes your problem.
[collapse]
From: Phil [mailto:bounce-pprudich@community.progress.com]
Sent: Tuesday, March 24, 2015 5:07 PM
To: TU.DD.Connect@community.progress.com
Subject: RE: [Technical Users - DataDirect Connect] Error when connecting to HiveServer using DataDirect ODBC driver
 
Reply by Phil

That error comes from the server itself.  Was there more to the message?  Some versions of the server appear to provide more followup information which may be of use.

Alternatively, you may need to consult your server log files if you haven't done so already to see if more information may be available there.

Hope this helps,

Phil

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

 
Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse][/collapse][/collapse]

This thread is closed