Code Monkey home page Code Monkey logo

Comments (8)

tilln avatar tilln commented on June 16, 2024 1

This appears to be caused by #5788 in version 5.6
Setting the property function.cache.per.iteration=true reverts to the old behaviour.

from jmeter.

vlsi avatar vlsi commented on June 16, 2024 1

seems random function generate multiple value when access more than once!

That seems about right for a random function, doesn't it?

from jmeter.

mehrdad2000 avatar mehrdad2000 commented on June 16, 2024

@vlsi in this case we need to use that variable for generate mac.
So I turn cache on as @tilln mentioned.

from jmeter.

vlsi avatar vlsi commented on June 16, 2024

I would say function.cache.per.iteration is a wrong approach to handle things. At the same time I don't understand the problem you have.

from jmeter.

mehrdad2000 avatar mehrdad2000 commented on June 16, 2024

@vlsi the main problem is generate random number and use that number to generate Mac.
Finally put the generated mac into the message field and send.

from jmeter.

vlsi avatar vlsi commented on June 16, 2024

Could you share a reproducer script, expected and the actual output?

from jmeter.

tilln avatar tilln commented on June 16, 2024

Here is a script: jmeter-regression-v5.6.jmx.txt
image

Expected would be that the SampleResult's label and URL match as they do with the caching.

JTL output from v5.5

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1713123663745,963,GET https://www.google.com/search?q=AECC,200,OK,Thread Group 1-1,text,true,,115147,130,1,1,https://www.google.com/search?q=AECC,658,0,457

vs. 5.6.3

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1713123690243,961,GET https://www.google.com/search?q=EEDB,200,OK,Thread Group 1-1,text,true,,90089,130,1,1,https://www.google.com/search?q=EABD,711,0,493

This might be an unintended consequence of the caching removal, but I think this is not unreasonable to expect that the sampler properties are evaluated once.
I have written a lot of scripts with random functions or other, non-idempotent functions in sampler payloads in conjunction with some sort of access to sampler properties (via Preprocessors or plugins such as the one the author is using), that break after upgrading to v5.6.

from jmeter.

tilln avatar tilln commented on June 16, 2024

At the same time I don't understand the problem you have.

The problem the author has is that the Random function is evaluated once when accessing the sampler payload for generating the MAC (in his JSR223 Preprocessor or likewise in a plugin's preprocessor) and then again when the sampler samples, resulting in a MAC mismatch.

from jmeter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.