[ 
https://issues.apache.org/jira/browse/HIVE-26015?focusedWorklogId=739287&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-739287
 ]

ASF GitHub Bot logged work on HIVE-26015:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/Mar/22 05:40
            Start Date: 10/Mar/22 05:40
    Worklog Time Spent: 10m 
      Work Description: scarlin-cloudera commented on a change in pull request 
#3084:
URL: https://github.com/apache/hive/pull/3084#discussion_r823364267



##########
File path: 
hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java
##########
@@ -296,7 +297,8 @@ public URI getURIForAuth(Table table) throws 
URISyntaxException {
     String hbase_host = tableProperties.containsKey(HBASE_HOST_NAME)? 
tableProperties.get(HBASE_HOST_NAME) : hbaseConf.get(HBASE_HOST_NAME);
     String hbase_port = tableProperties.containsKey(HBASE_CLIENT_PORT)? 
tableProperties.get(HBASE_CLIENT_PORT) : hbaseConf.get(HBASE_CLIENT_PORT);
     String table_name = 
tableProperties.getOrDefault(HBaseSerDe.HBASE_TABLE_NAME, null);

Review comment:
       So I was thinking about doing it for the whole URI and not just the 
properties.
   I didn't research the characters that get URL Encoded versus the characters 
that are used in a table, but I was a bit nervous to URL Encode the table name 
which might break backward compatibility.  
   
   I figured URL encoding Serde properties was pretty safe though since it 
probably isn't used by Ranger.  I also thought about removing Serde properties 
from the URI, but that also had me worried about backward compatibility.
   
   I'm open to changing this or having more of a discussion on it.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 739287)
    Time Spent: 40m  (was: 0.5h)

> HBase table with Ranger authentication fails; needs URLEncoding
> ---------------------------------------------------------------
>
>                 Key: HIVE-26015
>                 URL: https://issues.apache.org/jira/browse/HIVE-26015
>             Project: Hive
>          Issue Type: New Feature
>            Reporter: Steve Carlin
>            Assignee: Steve Carlin
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> A Create table statement is failing for HBase going through Ranger.
> The stack trace shows a problem with the getURIForAuth method.
> The table is creating someting like this:
> CREATE EXTERNAL TABLE `mytesttbl`( `field1` string COMMENT 'from 
> deserializer',`field2` string COMMENT 'from deserializer',`field3` string 
> COMMENT 'from deserializer',`field4` string COMMENT 'from 
> deserializer',`field5` string COMMENT 'from deserializer',`field6` int 
> COMMENT 'from deserializer', `field7` string COMMENT 'from deserializer', 
> `field8` int COMMENT 'from deserializer') ROW FORMAT SERDE   
> 'org.apache.hadoop.hive.hbase.HBaseSerDe' STORED BY    
> 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  WITH SERDEPROPERTIES (   
> 'hbase.columns.mapping'=':key,field1,field2,field3,field4,field5#b,field6,cf:field7#b','serialization.format'='1')
>   TBLPROPERTIES (   'hbase.table.name'='mytesttbl');
> Essentially, the SERDEPROPERTIES contain hash tabs which is causing a problem 
> when creating a URI



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to