Generic JDBC driver gives Method Not Supported error in ADS 14.0.10
To reproduce:
1. Create a new Generic JDBC Server Connection using Apache Hive Cloudera
2. Open ADS 14.0.7 and execute a Query - it executes fine
3. Open ADS 14.0.10-2 and execute a Query.
Method not supported message is returned.
In the case of using Generic JDBC, this really isn't a bug. In version 14.0.7, two methods were overridden in our
implementation of the Hive JDBC code - getUpdateCount() and getMoreResults(). Our code contained the path
org.apache.hive.jdbc.HiveDriver which intercepted and overrode these methods even when using Generic JDBC. This code was removed in our new version of Hive to ensure that we use the correct JDBC implementation for a given distribution. Delegate was used to override these methods. This works only when Hive is registered the new way and not through Generic JDBC. If registered using Generic JDBC, we will use the implementation that comes with the JDBC and in this case, those methods are not supported.
Issue #11852 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
1 issue link |
relates to #11928
Issue #11928Fix "Method not supported" message using a generic Hive connection |
In the case of using Generic JDBC, this really isn't a bug. In version 14.0.7, two methods were overridden in our
implementation of the Hive JDBC code - getUpdateCount() and getMoreResults(). Our code contained the path
org.apache.hive.jdbc.HiveDriver which intercepted and overrode these methods even when using Generic JDBC. This code was removed in our new version of Hive to ensure that we use the correct JDBC implementation for a given distribution. Delegate was used to override these methods. This works only when Hive is registered the new way and not through Generic JDBC. If registered using Generic JDBC, we will use the implementation that comes with the JDBC and in this case, those methods are not supported.