Loop step dropping variables


This question is regaring the issue I now face in looping after couple years of perfect running code.

I have a loop step in my payroll processing step. Each payroll can contain upto 5000 transactions in it.
In the loop I map three variables to a document type and mention the variable name in the Output array property of the loop.
The loop works fine and gives me the required document array as the output.

But when the payrolls is submitted in parallel say 5 of them (ie 5 x 5000 trans) then the output array drops the mappings at times. What I mean is instead of three variables for every output I might find two or one varibles for some transactions. It does it for only two or three transactions out of the whole 5000 which makes it difficult to track till it reaches the client.

The client finds it unaccepatble and I noticed after stressing the system that it only happens when the load is increased.

Anybody any idea for me to fine tune the system or how to avoid this issue.

(I am not sure if I should have posted this in flows forum but since there is nothing wrong with the code I thought it might suit more in IS admin)

OS Platform: HP PA_RISC2.0W
OS Version: B.11.11
Processor: 4
RAM: 3 G
webMethods: 6.5

Thank you for your time and action


Are there any errors/warnings in the server or error logs complaining about lack of memory?

Is there a specific reason why min and max mem are not the same? Normally in a production environment where IS is the primary process on the box it is useful to set the min and max to the same.

NO the is no errors or warnings. There is no specific reason for giving the same setting for the min and max memory. Since oracle too was running on it thought not to allocate memory that it might need it all the time.

Afaik reamon is correct, you should set MIN/MAX to same value in a correct PROD environment.

Why? Because you need to make sure your IS can allocate system resources when needed. If resources are not present, you might get unwanted/uncontroled OOM as JVM thinks it can allocate more mem while it can’t.

As per the looping problem it selves, this is complex to analyze and time consuming. Also detailed information is needed, however if it was running correctly for years and now is failing, this is allways the first question:

What has changed in the environment?

Maybe the answer is as simple as “workload” that now is higher and the producing this, but also might be related to installing fixes.

For this kind of complex cases I would recommend contacting support.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.