Skip to content

Commit fe3c5a0

Browse files
authored
Enable optimized Netty direct bytebuffer reflection access (openmessaging#412)
1 parent c361cbc commit fe3c5a0

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

bin/benchmark

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ fi
2727
JVM_MEM="${HEAP_OPTS} -XX:+UseG1GC"
2828
JVM_GC_LOG=" -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=64m -Xloggc:/dev/shm/benchmark-client-gc_%p.log"
2929

30-
java -server -cp $CLASSPATH $JVM_MEM io.openmessaging.benchmark.Benchmark $*
30+
java -server -cp $CLASSPATH $JVM_MEM io.openmessaging.benchmark.Benchmark "$@"

bin/benchmark-worker

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,12 @@ fi
2626

2727
JVM_MEM="${HEAP_OPTS} -XX:+UseG1GC"
2828
JVM_GC_LOG=" -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=64m -Xloggc:/dev/shm/benchmark-client-gc_%p.log"
29-
30-
exec java -server -cp $CLASSPATH $JVM_MEM io.openmessaging.benchmark.worker.BenchmarkWorker $*
29+
# Required by Netty for optimized direct byte buffer access
30+
JVM_OPTS="$JVM_OPTS -Dio.netty.tryReflectionSetAccessible=true"
31+
JVM_OPTS="$JVM_OPTS --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED"
32+
# Set io.netty.tryReflectionSetAccessible in Pulsar's shaded client
33+
JVM_OPTS="$JVM_OPTS -Dorg.apache.pulsar.shade.io.netty.tryReflectionSetAccessible=true"
34+
# Required by Pulsar client optimized checksum calculation on other than Linux x86_64 platforms
35+
# reflection access to java.util.zip.CRC32C
36+
JVM_OPTS="$JVM_OPTS --add-opens java.base/java.util.zip=ALL-UNNAMED"
37+
exec java -server -cp $CLASSPATH $JVM_MEM $JVM_OPTS io.openmessaging.benchmark.worker.BenchmarkWorker "$@"

pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,13 @@
352352
<version>${maven.surefire.plugin.version}</version>
353353
<configuration>
354354
<!-- Required by system-lambda test dependency -->
355-
<argLine>--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED</argLine>
355+
<!-- Required by Netty for optimized direct byte buffer access -->
356+
<!-- Required by Pulsar client for optimized direct byte buffer access and optimized checksum calculation -->
357+
<argLine>--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED
358+
-Dio.netty.tryReflectionSetAccessible=true
359+
--add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED
360+
-Dorg.apache.pulsar.shade.io.netty.tryReflectionSetAccessible=true
361+
--add-opens java.base/java.util.zip=ALL-UNNAMED</argLine>
356362
</configuration>
357363
</plugin>
358364
<plugin>

0 commit comments

Comments
 (0)