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)