JDK-8318098 : Update jfr tests with corresponding requires flags
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: jfr
  • Affected Version: 22
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2023-10-13
  • Updated: 2024-11-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 24
24Unresolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
A lot of jfr tests are very specific. Currently they are marked with jfr keyword and excluded when VM flags are set.

It makes sense to mark them with @requires <something> to exclude incompatible cases only.
The vm.flagless could be used to mark tests which doesn't accept any additional vm flags.
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/22249 Date: 2024-11-19 16:52:17 +0000
19-11-2024

There more features coming that should be executed with jfr. There are only few tests that needed to be updated to make jfr test consistent with all other tests and use requires instead of keyword.
21-09-2024

The graal is the first, step, however, the goal is to make the same for Lilliput flags and for Generational ZGC.
09-11-2023

It should help to verify that all JFR functionality works as expected when we use different Compilers, like C1/C2 or Graal or any feature with JFR enabled. Also, currently, anyone going to run tests with additional vm flags should know that tests with jfr keyword should be excluded which is not convenient. There is a special property "requires" for that. Including "@requires vm.flagless" for tests should be used for tests that do not allow any external flags. Adding such requires tags (instead of keyword jfr) allows to simplify task definitions and just doesn't allow anyone to run incompatible combinations.
17-10-2023

I'm not sure how it would improve the stability of the product. We will spend time updating the current 600 tests and then maintaining the flags, including triaging all false positives. Time that could be used to improve API test coverage, stress testing in KS or other activities that are likely to find real issues.
16-10-2023