==============================================================================
Amazon JDBC Connector for Apache Impala Release Notes
==============================================================================

The release notes provide details of enhancements, features, workflow changes, 
and known issues in Amazon JDBC Connector for Apache Impala 2.6.39, as well as
the version history. 

This version of the connector supports the following data source versions and 
Java platforms:

 * The Amazon JDBC Connector for Apache Impala is expected to be compatible 
   with all supported CDP and CDW versions.

 * Java 8, 9, 11, 17, 21


2.6.39 =======================================================================

Released 2026-01-30

Enhancements & New Features

 * [IMPJ-809] AutoReconnect support
   
   The connector can now automatically reconnect and start a new session after
   an invalid session error. To do this, set the AutoReconnect property to 1.
   For more information, see the Installation and Configuration Guide.

 * [IMPJ-814] Token Pass-through support
   
   The connector now supports Token Pass-through OAuth 2.0 authentication. To
   do this, set the Auth_Flow property to 0. For more information, see the 
   Installation and Configuration Guide.
 
 * [IMPJ-814] Client Credentials support
   
   The connector now supports Client Credentials OAuth 2.0 authentication. To
   do this, set the Auth_Flow property to 1. For more information, see the 
   Installation and Configuration Guide.

 * [IMPJ-814] Authorization Code support
   
   The connector now supports Authorization Code OAuth 2.0 authentication. To
   do this, set the Auth_Flow property to 2. For more information, see the 
   Installation and Configuration Guide.

 * [IMPJ-844] Added support for Java 21

   The connector now supports Java 21.

 * [IMPJ-863] Updated third-party library

   The connector has been upgraded with the following third-party libraries:
   - commons-codec 1.20.0 (previously 1.18.0)
   - commons-logging 1.3.5 (previously 1.3.4)
   - jackson-annotations 2.19.0 (previously 2.16.1)
   - jackson-core 2.19.0 (previously 2.16.1)
   - jackson-databind 2.19.0 (previously 2.16.1)
   - log4j-api 2.25.3 (previously 2.24.3)
   - log4j-core 2.25.3 (previously 2.24.3)
   - log4j-slf4j-impl 2.25.3 (previously 2.24.3)
   - slf4j 2.0.17 (previously 2.0.16)
  
   The commons-lang library has been removed.
  

Resolved Issues
The following issue has been resolved in Amazon JDBC Connector for Apache
Impala 2.6.39.

 * [IMPJ-812] When a connection to the server fails, the connector does not 
   clean up unused threads.

 * [IMPJ-817] In some cases, when running queries with the multi-socket fetch
   feature enabled on active-active clusters, an invalid query handler error
   occurs.

 * [IMPJ-836][IMPJ-862] When using Kerberos with IBM Java 17, an exception 
   occurs during connection.

 * [IMPJ-845] When using a semicolon (;) in a password, the connector 
   truncates the password because semicolons are reserved characters in a 
   connection URL. Use URL encoding (%3B) to represent semicolons when 
   setting any property value.


Workflow Changes ============================================================= 

The following changes may disrupt established workflows for the connector. 


2.6.35 -----------------------------------------------------------------------

 * [IMPJ-794] Updated JAAS configuration information

   By default, the JAAS configuration is turned off when Kerberos  
   authentication is used. To turn it on, set the JDBC_ENABLE_JAAS environment  
   variable to 1. For more information, see the Installation and Configuration
   Guide.


2.6.27 -----------------------------------------------------------------------

 * Removed slf4j-log4j12 dependency

   Beginning with this release, the connector no longer includes the 
   slf4j-log4j12 library in the JAR file.
   
   
2.6.26 -----------------------------------------------------------------------

 * Removed support for JDBC 4.0 (Java 6)

   Beginning with this release, the connector no longer supports JDBC 4.0 
   (Java 6). For a list of supported JDBC versions, see the Installation and 
   Configuration Guide.
   
 * Removed third-party libraries

    Beginning with this release, the connector no longer includes the 
    ZooKeeper and Jute libraries in the JAR file.
	

2.6.17 -----------------------------------------------------------------------

 * Removed support for Impala 1.0.1 to 2.6
 
   Beginning with this release, the driver no longer supports Impala 1.0.1 to
   2.6. For a list of supported Impala versions, see the Installation and 
   Configuration Guide.
   
 * New default port

   Beginning with this release, if the port is not specified in the 
   connection URL, the driver uses a default port depending on the specified 
   transport mode:
   - If the transport mode is set to HTTP, the driver uses port 28000 as the 
     default.
   - If the transport mode is set to SASL or binary, or is not specified, 
     the driver uses port 21050 as the default.

   Previously, the driver always used port 21050 as the default port.


