From c537557fcf5cf4fa6424b66b75a410a597a616ad Mon Sep 17 00:00:00 2001 From: yuqi <1450636878@qq.com> Date: Wed, 16 Nov 2022 17:24:23 +0800 Subject: [PATCH] [KYUUBI #3813] [BUG] Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess ### _Why are the changes needed?_ **Fix the following bug:** ``` 2022-11-16 13:08:45.540 ERROR org.apache.kyuubi.server.KyuubiTBinaryFrontendService: Error opening session: org.apache.kyuubi.KyuubiSQLException: Error opening session for test_user client ip 127.0.0.1, due to com/google/common/util/concurrent/internal/InternalFutureFailureAccess at org.apache.kyuubi.KyuubiSQLException$.apply(KyuubiSQLException.scala:69) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionManager.openSession(KyuubiSessionManager.scala:102) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.service.AbstractBackendService.openSession(AbstractBackendService.scala:45) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.KyuubiServer$$anon$1.org$apache$kyuubi$server$BackendServiceMetric$$super$openSession(KyuubiServer.scala:111) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.BackendServiceMetric.$anonfun$openSession$1(BackendServiceMetric.scala:37) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.metrics.MetricsSystem$.timerTracing(MetricsSystem.scala:111) ~[kyuubi-metrics_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.BackendServiceMetric.openSession(BackendServiceMetric.scala:37) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.BackendServiceMetric.openSession$(BackendServiceMetric.scala:30) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.KyuubiServer$$anon$1.openSession(KyuubiServer.scala:111) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.service.TFrontendService.getSessionHandle(TFrontendService.scala:181) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.server.KyuubiTBinaryFrontendService.OpenSession(KyuubiTBinaryFrontendService.scala:81) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1497) ~[hive-service-rpc-3.1.3.jar:3.1.3] at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1482) ~[hive-service-rpc-3.1.3.jar:3.1.3] at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) ~[libthrift-0.9.3.jar:0.9.3] at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) ~[libthrift-0.9.3.jar:0.9.3] at org.apache.kyuubi.service.authentication.TSetIpAddressProcessor.process(TSetIpAddressProcessor.scala:36) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) ~[libthrift-0.9.3.jar:0.9.3] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_222] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_222] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_222] Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at com.google.common.cache.LocalCache$LoadingValueReference.(LocalCache.java:3472) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$LoadingValueReference.(LocalCache.java:3476) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2134) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache.get(LocalCache.java:3951) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) ~[guava-30.1-jre.jar:?] at org.apache.kyuubi.session.FileSessionConfAdvisor.getConfOverlay(FileSessionConfAdvisor.scala:41) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionImpl.(KyuubiSessionImpl.scala:55) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionManager.createSession(KyuubiSessionManager.scala:83) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.SessionManager.openSession(SessionManager.scala:98) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionManager.openSession(KyuubiSessionManager.scala:95) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] ... 18 more Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_222] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_222] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_222] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_222] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_222] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_222] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222] at com.google.common.cache.LocalCache$LoadingValueReference.(LocalCache.java:3472) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$LoadingValueReference.(LocalCache.java:3476) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2134) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache.get(LocalCache.java:3951) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) ~[guava-30.1-jre.jar:?] at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) ~[guava-30.1-jre.jar:?] at org.apache.kyuubi.session.FileSessionConfAdvisor.getConfOverlay(FileSessionConfAdvisor.scala:41) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionImpl.(KyuubiSessionImpl.scala:55) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionManager.createSession(KyuubiSessionManager.scala:83) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.SessionManager.openSession(SessionManager.scala:98) ~[kyuubi-common_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] at org.apache.kyuubi.session.KyuubiSessionManager.openSession(KyuubiSessionManager.scala:95) ~[kyuubi-server_2.12-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] ... 18 more ``` ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [x] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request Closes #3813 from ychris78/yuqi_1116. Closes #3813 7fbfdff8 [yuqi] update dev/dependencyList and LICENSE-binary f664907d [yuqi] fix bug: Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess Authored-by: yuqi <1450636878@qq.com> Signed-off-by: Cheng Pan --- LICENSE-binary | 1 + dev/dependencyList | 1 + kyuubi-assembly/pom.xml | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/LICENSE-binary b/LICENSE-binary index 03c301011..6e40d4b26 100644 --- a/LICENSE-binary +++ b/LICENSE-binary @@ -229,6 +229,7 @@ io.grpc:grpc-protobuf-lite io.grpc:grpc-protobuf io.grpc:grpc-stub com.google.code.gson:gson +com.google.guava:failureaccess com.google.guava:guava org.apache.hadoop:hadoop-client-api org.apache.hadoop:hadoop-client-runtime diff --git a/dev/dependencyList b/dev/dependencyList index c52c4b5cb..4a92a55a4 100644 --- a/dev/dependencyList +++ b/dev/dependencyList @@ -32,6 +32,7 @@ curator-recipes/2.12.0//curator-recipes-2.12.0.jar derby/10.14.2.0//derby-10.14.2.0.jar error_prone_annotations/2.14.0//error_prone_annotations-2.14.0.jar failsafe/2.4.4//failsafe-2.4.4.jar +failureaccess/1.0.1//failureaccess-1.0.1.jar fliptables/1.0.2//fliptables-1.0.2.jar generex/1.0.2//generex-1.0.2.jar grpc-api/1.48.0//grpc-api-1.48.0.jar diff --git a/kyuubi-assembly/pom.xml b/kyuubi-assembly/pom.xml index 2cd24ec06..011beb43a 100644 --- a/kyuubi-assembly/pom.xml +++ b/kyuubi-assembly/pom.xml @@ -104,7 +104,6 @@ com.google.guava failureaccess - provided