[ 
https://issues.apache.org/jira/browse/HIVE-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14169885#comment-14169885
 ] 

Vaibhav Gumashta commented on HIVE-6972:
----------------------------------------

[~leftylev] Done. Thanks again!

> 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
>              Labels: TODOC14
>             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>
> *Release Note:*
> 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}



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

Reply via email to