2.6.3 ------------------------------------------------------------------------

 * Removed support for JDBC 3 (Java 5)

   Beginning with this release, the driver no longer supports JDBC 3 (Java 
   5). For a list of supported JDBC versions, see the Installation and 
   Configuration Guide.


Version History ==============================================================

2.6.36 -----------------------------------------------------------------------

Released 2024-09-27

Enhancements & New Features

 * [IMPJ-808] Updated Jackson library
   
   Upgraded Jackson libraries (annotations, core, databind) to 
   version 2.16.1 from 2.15.2.


Resolved Issues
The following issue has been resolved in Amazon JDBC Connector for Apache 
Impala 2.6.36.

 * [IMPJ-801] The driver was unable to connect with Kerberos.

 * [IMPJ-807] The older version (1.11) of commons-codec appeared in the driver 
   jar metadata instead of the actual version (1.15).


2.6.35 -----------------------------------------------------------------------


Released 2024-08-09

Enhancements & New Features

 * [IMPJ-794] Security improvement
   
   The connector has been updated with security improvements.

   
Resolved Issues
The following issue has been resolved in Amazon JDBC Connector for Apache 
Impala 2.6.35.

 * [IMPJ-790] When using SQL Clause EXCEPT and scalar function CURRENT_DATE()
   for parser, the connector returns an error.


2.6.27 -----------------------------------------------------------------------

Released 2022-03-04

Enhancements & New Features

 * Updated log4j third-party libraries

   The JDBC 4.2 version of the connector has been updated to version 2.17.1
   of the log4j third-party libraries.

   The JDBC 4.1 version of the connector has been updated to version 2.12.4
   of the log4j third-party libraries. To address security vulnerabilities, do
   one of the following: 
   - In PatternLayout in the logging configuration, replace Context Lookups 
     like ${ctx:loginId} or $${ctx:loginId} with Thread Context Map patterns 
     (%X, %mdc, or %MDC). 
   - Otherwise, in the configuration, remove references to Context Lookups 
     like ${ctx:loginId} or $${ctx:loginId} where they originate from sources
     external to the application such as HTTP headers or user input.
 
 * Updated Jackson library

   The connector now uses version 2.13.1 of the Jackson library. Previously, 
   the connector used Jackson version 2.12.3.  
   
   
Resolved Issues
The following issue has been resolved in Amazon JDBC Connector for Apache 
Impala 2.6.27.

 * When close() is not called on the connection object, the connector prevents
   the JVM from exiting.


2.6.26 -----------------------------------------------------------------------

Released 2021-12-24

Enhancements & New Features

 * Updated log4j third-party libraries

   The JDBC 4.2 version of the connector has been updated to version 2.17.0
   of the log4j third-party libraries.
   
   The JDBC 4.1 version of the connector has been updated to version 2.12.2
   of the log4j third-party libraries. To address security vulnerabilities, do
   one of the following: 
   - In PatternLayout in the logging configuration, replace Context Lookups 
     like ${ctx:loginId} or $${ctx:loginId} with Thread Context Map patterns 
     (%X, %mdc, or %MDC). 
   - Otherwise, in the configuration, remove references to Context Lookups 
     like ${ctx:loginId} or $${ctx:loginId} where they originate from sources
     external to the application such as HTTP headers or user input.
   
 * Updated third-party libraries
 
   The connector has been upgraded with the following third-party libraries:
   - Apache Commons Codec 1.15 (previously 1.9)
   - Apache HttpClient 4.5.13 (previously 4.5.3)
   - Apache HttpCore 4.4.14 (previously 4.4.6)
   - Jackson 2.12.3 (previously 2.10.1)      
   
   The JDBC 4.1 connector has been updated to use slf4j 1.7.30.
   
 * Ignore transactions support
 
   You can now ignore transaction-related operations. To do this, set the 
   IgnoreTransactions property to 1. For more information, see the
   Installation and Configuration Guide.
   
 * SSO authentication
 
   You can now authenticate using single sign-on (SSO) via SAML 2.0 on
   supported servers. For more information, see the Installation and
   Configuration Guide.
   
 * Updated Impala support
 
   The connector now supports Impala versions 2.8 through 3.4. For a list of 
   supported Impala versions, see the Installation and Configuration Guide.

 * Updated SSL support
 
   The connector now supports BCFKS TrustStores files. To specify the 
   TrustStore type, set the SSLTrustStoreType property to the preferred type. 
   For more information, see the Installation and Configuration Guide.   
 
   
