nextgenhealthcare / connect

The swiss army knife of healthcare integration.
Other
868 stars 265 forks source link

[BUG] ConcurrentModificationException when using JS Writer #6123

Open york-p01033 opened 3 months ago

york-p01033 commented 3 months ago

Describe the bug While using JS writer with 75 Threads getting the following error:

java.util.ConcurrentModificationException at java.base/java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.base/java.util.HashMap$EntryIterator.next(Unknown Source) at java.base/java.util.HashMap$EntryIterator.next(Unknown Source) at java.base/java.util.HashMap.putMapEntries(Unknown Source) at java.base/java.util.HashMap.putAll(Unknown Source) at com.mirth.connect.donkey.model.message.Message.getMergedConnectorMessage(Message.java:156) at com.mirth.connect.donkey.server.channel.Channel.finishMessage(Channel.java:1995) at com.mirth.connect.donkey.server.channel.Channel.process(Channel.java:1871) at com.mirth.connect.donkey.server.channel.Channel.processSourceQueue(Channel.java:1952) at com.mirth.connect.donkey.server.channel.Channel.run(Channel.java:1938) at java.base/java.lang.Thread.run(Unknown Source)

Steps to reproduce the behavior: Error was constantly happening, but not on every message. This was done by processing a large amount of messages over a few days time.

Expected behavior This has not hindered performance or messages in any way, but wanted to report the issue so it could be corrected. Only seeing the error in the server log while messages are processing.

Environment (please complete the following information):

Workaround(s) N/A

Additional context Seems to be happening in donkey/src/main/java/com/mirth/connect/donkey/model/message/Message.java getMergedConnectorMessage()

Similar Issue to: https://github.com/nextgenhealthcare/connect/issues/243

jonbartels commented 3 months ago

What is the code that your JS Writer is executing in the filters, transformer, response and the JS Writer itself?

What logs do you get from mirth.log from the server?

Show your queue and threading settings please.

243 is similar in that it is a concurrent modification exception but that goes back to 2006 and is DB related. Mirth today is radically different than it was in '06.

I suggest moving this to a Discussion to determine the problem, then recreate an issue if the root cause is a Mirth bug and not a channel code issue.