You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Hari Sankar Sivarama Subramaniyan (JIRA)" <ji...@apache.org> on 2015/03/24 21:40:53 UTC

[jira] [Resolved] (HIVE-7871) WebHCat: Hive job with SQL server as MetastoreDB fails when Unicode characters are present in curl command

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

Hari Sankar Sivarama Subramaniyan resolved HIVE-7871.
-----------------------------------------------------
    Resolution: Won't Fix

It seems that from http://wiki.eclipse.org/Jetty/Howto/International_Characters
we should just avoid embedding international characters within a URL and use hexdecimal encoded scheme all together at the client end. i.e. use %HH instead of foreign characters for a reliable setup. Although setting the characterset to UTF-8 at all levels, OS, shell, editor, servers etc in my local environment provides a consistent result with using %HH and seem to fix this issue locally, from the documentation it looks like this practice needs to be avoided all together because the browsers/client apis such are not designed to support this feature.

> WebHCat: Hive job with SQL server as MetastoreDB fails  when Unicode characters are present in curl command
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-7871
>                 URL: https://issues.apache.org/jira/browse/HIVE-7871
>             Project: Hive
>          Issue Type: Bug
>          Components: WebHCat
>            Reporter: Hari Sankar Sivarama Subramaniyan
>            Assignee: Hari Sankar Sivarama Subramaniyan
>         Attachments: HIVE-7871.1.patch
>
>
> Please follow the steps below to repro.
> 1. Create a SQL Server. Create Username, Password, DB with Unicode characters in their name.
> 2. Create a cluster and run the below command against its templeton endpoint
> curl -i -u <username>:<password> \
> -d define=javax.jdo.option.ConnectionUserName=<dbusername>@<SQLserver> \
> -d define=hive.metastore.uris= \
> -d define=javax.jdo.option.ConnectionURL=jdbc:sqlserver://<SQLserver>.database.windows.net;database=<dbname>; encrypt=true;trustServerCertificate=true;create=false \
> -d define=javax.jdo.option.ConnectionPassword=<dbpassword> \
> -d statusdir=/hivestatus \
> -d user.name=admin \
> -d enablelog=false \
> -d execute="show tables;" \
> -s "https://localhost:30111/templeton/v1/hive"
> The following error message is received.
> javax.jdo.JDOFatalDataStoreException: Unable to open a test connection to the given database. JDBC url = jdbc:sqlserver://<SQLserver>.database.windows.net;database=<dbname>; encrypt=true;trustServerCertificate=true;create=false, username = <dbusername>@<SQLserver>. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------
> com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user '<dbusername>'.



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