RFR: 7903596: jmh-java-benchmark-archetype generated benchmark fails at runtime - ERROR: Unable to find the resource: /META-INF/BenchmarkList [v2]

Jaikiran Pai jpai at openjdk.org
Tue Oct 8 07:29:31 UTC 2024


> Can I please get a review of this change which proposes to address the issue noted in https://bugs.openjdk.org/browse/CODETOOLS-7903596?
> 
> As noted in that issue, when a benchmark generated using Java 22 is run, at runtime it fails with:
> 
> 
> java -jar target/benchmarks.jar
> Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList
> 	at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98)
> 	at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:124)
> 	at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:252)
> 	at org.openjdk.jmh.runner.Runner.run(Runner.java:208)
> 	at org.openjdk.jmh.Main.main(Main.java:71)
> 
> 
> This is due to annotation processors being disabled by default during compilation starting Java 22. The commit in this PR, explicitly enables the `org.openjdk.jmh.generators.BenchmarkProcessor` annotation processor to allow for it to generate the necessary benchmark resources.
> 
> I've tested this change locally, with Java 8, Java 21 as well as Java 22 and the newly generated benchmark is now functional on all these versions.

Jaikiran Pai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:

 - merge latest from master branch
 - 7903596: jmh-java-benchmark-archetype generated benchmark fails at runtime - ERROR: Unable to find the resource: /META-INF/BenchmarkList

-------------

Changes:
  - all: https://git.openjdk.org/jmh/pull/125/files
  - new: https://git.openjdk.org/jmh/pull/125/files/ac965456..29c7950c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jmh&pr=125&range=01
 - incr: https://webrevs.openjdk.org/?repo=jmh&pr=125&range=00-01

  Stats: 7263 lines in 42 files changed: 7181 ins; 23 del; 59 mod
  Patch: https://git.openjdk.org/jmh/pull/125.diff
  Fetch: git fetch https://git.openjdk.org/jmh.git pull/125/head:pull/125

PR: https://git.openjdk.org/jmh/pull/125


More information about the jmh-dev mailing list