Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-27164

Create Temp Txn Table As Select is failing at tablePath validation

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      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.

      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) 

      I am able to repro this issue using attached testcase. mm_cttas.q

       

      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 paths as well.
      • Skip location check for temp tables at MetastoreDefaultTransformer#validateTablePaths()

      Attachments

        1. mm_cttas.q
          1 kB
          Naresh P R

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            VenuReddy Venugopal Reddy K Assign to me
            nareshpr Naresh P R
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 3.5h
              3.5h

              Slack

                Issue deployment