Cannot save scripts anymore: Transpilation memory limit exceeded
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-10-2023 12:16 AM
Hi All,
I am not any longer able to save any scripts in my PDI (since three days). It doesn't matter if it is a UI Policy, Client Script, Business Rule etc.
I always get the error message: "Could not save record because of a compile error: Transpilation memory limit exceeded. Aborted at: 34652.83K, Limit: 32768K Attempt re-running script or reducing script size."
It occured the first time has I copied a - I guess too - long script into the scripting editor.
I already refreshed my PDI. But the message stays.
Does someone have an idea what the problem is or how I could fix it?
Thanks,
Regards,
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2023 02:23 AM
Hi, I'm currently implementing a custom application for customer and we are seeing this problem happen all the time on their dev instance - started about 2 weeks ago. We believe it is causing quite a bit of instability in the instance - for example business rules are only firing intermittently.
The instance is Utah patch 2
As a partner we can't get access to this support article. I've asked the customer to raise a ticket and try see what this article says, no response as yet
But this is really impacting on the project - so if there's anything than can be shared as to what the issue is or when it will be fixed that would useful.
Regards
Richard Aitchison
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2023 03:37 AM
Hello Richard,
In our case, the issue appeared intermittently and I didn't encounter the problem since upgrading to glide-utah-12-21-2022__patch2-03-30-2023
But here is what the support agent suggested:
Please find the below details.:
1. The global transpilation memory threshold is controlled by the 'com.glide.script.swc.global_memory_threshold_in_kb' property. This threshold determines the maximum amount of memory that can be used by all transpilation processes running in the instance at a given time. The default value of this property is 32768 KB (32 MB).
We have known problem PRB1641324 makes it appear as if there is a memory leak, but it is not an actual memory leak, only the global usage "counter" is stuck each time the local (transaction level) limit is reached. The actual memory is being freed. But, once the counter reaches the global limit, you get the error anyway, even when trying to save small scripts.
2. The transaction level threshold is controlled by the 'com.glide.script.swc.memory_threshold_in_kb' property. This threshold specifies the maximum script size that can be transpiled in a single transaction. The default value of this property is 16384 KB (16 MB). When a script exceeds this limit, the transpilation process fails, and the "Transpilation Memory Exceeded" error is thrown. Reducing the script size below the set threshold will allow the script to run without failure.
Considering the above, you may only increase the global one and be wary of not saving large scripts ( larger than 16MB) to avoid hitting the local limit or simply increase both.
For a temporary workaround, and only until we can get a proper fix for PRB1641324, I would suggest increasing both:
com.glide.script.swc.memory_threshold_in_kb = 32768
com.glide.script.swc.global_memory_threshold_in_kb = 131072
Hope it helps,
Peace.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2023 03:51 AM
Many thanks and really useful.
I've just checked the sys_properties on the instance and neither of those properties exist. So is it just a case of creating them to override the default values?
We are currently running glide-utah-12-21-2022__patch2-03-30-2023