Tim Thorpe created HIVE-28021:
---------------------------------

             Summary: Attempting to create a table with a percent symbol fails
                 Key: HIVE-28021
                 URL: https://issues.apache.org/jira/browse/HIVE-28021
             Project: Hive
          Issue Type: Bug
          Components: Iceberg integration
    Affects Versions: 4.0.0-beta-1
            Reporter: Tim Thorpe


This occurred while attempting to test creating a table 
"[|]#&%_@"."[|]#&%_@"
The stack trace is as follows:

 
{code:java}
java.util.UnknownFormatConversionException: Conversion = '_'
org.apache.hadoop.hive.ql.metadata.HiveException: 
java.util.UnknownFormatConversionException: Conversion = '_'
        at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1383) 
~[hive-exec-4.0.0-beta-1.jar:4.0.0-beta-1]
        at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1388) 
~[hive-exec-4.0.0-beta-1.jar:4.0.0-beta-1]
        at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1278) 
~[hive-exec-4.0.0-beta-1.jar:4.0.0-beta-1]
        …
Caused by: java.util.UnknownFormatConversionException: Conversion = '_'
        at java.util.Formatter.checkText(Formatter.java:2590) ~[?:1.8.0]
        at java.util.Formatter.parse(Formatter.java:2566) ~[?:1.8.0]
        at java.util.Formatter.format(Formatter.java:2512) ~[?:1.8.0]
        at java.util.Formatter.format(Formatter.java:2466) ~[?:1.8.0]
        at java.lang.String.format(String.java:4268) ~[?:2.9 (05-29-2023)]
        at 
org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder.format(ThreadFactoryBuilder.java:186)
 ~[hive-iceberg-handler-4.0.0-beta-1.jar:4.0.0-beta-1]
        at 
org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder.setNameFormat(ThreadFactoryBuilder.java:73)
 ~[hive-iceberg-handler-4.0.0-beta-1.jar:4.0.0-beta-1]
        at org.apache.iceberg.hive.MetastoreLock.<init>(MetastoreLock.java:129) 
~[hive-iceberg-handler-4.0.0-beta-1.jar:4.0.0-beta-1] {code}
 

 

This was fixed by making a change to 
[https://github.com/apache/hive/blob/branch-4.0.0-beta-1/iceberg/iceberg-catalog/src/main/java/org/apache/iceberg/hive/MetastoreLock.java#L129]

 
{code:java}
-                            .setNameFormat("iceberg-hive-lock-heartbeat-" + 
fullName + "-%d")
+                            .setNameFormat("iceberg-hive-lock-heartbeat-" + 
fullName.replace("%", "%%") + "-%d"){code}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to