Naresh P R created HIVE-27164:
---------------------------------
Summary: Create Temp Txn Table As Select is failing at tablePath
validation
Key: HIVE-27164
URL: https://issues.apache.org/jira/browse/HIVE-27164
Project: Hive
Issue Type: Bug
Components: HiveServer2, Metastore
Reporter: Naresh P R
Attachments: mm_cttas.q
After HIVE-25303, every CTAS goes for
HiveMetaStore$HMSHandler#translate_table_dryrun() call to fetch table location
for CTAS queries which fails with following exception for temp tables if
MetastoreDefaultTransformer is set.
{code:java}
2023-03-17 16:41:23,390 INFO
org.apache.hadoop.hive.metastore.MetastoreDefaultTransformer:
[pool-6-thread-196]: Starting translation for CreateTable for processor
HMSClient-@localhost with [EXTWRITE, EXTREAD, HIVEBUCKET2, HIVEFULLACIDREAD,
HIVEFULLACIDWRITE, HIVECACHEINVALIDATE, HIVEMANAGESTATS,
HIVEMANAGEDINSERTWRITE, HIVEMANAGEDINSERTREAD, HIVESQL, HIVEMQT,
HIVEONLYMQTWRITE] on table test_temp
2023-03-17 16:41:23,392 ERROR
org.apache.hadoop.hive.metastore.RetryingHMSHandler: [pool-6-thread-196]:
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.translate_table_dryrun(HiveMetaStore.java:2164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) {code}
I am able to repro this issue at apache upstream using attached testcase.
There are multiple ways to fix this issue
* Have temp txn table path under db's managed location path. This will help
with encryption zone tables as well.
* skips location check for temp tables at
MetastoreDefaultTransformer#validateTablePaths()
--
This message was sent by Atlassian Jira
(v8.20.10#820010)