0

I am Trying to run My IS08583 Script for Multiple Users using JPOS Plugin. However i could find below Output in the Sampler Result. Can anyone suggest what settings needs to be changed in JPOS for running my Script on Multiple users without this Error. Currently i am running only 2 Threads, in which one thread gives successful Output and Other gives error as mentioned below..

Thread Name: GBM_Transaction Sample Start: 2020-08-24 15:45:13 IST Load time: 1 Connect Time: 0 Latency: 0 Size in bytes: 0 Sent bytes:0 Headers size in bytes: 0 Body size in bytes: 0 Sample Count: 1 Error Count: 1 Data type ("text"|"bin"|""): text Response code: Response message: org.jpos.iso.ISOException: Duplicate key 'jmeter-2d8b3043-send.120000003938777.req' detected

SampleResult fields: ContentType: DataEncoding: null

  • 1
    Hi Abhisnek, I'm no expert in JMeter configuration for iso8583 module, but you just need to be sure to use different keys in each thread, key is usually the DE 11 and DE41, so you need to use different for each message. I believe that can be accomplished by using a counter for DE11, or random values for DE41 and DE 11. – Andrés Alcarraz Aug 24 '20 at 14:20
  • Wher can I add these values in JMeter, I don't find any fields for these Actually.. Is there any Connection Limit on JPOS any idea Sir? – Abhishek Jangra Aug 24 '20 at 14:45
  • 1
    As I said, I don't have much experience about JMeter part, but I believe its page https://github.com/tilln/jmeter-iso8583 has information about how to work with the different fields. In particular the sampler section https://github.com/tilln/jmeter-iso8583#iso8583-sampler – Andrés Alcarraz Aug 24 '20 at 15:05
  • 1
    There you even have an example of setting a random for DE11 in the screen capture – Andrés Alcarraz Aug 24 '20 at 15:07
  • Actually I still didn't understand on where to Edit the Values for Running for Multiple Threads, Also couldn't relate this DE11 Concept.. – Abhishek Jangra Aug 24 '20 at 16:13
  • Is it basically Editing the Fields 11 & 41 in the Tool?? I'll Try this & Update.. Thanks.. – Abhishek Jangra Aug 24 '20 at 16:21

1 Answers1

1

When sending and receiving multiple request and response messages over the same socket connection, jPOS needs to match responses (as they may come in in a different order) to requests. It does that based on keys it generates for each message, e.g. jmeter-2d8b3043-send.120000003938777.req.

The part 120000003938777 is generated (by default) from the fields MTI (1200), DE41 and DE11 (00003 and 938777 presumably).

If your script does not vary those fields e.g. randomly, as suggested, the same key will be generated for multiple messages and you get that error when jPOS detects the duplicate key. Obviously, this makes it impossible to unambiguously match responses to requests.

What you can do is:

  • vary the fields DE41 and/or DE11, or
  • in case your messages do not contain those fields, define different keys in the "ISO8583 Connection Configuration" under "Mux Key Configuration" and vary those.

The JMeter functions ${__time()} and ${__RandomString()} are quite useful for that.

Refer also https://github.com/jpos/jPOS/blob/master/doc/src/asciidoc/ch08/qmux.adoc#mti-mapping-and-default-key.

Disclaimer: I am the author of the JMeter ISO8583 plugin.

tilln
  • 66
  • 5