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

[BUG] Mirth 4.5.0 - Transformer steps are overwriten (code is lost and overwritten by other step's code) when moved around #6281

Open
ppazos opened this issue Aug 16, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@ppazos
Copy link

ppazos commented Aug 16, 2024

Describe the bug

I have a source transformer with about 20 steps. I have mappers, JS, message builders and iterators, all mixed.

If I add a new step, move up or down another step and then save, some steps lose their original code and it's overwritten with other steps code. This is a major issue and it happens a couple of times now in production, and losing code is not cool.

IMO something in the save process is mixing the orders of the steps and not updating the code correctly.

To Reproduce

I don't have an exact way of reproducing, it just happen a couple of times, and it's when editing the transformer steps when some steps are moved up or down.

Expected behavior

It should save each step's code without overwriting other steps.

Actual behavior

Some steps are overwritten with other step's code.

Screenshots

I'll try to create a video locally, I can't share this because it's code for a client.

Environment (please complete the following information):

  • Linux Ubuntu
  • OpenJDK 11
  • Connect Version 4.5.0

Workaround(s)

None, I need to redo my code.

@ppazos ppazos added the bug Something isn't working label Aug 16, 2024
@jonbartels
Copy link
Contributor

Pablo and I talked in Slack. Notes:

When you try to reproduce this, can you please make sure to use “show Java Console” YES in the launcher and capture the console output please? - Pablo will capture this

Did you rule out things like other users modifying the same channel at the same time? - Pablo was the only user

What I’m guessing is that Mirth edits and manages things in memory in the admin client. It only talks to the server when you save (not exactly but close). So if the client UI and the in-memory data gets corrupted then the save is corrupted.

@ppazos
Copy link
Author

ppazos commented Oct 28, 2024

Last week I got another issue in prod: the iterator variables emptied by themselves, and, in this case, without even moving transformer steps up or down, I we just updating one step then on save the administrator complained about the transformer not being valid, double checking all the steps, an iterator step was emptied and I needed to restore the values from a backup (luckily I had a backup). So there is something going on with the transformers in Mirth 4.5.0 when there are many of them (I might have 25 steps in the source connector).

@sardus1970
Copy link

sardus1970 commented Jan 8, 2025

Similar issues here on Mirth 4.5.0, running under JDK 17 on Ubuntu 24.04 LTS.

The following are effects that we have been experiencing since the Mirth 4.5.0 update :

  • Transformers 'disappear' after saving a channel
  • Filters re-appear after having been removed from a channel
  • After saving and re-deploying a channel, the channel stops working as intended. It later turns out that the entire code in the Javascript Source Connector was overwritten with code from a different, unrelated channel !

Like jonbartels in the post above, we suspect corruptions of in-memory data-structures of the Mirth Admin Client.

These effets only appear occasionally, and we only notice them after the fact.
We have not yet been able to reproduce them !

@pacmano1
Copy link
Collaborator

pacmano1 commented Jan 8, 2025

@sardus1970 what OS are you using for the mirth admin tool?

@sardus1970
Copy link

@sardus1970 what OS are you using for the mirth admin tool?

The Mirth admin tool runs under "Windows 10 Enterprise LTSC" running in a virtual machine that is accessed from the "VMWare Horizon client" on a Mac.

I would prefer running it on the Mac ...but the Mirth client is hopelessly unstable there regardless of the JDK version, the Mac OS version, and the amount of memory you shove at it!

By the way, there seems to be a correlation between the amount of memory that you allocate to the Mirth Admin client (on Windows), and the frequency of the above issues:

Users that had 'only' allocated 1 or 2GB to their Mirth Admin client had those issues, while I've not yet (!) experienced these issues on a Mirth Admin client configured with 4GB ('Max Heap size' in the Mirth Connect Administrator Launcher)
Also note that these are systems with a lot of channels (around 400)

@ppazos
Copy link
Author

ppazos commented Jan 8, 2025

In my case the admin is used natively on Linux Mint (based on Ubuntu).

BTW I always use the admin with 512MB of heap. I don't have as many channels as @sardus1970 I might have 30 in this particular integration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants