[
https://issues.apache.org/jira/browse/IMPALA-11025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Sherman resolved IMPALA-11025.
-------------------------------------
Resolution: Fixed
> Creation of functional.insert_only_transactional_table fails wIth 'illegal
> location for managed table'
> -------------------------------------------------------------------------------------------------------
>
> Key: IMPALA-11025
> URL: https://issues.apache.org/jira/browse/IMPALA-11025
> Project: IMPALA
> Issue Type: Bug
> Reporter: Andrew Sherman
> Assignee: Andrew Sherman
> Priority: Critical
> Attachments: IMPALA-11025_stack.txt
>
>
> Hive complains 'Illegal location for managed table' although location
> '/test-warehouse/managed/insert_only_transactional_table' appears to be
> within database's managed location.
> {code}
> INFO : Compiling
> command(queryId=jenkins_20211116193803_e342124e-7a94-4024-b11a-58578cdf2ce4):
> CREATE TABLE IF NOT EXISTS functional.insert_only_transactional_table (
> col1 int
> )
> STORED AS TEXTFILE
> LOCATION '/test-warehouse/managed/insert_only_transactional_table'
> TBLPROPERTIES (
> 'transactional_properties' = 'insert_only',
> 'transactional' = 'true'
> )
> INFO : Semantic Analysis Completed (retrial = false)
> INFO : Created Hive schema: Schema(fieldSchemas:null, properties:null)
> INFO : Completed compiling
> command(queryId=jenkins_20211116193803_e342124e-7a94-4024-b11a-58578cdf2ce4);
> Time taken: 0.025 seconds
> INFO : Executing
> command(queryId=jenkins_20211116193803_e342124e-7a94-4024-b11a-58578cdf2ce4):
> CREATE TABLE IF NOT EXISTS functional.insert_only_transactional_table (
> col1 int
> )
> STORED AS TEXTFILE
> LOCATION '/test-warehouse/managed/insert_only_transactional_table'
> TBLPROPERTIES (
> 'transactional_properties' = 'insert_only',
> 'transactional' = 'true'
> )
> INFO : Starting task [Stage-0:DDL] in serial mode
> ERROR : Failed
> org.apache.hadoop.hive.ql.metadata.HiveException:
> MetaException(message:Illegal location for managed table, it has to be within
> database's managed location)
> at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1170)
> ~[hive-exec-3.1.3000.7.1.8.0-393.jar:3.1.3000.7.1.8.0-393]
> at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1175)
> ~[hive-exec-3.1.3000.7.1.8.0-393.jar:3.1.3000.7.1.8.0-393]
> {code}
> (For full hive stack see attachment)
> HMS log:
> {code}
> 2021-11-16T19:38:03,185 INFO [pool-9-thread-58]
> metastore.MetastoreDefaultTransformer: Starting translation for
> transformDatabase for processor HMSClient-@localhost with [EXTWRITE, EXTREAD,
> HIVEBUCKET2, HIVEFULLACIDREAD, HIVEFULLACIDWRITE, HIVECACHEINVALIDATE,
> HIVEMANAGESTATS, HIVEMANAGEDINSERTWRITE, HIVEMANAGEDINSERTREAD, HIVESQL,
> HIVEMQT, HIVEONLYMQTWRITE] on database functional
> locationUri=hdfs://localhost:20500/test-warehouse/functional.db
> managedLocationUri=hdfs://localhost:20500/test-warehouse/managed/functional.db
> 2021-11-16T19:38:03,185 INFO [pool-9-thread-58]
> metastore.MetastoreDefaultTransformer: Transformer returning
> database:Database(name:functional, description:null,
> locationUri:hdfs://localhost:20500/test-warehouse/functional.db,
> parameters:{}, ownerName:jenkins, ownerType:USER, catalogName:hive,
> createTime:1637119984,
> managedLocationUri:hdfs://localhost:20500/test-warehouse/managed/functional.db)
> 2021-11-16T19:38:03,323 INFO [pool-9-thread-58] metastore.HiveMetaStore: 63:
> source:127.0.0.1 create_table_req:
> Table(tableName:insert_only_transactional_table, dbName:functional,
> owner:jenkins, createTime:1637120283, lastAccessTime:0, retention:0,
> sd:StorageDescriptor(cols:[FieldSchema(name:col1, type:int, comment:null)],
> location:hdfs://localhost:20500/test-warehouse/managed/insert_only_transactional_table,
> inputFormat:org.apache.hadoop.mapred.TextInputFormat,
> outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat,
> compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null,
> serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe,
> parameters:{serialization.format=1}), bucketCols:[], sortCols:[],
> parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[],
> skewedColValueLocationMaps:{}), storedAsSubDirectories:false),
> partitionKeys:[], parameters:{bucketing_version=2,
> transactional_properties=insert_only, transactional=true},
> viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE,
> privileges:PrincipalPrivilegeSet(userPrivileges:{jenkins=[PrivilegeGrantInfo(privilege:INSERT,
> createTime:-1, grantor:jenkins, grantorType:USER, grantOption:true),
> PrivilegeGrantInfo(privilege:SELECT, createTime:-1, grantor:jenkins,
> grantorType:USER, grantOption:true), PrivilegeGrantInfo(privilege:UPDATE,
> createTime:-1, grantor:jenkins, grantorType:USER, grantOption:true),
> PrivilegeGrantInfo(privilege:DELETE, createTime:-1, grantor:jenkins,
> grantorType:USER, grantOption:true)]}, groupPrivileges:null,
> rolePrivileges:null), temporary:false, catName:hive, ownerType:USER,
> writeId:0)
> 2021-11-16T19:38:03,323 INFO [pool-9-thread-58] HiveMetaStore.audit:
> ugi=jenkins ip=127.0.0.1 cmd=source:127.0.0.1 create_table_req:
> Table(tableName:insert_only_transactional_table, dbName:functional,
> owner:jenkins, createTime:1637120283, lastAccessTime:0, retention:0,
> sd:StorageDescriptor(cols:[FieldSchema(name:col1, type:int, comment:null)],
> location:hdfs://localhost:20500/test-warehouse/managed/insert_only_transactional_table,
> inputFormat:org.apache.hadoop.mapred.TextInputFormat,
> outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat,
> compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null,
> serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe,
> parameters:{serialization.format=1}), bucketCols:[], sortCols:[],
> parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[],
> skewedColValueLocationMaps:{}), storedAsSubDirectories:false),
> partitionKeys:[], parameters:{bucketing_version=2,
> transactional_properties=insert_only, transactional=true},
> viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE,
> privileges:PrincipalPrivilegeSet(userPrivileges:{jenkins=[PrivilegeGrantInfo(privilege:INSERT,
> createTime:-1, grantor:jenkins, grantorType:USER, grantOption:true),
> PrivilegeGrantInfo(privilege:SELECT, createTime:-1, grantor:jenkins,
> grantorType:USER, grantOption:true), PrivilegeGrantInfo(privilege:UPDATE,
> createTime:-1, grantor:jenkins, grantorType:USER, grantOption:true),
> PrivilegeGrantInfo(privilege:DELETE, createTime:-1, grantor:jenkins,
> grantorType:USER, grantOption:true)]}, groupPrivileges:null,
> rolePrivileges:null), temporary:false, catName:hive, ownerType:USER,
> writeId:0)
> 2021-11-16T19:38:03,323 INFO [pool-9-thread-58]
> metastore.MetastoreDefaultTransformer: Starting translation for CreateTable
> for processor HMSClient-@localhost with [EXTWRITE, EXTREAD, HIVEBUCKET2,
> HIVEFULLACIDREAD, HIVEFULLACIDWRITE, HIVECACHEINVALIDATE, HIVEMANAGESTATS,
> HIVEMANAGEDINSERTWRITE, HIVEMANAGEDINSERTREAD, HIVESQL, HIVEMQT,
> HIVEONLYMQTWRITE] on table insert_only_transactional_table
> 2021-11-16T19:38:03,327 ERROR [pool-9-thread-58]
> metastore.RetryingHMSHandler: MetaException(message:Illegal location for
> managed table, it has to be within database's managed location)
> at
> org.apache.hadoop.hive.metastore.MetastoreDefaultTransformer.validateTablePaths(MetastoreDefaultTransformer.java:886)
> at
> org.apache.hadoop.hive.metastore.MetastoreDefaultTransformer.transformCreateTable(MetastoreDefaultTransformer.java:666)
> at
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table_core(HiveMetaStore.java:2234)
> at
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table_req(HiveMetaStore.java:2544)
> at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)
> at
> org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108)
> at com.sun.proxy.$Proxy34.create_table_req(Unknown Source)
> at
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$create_table_req.getResult(ThriftHiveMetastore.java:16877)
> at
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$create_table_req.getResult(ThriftHiveMetastore.java:16856)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
> at
> org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:111)
> at
> org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:107)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1898)
> at
> org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:119)
> at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:313)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]