Resolved Issues
The following issues have been resolved in Amazon Impala JDBC Connector 
2.6.26.

 * When using the WITH clause and column names in a query, the connector 
   returns incorrect results.   

 * When executing INSERT queries, the connector casts empty strings to 
   CHAR(1).
 
 * The ImpalaJDBCDataEngine does not check getFunctions and returns an empty 
   result set.

 * In some cases, when using Safari, SSO authentication fails and returns a 
   302 error.   
   
 * When using PreparedStatements, queries containing EXTRACT clauses fail.   
   
 * When the server returns 0 rows, the connector stops fetching results.

 * When executing consecutive statements, the connector does not update the 
   parameter values. 

 * The connector incorrectly classifies queries containing comments and 
   whitespaces.    
   
 * If the API call fails, the connector does not retry idempotent API calls to
   the server when using the HTTP transport.
 
 * When connecting to Impala 3.2 or later, the connector returns an incorrect 
   row count of -1 for write-back statements.
 
 * When an HTTP exception is returned by Hive Server 2, the connector does not
   return the message body.   


2.6.18 -----------------------------------------------------------------------

Released 2020-08-07

Enhancements & New Features

 * Support for Java 11
 
   The driver now supports Java 11.
   
 * Updated third-party libraries
 
   The JDBC 4.2 driver has been updated to use the following libraries:
   - log4j 2.13.3
   - slf4j 1.7.30
   
   The JDBC 4.0 and 4.1 versions of the driver continue to use the previous
   versions of these libraries.
   
 * Statement.setFetchSize API call support
 
   The driver now supports the values set via the Statement.setFetchSize API
   call. 


Resolved Issues
The following issues have been resolved in Amazon JDBC Driver for Impala 
2.6.18.

 * The driver converts UPSERT-SELECT to INSERT-SELECT. 
 
 * When Impala analytic functions are used, the driver does not honor 
   upper-case column aliases. 
 
 * The driver logs incorrect socket timeout values. 
 
 * When the UseNativeQuery property is set to 1 and there is a space between 
   "comment" and "show partitions", the driver returns an error.
   

2.6.17 -----------------------------------------------------------------------

Enhancements & New Features

 * Support for DATE data type
 
   The driver now supports the DATE data type for Impala version 3.3.0 or 
   later. For more information, see "Data Types" in the Installation and 
   Configuration Guide.

 * Zookeeper updated

   The driver now uses Zookeeper version 3.4.14. 

 * Jackson-databind updated

   The driver now uses Jackson-databind version 2.9.9.3. 

 * Default port

   If a port is not specified in the connection URL, the driver now uses a 
   default port depending on the specified transport mode:
   - If the transport mode is set to HTTP, the driver uses port 28000 as the 
     default.
   - If the transport mode is set to SASL or binary, or is not specified, 
     the driver uses port 21050 as the default.

 * HTTP header host name

   When the driver uses an HTTP header, the header now uses the host name 
   instead of the resolved IP address.

 * Updated Impala support

   The driver now supports Impala versions up to 3.2. For a list of supported 
   Impala versions, see the Installation and Configuration Guide.

 * Support for JDBC 4.2

   The driver now supports JDBC 4.2.

 * Support for HTTP transport

   The driver now supports the use of the HTTP transport protocol. To use 
   this transport protocol, set the new TransportMode configuration option 
   to http, and then set the new httpPath configuration option to the partial
   URL corresponding to the Impala server. For more information, see the 
   Installation and Configuration Guide.

   Note: The TransportMode option replaces and supersedes the deprecated 
   UseSasl option.

 * New JDBC class names

   The driver now supports the following class names for Driver and 
   DataSource that are independent of the JDBC version used:
   - com.amazon.impala.jdbc.Driver
   - com.amazon.impala.jdbc.DataSource

   The previous JDBC-version-specific class names for 4.0 and 4.1 are still 
   supported.

 * Updated Jackson library

   The driver has been updated to use Jackson 2.9.9.

 * Improved performance of prepared statements with 
   large numbers of parameters.

   Preparing statements no longer takes exponentially more time for each 
   parameter. Additionally, DatabaseMetaData.supportsBatchUpdates() now 
   returns true. 

 * Always pass UID parameter to server 

   If the UID parameter is specified in the connection URL, the driver now 
   passes it to the server even when No Authentication is specified 
   (AuthMech=0).

 * Thrift Support Update  

   The driver now uses version 0.12.0 of the Thrift library.

 * UPSERT queries supported for Apache Kudu tables

   You can now execute UPSERT queries when using prepared statements to query 
   Kudu tables through Impala.

 * Updated third-party libraries

   The driver has been updated to use the following libraries:
   - Hive Service RPC 3.1.1
   - Apache ZooKeeper 3.4.13

 * Improved scalar function support

   The driver now defaults to the native implementations of scalar functions
   where they are supported by the Impala server.
   
 * Updated third-party libraries

   The driver has been updated to use:
   - Log4j 1.2.17
   - slf4j-api and slfj-log4j12 1.7.25


