[ https://issues.apache.org/jira/browse/FLINK-33161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17773076#comment-17773076 ]
Yanfei Lei commented on FLINK-33161: ------------------------------------ Merged via 60e3522d3920391ae75234b67af7d3c774f4c7b3 > [benchmark] Java17 profile for benchmarks > ----------------------------------------- > > Key: FLINK-33161 > URL: https://issues.apache.org/jira/browse/FLINK-33161 > Project: Flink > Issue Type: Improvement > Components: Benchmarks > Reporter: Zakelly Lan > Assignee: Zakelly Lan > Priority: Major > Labels: pull-request-available > Fix For: 1.18.1 > > > Flink has supported java 17, however, the benchmark does not support running > with java 17 out of the box. The runner complains: > {code:java} > Caused by: java.lang.RuntimeException: > java.lang.reflect.InaccessibleObjectException: Unable to make field private > final java.lang.Object[] java.util.Arrays$ArrayList.a accessible: module > java.base does not "opens java.util" to unnamed module @14899482 > 01:39:16 at > com.twitter.chill.java.ArraysAsListSerializer.<init>(ArraysAsListSerializer.java:69) > 01:39:16 at > org.apache.flink.api.java.typeutils.runtime.kryo.FlinkChillPackageRegistrar.registerSerializers(FlinkChillPackageRegistrar.java:67) > 01:39:16 at > org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.getKryoInstance(KryoSerializer.java:513) > 01:39:16 at > org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.checkKryoInitialized(KryoSerializer.java:522) > 01:39:16 at > org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.serialize(KryoSerializer.java:348) > 01:39:16 at > org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.serialize(StreamElementSerializer.java:165) > 01:39:16 at > org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.serialize(StreamElementSerializer.java:43) > 01:39:16 at > org.apache.flink.runtime.plugable.SerializationDelegate.write(SerializationDelegate.java:54) > 01:39:16 at > org.apache.flink.runtime.io.network.api.writer.RecordWriter.serializeRecord(RecordWriter.java:151) > 01:39:16 at > org.apache.flink.runtime.io.network.api.writer.RecordWriter.emit(RecordWriter.java:107) > 01:39:16 at > org.apache.flink.runtime.io.network.api.writer.ChannelSelectorRecordWriter.emit(ChannelSelectorRecordWriter.java:55) > 01:39:16 at > org.apache.flink.streaming.runtime.io.RecordWriterOutput.pushToRecordWriter(RecordWriterOutput.java:134) > 01:39:16 at > org.apache.flink.streaming.runtime.io.RecordWriterOutput.collectAndCheckIfChained(RecordWriterOutput.java:114) > 01:39:16 at > org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:95) > 01:39:16 at > org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:48) > 01:39:16 at > org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:59) > 01:39:16 at > org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:31) > 01:39:16 at > org.apache.flink.streaming.api.operators.StreamSourceContexts$ManualWatermarkContext.processAndCollect(StreamSourceContexts.java:425) > 01:39:16 at > org.apache.flink.streaming.api.operators.StreamSourceContexts$WatermarkContext.collect(StreamSourceContexts.java:520) > 01:39:16 at > org.apache.flink.streaming.api.operators.StreamSourceContexts$SwitchingOnClose.collect(StreamSourceContexts.java:110) > 01:39:16 at > org.apache.flink.benchmark.ContinuousFileReaderOperatorBenchmark$MockSourceFunction.run(ContinuousFileReaderOperatorBenchmark.java:101) > 01:39:16 at > org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:114) > 01:39:16 at > org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:71) > 01:39:16 at > org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:338) > 01:39:16 Caused by: java.lang.reflect.InaccessibleObjectException: Unable to > make field private final java.lang.Object[] java.util.Arrays$ArrayList.a > accessible: module java.base does not "opens java.util" to unnamed module > @14899482 > 01:39:16 at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > 01:39:16 at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > 01:39:16 at > java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) > 01:39:16 at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) > 01:39:16 at > com.twitter.chill.java.ArraysAsListSerializer.<init>(ArraysAsListSerializer.java:67) > 01:39:16 ... 23 more > {code} > To resolve this, we should add a target profile for java 17 in pom.xml of > benchmark project and provide some cli arg like "--add-opens > java.base/java.util=ALL-UNNAMED" for the execution. -- This message was sent by Atlassian Jira (v8.20.10#820010)