Closed chhil closed 2 years ago
Hi @chhil Thanks for reporting this. I have noticed this issue before but not managed to get to the bottom of it yet. Also, concurrency is hard :)
It appears that something is modifying the fields of the message while it is being dump
ed.
At first I thought that MessagePrinter
is not thread-safe but there is no shared state.
The jPOS Mux and Channel do modify messages but they don't change fields, just direction, header, and packager, so I'm at a loss where this would actually happen.
I'll see when I can find some time to dig into this. If this is impacting your testing and you need an urgent fix, I'm happy to just either turn off the printing via a config switch or just swallow the exception as it only impacts the message rendering for the JMeter output/report but not the load generation.
It's not impacting my testing and its only happened once. I will reach out to jpos and see if its something that can be resolved there. Feel free to keep this open or close this issue.
It might be a side effect, that the MessageBuilder
shares state and you are using it as thread safe, which it is not (in my opinion).
I think you might get a reference to a ISOMsg, that is being built for another thread and that might get modified, while you are printing your message.
Hm, but than again, you don't share the builder to other instances of the sampler. That should be safe.
Thanks, @FSchumacher.
You are right: MessageBuilder
is not thread-safe but should not have to be as there is nothing shared.
I have managed to narrow it down a little and then found a work-around (see #51) that seems to work.
Jmeter jmx zip is attached. If there is any additional info I can provide , please let me know. Visa_MC_Test Plan.zip