Skip to content

Conversation

@judovana
Copy link

@judovana judovana commented Jan 5, 2025

Initial PoC

It currently show how to set up argument, and how the framework will be terminated. Feedback welcomed. Should be finished soon


Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed (1 review required, with at least 1 Committer)

Issue

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jcstress.git pull/157/head:pull/157
$ git checkout pull/157

Update a local copy of the PR:
$ git checkout pull/157
$ git pull https://git.openjdk.org/jcstress.git pull/157/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 157

View PR using the GUI difftool:
$ git pr show -t 157

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jcstress/pull/157.diff

Using Webrev

Link to Webrev Comment

@judovana judovana marked this pull request as draft January 5, 2025 15:19
@bridgekeeper
Copy link

bridgekeeper bot commented Jan 5, 2025

👋 Welcome back jvanek! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Jan 5, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@judovana judovana marked this pull request as ready for review January 7, 2025 14:43
@judovana
Copy link
Author

judovana commented Jan 7, 2025

The PR is now moreover done. I will run it through even ore testing through.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jan 7, 2025
@mlbridge
Copy link

mlbridge bot commented Jan 7, 2025

Webrevs

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 3, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

judovana commented Mar 3, 2025

More are on the way!

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 31, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

judovana commented Apr 1, 2025

I still have faith!

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 29, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

loosing faith

@judovana
Copy link
Author

../live..

Copy link
Member

@shipilev shipilev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am open for all-or-nothing -foe (fail-on-error) option like JMH has it. There is no point, IMO, in trying to introduce a whole lot of complexity that would track and deal with a particular failure rate.

@judovana
Copy link
Author

judovana commented Jun 6, 2025

Thanx! Will update..

@judovana
Copy link
Author

judovana commented Jun 6, 2025

Although I understand that your main point is to get rid of complexity, but just one thought jcstress and jmh are not comparable suites. - -foe would be serving as shortcut to FAIL_FAST_VARIANTS set to 1, but the way the jcstress works, that the issue may be occurring "just sometimes" moreover enforces some higher tolerance then just " fail on first error". Wdyt?

@judovana
Copy link
Author

judovana commented Jun 6, 2025

Also note that most of the complexity will stay, for the sake of report generation at the end.

@judovana
Copy link
Author

judovana commented Jun 9, 2025

One more call before redoing it - I really think the ratio will be heavily missed in future QA runs. jcstress is not jmh. When jmh fails, it is usually deterministic and stable. With jcstress it is not the case. You want to have failures. The reason for this is to not waste cycles on machines, where it would lead to hundred, or even hundred of thousands ..well all tests failures. We have it on some 10% so we usually have all results, including failures, but if we get borked hw or jvm, it will fail in hour, and not in two days. Similarly, if the VM is broken jsut a bit, there are again full results, with all failures. That give us excelnt compromise. Simple fail on error will heavily downgrade the usability and usage of jcstress:(

As i suggested - I can introduce -foe, which will default to --failFAST=1, or I can make the number optional, and it will default eg to those moreover verified 10%. I can remove the %%, as it as proved itself, but at the end was not used by us.

Similarly I can remove the double failFAST/failFast. The failFast have advantage that you always have a set finished, but is missing fine-tuning which failFAST have. We are using failFast.

wdyt?

@judovana judovana changed the title 7903754: jcstress should die asap - with report - on broken jvm/hw, instead of waiting on kill 7903754: jcstress: Implement fail-on-error run option Jun 13, 2025
@judovana
Copy link
Author

Hi! Simplifed as you wished, and as led from my usage in last half a year. So removed everything confusing, kept just one simple -foe which defautls to die after first error. However I kept in the property, which allows user to set custom treshold, both relative or absolute. Please, allow this to exists. I had it set everywhere in our infra, and it helps a lot to distinguish completely borked machine, from just a bit broken jdk.

@openjdk
Copy link

openjdk bot commented Jun 13, 2025

@judovana Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

judovana added 5 commits June 23, 2025 10:18
Both existing swithces with parameter changed to simngle -foe swithc,
whcih do not have any parameter, and if used , jcstress ends as soon as
possible after first error.

Dropped the %% relative metric. Was good, but was never deployed afaik.
Simplifed test counting, now only tests are counted (no longer group)
Kept possibility to forbid exiting in the middle of group via property

Kept posibility to set limit both  for absolute and relative treshold,
so user can still wait for more errors to appear before it is canceled.
It do not fill its purpose in real life
@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@judovana Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@bridgekeeper
Copy link

bridgekeeper bot commented Jul 16, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

faith restored

@bridgekeeper
Copy link

bridgekeeper bot commented Aug 13, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

Is there hope?

@bridgekeeper
Copy link

bridgekeeper bot commented Sep 12, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

Loosing the faith...

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 10, 2025

@judovana This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@judovana
Copy link
Author

Loosing the faith...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rfr Pull request is ready for review

Development

Successfully merging this pull request may close these issues.

2 participants