Resolved Issues
The following are among the issues that have been resolved in Amazon JDBC 
Driver for Impala 2.6.17.

 * The driver does not generate the correct syntax for character parameters in
   prepared statements if the length of the parameter value is greater than 
   510.

 * getParameterMetaData() returns VARCHAR for all parameters.

 * When you use the com.amazon.impala.jdbc.DataSource class to connect with 
   the JDBC 4.1 or 4.2 version of the driver, the driver returns a class cast 
   exception.

 * The JDBC 4.1 version of the driver fails to connect to servers that require
   encryption using TLS 1.2.

   This issue has been resolved. However, be aware that this issue still
   persists for the JDBC 4.0 version of the driver. For more information, see
   the "Known Issues" section.

 * If AuthMech is set to 0 and UID and PWD are specified in the connection 
   URL, the username and password are not sent to the server.

   This has been resolved. Now, if UID or PWD are specified in the 
   connection URL, the driver always sends them to the server.

 * The driver casts empty strings to CHAR(0), causing issues on the server.
   
   This issue has been resolved. The driver now casts empty strings to 
   CHAR(1).

 * The driver executes UPSERT queries incorrectly, causing errors to be shown. 

 * The driver incorrectly treats SSLTrustStore and SSLTrustStorePWD as 
   server-side properties.

 * If a SQL query ends in a semicolon, the driver reports an
   error.

   This issue has been resolved. The driver now removes trailing semicolons
   from queries before sending them to the server.

 * If a SQL query ends in a semicolon, the driver reports an error.

   This issue has been resolved. The driver now removes trailing semicolons
   from queries before sending them to the server.

 * After a query fails on the server side, subsequent queries on the driver 
   side also fail.
   
 * When executing a statement that only contains a comment, the driver returns
   an error.


2.6.4 ------------------------------------------------------------------------

Enhancements & New Features

 * Support for Impala 2.12

   The driver now supports Impala versions 1.0.1 through 2.12.


Resolved Issues
The following issue was resolved in Amazon JDBC Driver for Impala 2.6.4.

 * Documentation for the SocketTimeout configuration option is incorrect.


2.6.3 ------------------------------------------------------------------------

Enhancements & New Features
The following are highlights of some of the new features and 
functionalities that have been added to Amazon JDBC Driver for Impala 2.6.3. 

 * Improved installation process

   Third-party libraries are now bundled with the driver as a shaded jar file.

 * Updated hive-service

   The driver has been upgraded to use hive-service-2.0.1 with JDBC 4.1 and 
   hive-service-1.1.1 for JDBC 4.

 * Updated third-party libraries

   The driver has been upgraded to use http-client 4.5.3, http-core 4.4.6, 
   commons-codec 1.9, commons-logging 1.2, and Apache ZooKeeper 3.4.11.


Resolved Issues
The following are among the issues that have been resolved in Amazon JDBC 
Driver for Impala 2.6.3.

 * The getTableName() method of the ResultSetMetaData returns "" for queries 
   with "LIMIT" clause

 * When attempting to close a statement that is already closed, the driver 
   logs an error.

 * A string literal after a back-tick ( ` ) is treated as a comment.

 * When the driver attempts to connect to the server using Beeline, an 
   error occurs on the server and an exception is logged by the driver. 

   This issue has been resolved. Now, when connecting to the server using 
   Beeline, connection properties such as "driver" and "url" are no longer 
   treated as configuration properties for the server, and the driver does 
   not send SET queries to the server with these properties.


==============================================================================
Contact Us
==============================================================================

For support, check the EMR Forum at 
https://forums.aws.amazon.com/forum.jspa?forumID=52 or open a support case 
using the AWS Support Center at https://aws.amazon.com/support
