APT_BadAlloc: Heap allocation failed error in parallel job

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
mayurkb
Participant
Posts: 11
Joined: Thu Jan 14, 2016 3:53 pm

APT_BadAlloc: Heap allocation failed error in parallel job

Post by mayurkb »

I'm using lot of xml input stages in a parallel job. Currently I've 4 xml input stages but when I add 5th xmlinput stage, I get following error:
_CombinedOperatorController(1),0: Caught exception from runLocally(): APT_BadAlloc: Heap allocation failed..
APT_CombinedOperatorController(1),0: The runLocally() of the operator failed.
APT_CombinedOperatorController(1),0: Operator terminated abnormally: runLocally() did not return APT_StatusOk

Along with this I've lot of other lookup, scd and target database stages in the same job.
I'm not sure if I'm hitting 32 bit datastage process limit or it is something else?
UCDI
Premium Member
Premium Member
Posts: 383
Joined: Mon Mar 21, 2016 2:00 pm

Post by UCDI »

My C background suggests that this is 1970 speak for "you ran out of memory".

I could be wrong, but that is what the words mean to me.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Yes indeed. And if you disable operator combination, it will tell you what actually threw the error - although it seems like you already know the answer to that.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mayurkb
Participant
Posts: 11
Joined: Thu Jan 14, 2016 3:53 pm

Post by mayurkb »

Thank you.
How do I disable operator combination?
what are my options here?
PaulVL
Premium Member
Premium Member
Posts: 1315
Joined: Fri Dec 17, 2010 4:36 pm

Post by PaulVL »

You google your answer. Or you search the forums here since it's been covered before.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Hard to know what to search for sometimes... but an exact search for "disable combination" or "disable operator combination" turns up some examples. Basically you add APT_DISABLE_COMBINATION to your job parameters and set it to TRUE.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mayurkb
Participant
Posts: 11
Joined: Thu Jan 14, 2016 3:53 pm

Post by mayurkb »

Thank you again. I meant what are my options if I'm running out of memory?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Typically, one would search here for their error message to see how others have dealt with it in the past. So, an exact search for "APT_BadAlloc: Heap allocation failed" would seem to be in order. I'd start by cherry-picking any of the 67 results that are marked as Resolved and if there's no joy there dig deeper into the others.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mayurkb
Participant
Posts: 11
Joined: Thu Jan 14, 2016 3:53 pm

Post by mayurkb »

I was able to fix these errors by reducing the xml column widths and reducing the size on following of job parameters.
$APT_DEFAULT_TRANSPORT_BLOCK_SIZE and $APT_MAX_TRANSPORT_BLOCK_SIZE.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

8)
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply