This is an automated email from the ASF dual-hosted git repository.

dongjoon pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/orc.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 3eb258661 ORC-1586: Fix IllegalAccessError when SparkBenchmark runs on 
JDK17
3eb258661 is described below

commit 3eb2586614fe723d37f69ca76cb052962f6b6a12
Author: sychen <[email protected]>
AuthorDate: Tue Jan 16 08:03:56 2024 -0800

    ORC-1586: Fix IllegalAccessError when SparkBenchmark runs on JDK17
    
    ### What changes were proposed in this pull request?
    Add java options `--add-opens=java.base/sun.nio.ch=ALL-UNNAMED`
    
    ### Why are the changes needed?
    
    ```java
    java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ 
(in unnamed module 0x5b2c883c) cannot access class sun.nio.ch.DirectBuffer (in 
module java.base) because module java.base does not export sun.nio.ch to 
unnamed module 0x5b2c883c
            at 
org.apache.spark.storage.StorageUtils$.<init>(StorageUtils.scala:213)
            at 
org.apache.spark.storage.StorageUtils$.<clinit>(StorageUtils.scala)
            at 
org.apache.spark.storage.BlockManagerMasterEndpoint.<init>(BlockManagerMasterEndpoint.scala:121)
            at org.apache.spark.SparkEnv$.$anonfun$create$9(SparkEnv.scala:358)
            at 
org.apache.spark.SparkEnv$.registerOrLookupEndpoint$1(SparkEnv.scala:295)
            at org.apache.spark.SparkEnv$.create(SparkEnv.scala:344)
            at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:196)
            at 
org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:284)
            at org.apache.spark.SparkContext.<init>(SparkContext.scala:483)
            at 
org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2888)
            at 
org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:1099)
            at scala.Option.getOrElse(Option.scala:189)
            at 
org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:1093)
            at 
org.apache.orc.bench.spark.SparkBenchmark$InputSource.setup(SparkBenchmark.java:129)
            at 
org.apache.orc.bench.spark.jmh_generated.SparkBenchmark_fullRead_jmhTest._jmh_tryInit_f_inputsource1_1(SparkBenchmark_fullRead_jmhTest.java:403)
    ```
    
    ### How was this patch tested?
    local test
    
    ### Was this patch authored or co-authored using generative AI tooling?
    No
    
    Closes #1748 from cxzl25/ORC-1586.
    
    Authored-by: sychen <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
    (cherry picked from commit 5097fac05a68a3602fb9867b067ec50211e0691b)
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .../bench/spark/src/java/org/apache/orc/bench/spark/SparkBenchmark.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/java/bench/spark/src/java/org/apache/orc/bench/spark/SparkBenchmark.java 
b/java/bench/spark/src/java/org/apache/orc/bench/spark/SparkBenchmark.java
index 360c4de92..1285875dc 100644
--- a/java/bench/spark/src/java/org/apache/orc/bench/spark/SparkBenchmark.java
+++ b/java/bench/spark/src/java/org/apache/orc/bench/spark/SparkBenchmark.java
@@ -46,6 +46,7 @@ import org.apache.spark.sql.types.StructType;
 import org.apache.spark.sql.vectorized.ColumnarBatch;
 import org.openjdk.jmh.annotations.Benchmark;
 import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.Fork;
 import org.openjdk.jmh.annotations.Level;
 import org.openjdk.jmh.annotations.Mode;
 import org.openjdk.jmh.annotations.OutputTimeUnit;
@@ -73,6 +74,7 @@ import java.util.concurrent.TimeUnit;
 @BenchmarkMode(Mode.AverageTime)
 @OutputTimeUnit(TimeUnit.MICROSECONDS)
 @AutoService(OrcBenchmark.class)
+@Fork(jvmArgsAppend = "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED")
 public class SparkBenchmark implements OrcBenchmark {
 
   private static final Path root = Utilities.getBenchmarkRoot();

Reply via email to