[ 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)