Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Thread Groups - "Same user on each iteration" support for JMeter 5.2 onwards #690

Merged
merged 10 commits into from
Jan 22, 2025

Conversation

3dgiordano
Copy link
Contributor

Custom Thread Groups - "Same user on each iteration" support for JMeter 5.2 onwards

In 2019, support for the concept of "Same user on each iteration" was added to JMeter 5.2.
The "Thread Groups" of the "Custom Thread Groups" plugin need to support this concept.
The proposal to support it is to raise the minimum supported version to JMeter to 5.2 and change the plugin to add the support and change version to 3.0 (because no longer support JMeter prior to 5.2).

Unfortunately, when the functionality was implemented in JMeter 5.2, it was done through a modification in its JMeterThread constructor and a private internal flag, which brings difficulties for its support from the current JMeter 2.13 support (and probably could not be solved by reflection even if it were attempted using that method)

According to the statistics provided by jmeter-plugins, more than 80% of the active JMeter are equal to or higher than JMeter 5.2 (released at the end of 2019, more than 5 years ago).
In case users want to use the plugin in versions prior to JMeter 5.2, they must use the previous version 2.10.

I hope that this PR proposal is welcomed to begin updating the support for new JMeters.

PS: I tried to modify as little as possible to make the review as easy as possible.
I also discovered a bug in jmeter-plugins-emulators regarding how it assigns the properties of where the save services file is located, which caused the ss.props file to not be found in new jmeters. The WA solve that problem.

Copy link
Owner

@undera undera left a comment

Choose a reason for hiding this comment

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

Please address my comments

Copy link
Owner

@undera undera left a comment

Choose a reason for hiding this comment

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

Please remove all the unwanted changes

@3dgiordano
Copy link
Contributor Author

3dgiordano commented Jan 22, 2025

Thanks @undera for all the help

You are very quick at reviewing. I saw all the "Unwanted changes" with the commit of the requested changes.
They have already been resolved and fixed.

The PR is much smaller.

Thank you very much for the suggestions and for allowing the emulator to be updated.

As you may have noticed I uploaded a version of the emulator. I noticed most of the plugins are at 0.2 so it will only be known if it affects or not if they are updated to 0.5.

@undera undera merged commit a71be53 into undera:master Jan 22, 2025
1 check passed
@undera
Copy link
Owner

undera commented Jan 22, 2025

Looks good now, thank you very much
Please lead the next step of updating the plugin descriptor

@3dgiordano
Copy link
Contributor Author

Thanks @undera

I will proceed with the plugin descriptor as soon as the plugin is available.

Thanks.

@undera
Copy link
Owner

undera commented Jan 22, 2025

OOps. I did not see your message when merged.
Ok, not a catastrophe until we release the descriptor

@3dgiordano
Copy link
Contributor Author

@undera Don't worry.
I need to create an Issue and see if I have time to solve that in another PR.
Not is related with the actual PR, and not is good idea to integrate on this.
The issue has been around for a while and no one has reported it, I guess it's not that critical.

As soon as I can, I'll create the update for the descriptors.
I guess we have to wait for the publish to maven to be resolved and for them to be available for approval.

We'll get in sync with the next PR of the plugin release.

Thank you very much.

besessener pushed a commit to besessener/jmeter-plugins that referenced this pull request Feb 18, 2025
…er 5.2 onwards (undera#690)

* Upgrade to JMeter 5.2 and add "Same user on each iteration" support

* Revert name and description change

* Ad Workaround for new JMeters

* Fix ss.prop path on saveservice_properties and upgrade_properties

* Use new jmeter-plugins-emulators 0.5 and remove WA

* Move addNewThread to parent Abstract

* Fix text case

* Set default value for "Same User On Each Iteration"

* Clean code

* Clean code for more "Unwanted changes"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants