Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CELEBORN-898][INFRA] Fix java.lang.NoClassDefFoundError: org/hamcres…
…t/SelfDescribing for SBT CI ### What changes were proposed in this pull request? As title ### Why are the changes needed? Recently, I came across an issue in the SBT CI process that can result in failure due to the `NoClassDefFoundError` exception. ``` [error] Uncaught exception when running org.apache.celeborn.common.unsafe.PlatformUtilSuite: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing [error] sbt.ForkMain$ForkError: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing [error] at java.lang.ClassLoader.defineClass1(Native Method) [error] at java.lang.ClassLoader.defineClass(ClassLoader.java:757) [error] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [error] at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) [error] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) [error] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) [error] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) [error] at java.security.AccessController.doPrivileged(Native Method) [error] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) [error] at java.lang.ClassLoader.loadClass(ClassLoader.java:419) [error] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) [error] at java.lang.ClassLoader.loadClass(ClassLoader.java:352) [error] at org.junit.runner.Computer.getSuite(Computer.java:28) [error] at org.junit.runner.Request.classes(Request.java:77) [error] at org.junit.runner.Request.classes(Request.java:92) [error] at com.novocode.junit.JUnitTask.execute(JUnitTask.java:52) [error] at sbt.ForkMain$Run.lambda$runTest$1(ForkMain.java:414) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:750) [error] Caused by: sbt.ForkMain$ForkError: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing [error] at java.net.URLClassLoader.findClass(URLClassLoader.java:387) [error] at java.lang.ClassLoader.loadClass(ClassLoader.java:419) [error] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) [error] at java.lang.ClassLoader.loadClass(ClassLoader.java:352) [error] at java.lang.ClassLoader.defineClass1(Native Method) [error] at java.lang.ClassLoader.defineClass(ClassLoader.java:757) [error] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [error] at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) [error] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) [error] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) [error] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) [error] at java.security.AccessController.doPrivileged(Native Method) [error] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ``` Upon further investigation, I found that the root cause is SBT's sometimes inability to resolve Maven dependencies cached within GA. ```shell ./build/sbt "show celeborn-common/update" ``` ``` [info] org.hamcrest:hamcrest-core:1.3:default: (MISSING) Artifact(hamcrest-core, jar, jar, None, Vector(), Some(file:/home/runner/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar), Map(), None, false) ``` This PR addresses the random issue by disabling the Maven cache for SBT CI. ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? Pass GA apache/celeborn#1797 pass GA after disabled maven cache. Closes #1818 from cfmcgrady/sbt-ci. Authored-by: Fu Chen <[email protected]> Signed-off-by: Fu Chen <[email protected]>
- Loading branch information