LuciferYang commented on PR #49736:
URL: https://github.com/apache/spark/pull/49736#issuecomment-2625039106

   1. `GenericUDTFGetSplits` imports 
`org.apache.hadoop.hive.llap.security.LlapSigner`, which comes from 
llap-common. 
   
   
https://github.com/apache/hive/blob/5160d3af392248255f68e41e1e0557eae4d95273/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFGetSplits.java#L44-L58
   
   1. `FunctionRegistry` will load `GenericUDTFGetSplits` in a static block.
   
   
https://github.com/apache/hive/blob/5160d3af392248255f68e41e1e0557eae4d95273/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java#L500
   
   At the same time, I saw the following content in the log:
   
   ```
   Exception in thread "HiveServer2-Handler-Pool: Thread-66" 
java.lang.RuntimeException: java.lang.NoClassDefFoundError: 
org/apache/hadoop/hive/llap/security/LlapSigner$Signable
        at 
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:76)
        at 
org.apache.hive.service.cli.session.HiveSessionProxy.lambda$invoke$0(HiveSessionProxy.java:58)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:439)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1953)
        at 
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:58)
        at jdk.proxy2/jdk.proxy2.$Proxy46.close(Unknown Source)
        at 
org.apache.hive.service.cli.session.SessionManager.closeSession(SessionManager.java:304)
        at 
org.apache.spark.sql.hive.thriftserver.SparkSQLSessionManager.closeSession(SparkSQLSessionManager.scala:92)
        at 
org.apache.hive.service.cli.CLIService.closeSession(CLIService.java:244)
        at 
org.apache.hive.service.cli.thrift.ThriftCLIService$1.deleteContext(ThriftCLIService.java:120)
        at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:264)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
   Caused by: java.lang.NoClassDefFoundError: 
org/apache/hadoop/hive/llap/security/LlapSigner$Signable
        at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
        at 
java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373)
        at java.base/java.lang.Class.getConstructor0(Class.java:3578)
        at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754)
        at 
org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:79)
        at 
org.apache.hadoop.hive.ql.exec.Registry.registerGenericUDTF(Registry.java:208)
        at 
org.apache.hadoop.hive.ql.exec.Registry.registerGenericUDTF(Registry.java:201)
        at 
org.apache.hadoop.hive.ql.exec.FunctionRegistry.<clinit>(FunctionRegistry.java:500)
        at 
org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:247)
        at 
org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:231)
        at org.apache.hadoop.hive.ql.metadata.Hive.<init>(Hive.java:395)
        at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:339)
        at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:319)
        at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:288)
        at 
org.apache.hadoop.hive.ql.session.SessionState.unCacheDataNucleusClassLoaders(SessionState.java:1596)
        at 
org.apache.hadoop.hive.ql.session.SessionState.close(SessionState.java:1586)
        at 
org.apache.hive.service.cli.session.HiveSessionImpl.close(HiveSessionImpl.java:676)
        at 
org.apache.hive.service.cli.session.HiveSessionImplwithUGI.close(HiveSessionImplwithUGI.java:87)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at 
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:71)
        ... 14 more
   Caused by: java.lang.ClassNotFoundException: 
org.apache.hadoop.hive.llap.security.LlapSigner$Signable
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        ... 37 more
   ```
   
   It seems that this caused the `FunctionRegistry` initialization to fail, so 
it looks like we can't remove the `hive-llap-common` dependency from the 
compile scope, right?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to