[
https://issues.apache.org/jira/browse/HIVE-29852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18109170#comment-18109170
]
Niels Basjes commented on HIVE-29852:
-------------------------------------
{{For clarity.}}
{{I think this is the key error in this:}}
{{
Suppressed: java.lang.UnsupportedClassVersionError: Preview features are not
enabled for org/jline/terminal/impl/ffm/FfmTerminalProvider (class file version
65.65535). Try running with '--enable-preview'}}
> Published docker image fails with UnsupportedClassVersionError on commandline
> hive command.
> -------------------------------------------------------------------------------------------
>
> Key: HIVE-29852
> URL: https://issues.apache.org/jira/browse/HIVE-29852
> Project: Hive
> Issue Type: Bug
> Affects Versions: 4.2.0, 4.2.1
> Reporter: Niels Basjes
> Priority: Major
>
> On a Linux machine (I used UbuntuĀ 24.04) with docker:
> {code:java}
> docker run --rm --name hive-server -e SERVICE_NAME=hiveserver2
> apache/hive:4.2.1 {code}
> Then after it has started in a separate terminal do a simple commandline
> query:
> {code:java}
> docker exec "hive-server" hive -u 'jdbc:hive2://localhost:10000/' -e "show
> databases;" {code}
> The output of this command:
> {code:java}
> SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in
> [jar:file:/opt/hive/lib/log4j-slf4j-impl-2.24.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:
> Found binding in
> [jar:file:/opt/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:
> See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.SLF4J: Actual binding is of type
> [org.apache.logging.slf4j.Log4jLoggerFactory]SLF4J: Class path contains
> multiple SLF4J bindings.SLF4J: Found binding in
> [jar:file:/opt/hive/lib/log4j-slf4j-impl-2.24.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:
> Found binding in
> [jar:file:/opt/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:
> See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.SLF4J: Actual binding is of type
> [org.apache.logging.slf4j.Log4jLoggerFactory]Exception in thread "main"
> java.lang.IllegalStateException: Unable to create a terminal at
> org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:394) at
> org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:362) at
> org.apache.hive.beeline.BeeLine.buildTerminal(BeeLine.java:1554) at
> org.apache.hive.beeline.BeeLine.initializeLineReader(BeeLine.java:1470)
> at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1125) at
> org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1101) at
> org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:567)
> at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:561)
> at org.apache.hive.beeline.BeeLine.main(BeeLine.java:544) at
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> at java.base/java.lang.reflect.Method.invoke(Method.java:580) at
> org.apache.hadoop.util.RunJar.run(RunJar.java:330) at
> org.apache.hadoop.util.RunJar.main(RunJar.java:245) Suppressed:
> java.lang.UnsupportedClassVersionError: Preview features are not enabled for
> org/jline/terminal/impl/ffm/FfmTerminalProvider (class file version
> 65.65535). Try running with '--enable-preview' at
> java.base/java.lang.ClassLoader.defineClass1(Native Method) at
> java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)
> at
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
> at
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:580)
> at
> java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
> at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:68)
> at
> org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:665)
> at
> org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:630)
> at
> org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
> ... 12 more
> {code}
> On docker image version 4.1.0 this does work as expected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)