[ 
https://issues.apache.org/jira/browse/HIVE-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vaibhav Gumashta updated HIVE-6972:
-----------------------------------
    Release Note:   (was: The JDBC Uri for HiveServer2 has the form:
{code}
jdbc:hive2://host1:port1,host2:port2/dbName;sess_var_list?hive_conf_list#hive_var_list
{code}

Ideally, sess_var_list is supposed to be used to pass parameters that will be 
used within the JDBC Driver. However, some of the http mode parameters were 
being passed in the hive_conf_list which we've fixed now (in a backward 
compatible way).
Additionally, JDBC Driver has a naming convention for the parameters in the 
JDBC Uri which were not followed to the sasl.qop parameter. We've renamed it in 
a backward compatible way.

Details:
*1. HTTP Mode params:*
*Old example uri:*
{code}
jdbc:hive2://host:port/dbName;user=username;password=password?hive.server2.transport.mode=http;hive.server2.thrift.http.path=httpEndpoint
{code}

*New example uri:*
{code}
jdbc:hive2://host:port/dbName;user=username;password=password;transportMode=http;httpPath=httpEndpoint?hive.server2.logging.operation.enabled=false
{code}

As you can see above, {{hive.server2.transport.mode}} has been renamed to 
{{transportMode}}, {{hive.server2.thrift.http.path}} has been renamed to 
{{httpPath}} and both have been moved from {{hive_conf_list}} to 
{{sess_var_list}}.

*2. Sasl qop renaming:*
*Old example uri:*
{code}
jdbc:hive2://host:port/dbName;principal=hiveserver2KerberosPrincipal;sasl.qop=qopValue
{code}

*New example uri:*
{code}
jdbc:hive2://host:port/dbName;principal=hiveserver2KerberosPrincipal;saslQop=qopValue
{code}

As you can see {{sasl.qop}} has been renamed to {{saslQop}}.

Note: all changes are backward compatible and print a deprecation message like 
the following:
{code}
0: jdbc:hive2://localhost:10001> !connect 
jdbc:hive2://localhost:10001/;sasl.qop=auth?hive.server2.transport.mode=http;hive.server2.thrift.http.path=cliservice
 username password org.apache.hive.jdbc.HiveDriver
Connecting to 
jdbc:hive2://localhost:10007/;sasl.qop=auth?hive.server2.transport.mode=http;hive.server2.thrift.http.path=cliservice
14/10/07 16:22:24 INFO jdbc.Utils: Supplied authorities: localhost:10001
14/10/07 16:22:24 WARN jdbc.Utils: ***** JDBC param deprecation *****
14/10/07 16:22:24 WARN jdbc.Utils: The use of sasl.qop is deprecated.
14/10/07 16:22:24 WARN jdbc.Utils: Please use saslQop like so: 
jdbc:hive2://<host>:<port>/dbName;saslQop=<qop_value>
14/10/07 16:22:24 WARN jdbc.Utils: ***** JDBC param deprecation *****
14/10/07 16:22:24 WARN jdbc.Utils: The use of hive.server2.transport.mode is 
deprecated.
14/10/07 16:22:24 WARN jdbc.Utils: Please use transportMode like so: 
jdbc:hive2://<host>:<port>/dbName;transportMode=<transport_mode_value>
14/10/07 16:22:24 WARN jdbc.Utils: ***** JDBC param deprecation *****
14/10/07 16:22:24 WARN jdbc.Utils: The use of hive.server2.thrift.http.path is 
deprecated.
14/10/07 16:22:24 WARN jdbc.Utils: Please use httpPath like so: 
jdbc:hive2://<host>:<port>/dbName;httpPath=<http_path_value>
Connected to: Apache Hive (version 0.14.0-SNAPSHOT)
Driver: Hive JDBC (version 0.14.0-SNAPSHOT)
Transaction isolation: TRANSACTION_REPEATABLE_READ
{code}
)

> jdbc HTTP configuration options should be part of sessionConf part of 
> connection string
> ---------------------------------------------------------------------------------------
>
>                 Key: HIVE-6972
>                 URL: https://issues.apache.org/jira/browse/HIVE-6972
>             Project: Hive
>          Issue Type: Bug
>          Components: HiveServer2, JDBC
>    Affects Versions: 0.13.0
>            Reporter: Thejas M Nair
>            Assignee: Vaibhav Gumashta
>             Fix For: 0.14.0
>
>         Attachments: HIVE-6972.1.patch, HIVE-6972.2.patch, HIVE-6972.3.patch, 
> HIVE-6972.4.patch
>
>
> The http connection parameters are currently part of the HiveConf section of 
> the connection string. It should ideally be part of SessionConf section, as 
> that is where rest of the connection parameters are.
> HTTP transport parameters are not part of the hiveconfiguration parameters 
> that need to be set.
> ie
> instead of 
> jdbc:hive2://<host>:<port>/<db>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>
> it should be -
> jdbc:hive2://<host>:<port>/<db>;transportMode=http;httpPath=<http_endpoint>



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to