Got a production PX job aborting with the following fatal error:
Code: Select all
luKeys,0: Could not map table file "/etl1/tmp/FEP/lookuptable.20091024.tdjcnic (size 3506947648 bytes)": Invalid argument
Error finalizing / saving table /tmp/dynLUT224456d0339b9* What exactly is the relationship between the 'lookuptable' file that the config file puts into scratch space and the 'dynLUT' dynamic lookup table file that seems to be created in "/tmp" no matter what?
* Does it write first to /tmp and then in the 'finalize' step move it to scratch? Or is some information written to scratch and some to /tmp with the two files mapped/linked somehow?
* Do we have any control over it's use of /tmp, can that be redirected somehow? I know of the UVTEMP setting, but pretty sure that's strictly Server related and not something PX uses... or does it?
This large volume worked in dev but /tmp has 16GB there, on production it is a mere 1GB for some reason and the message makes it look like it is needing over 3GB. And yes, this is the first time that PX is processing a volume of this nature in production. They are looking to see if it can be increased but I'd like some warm fuzzies that it will actually fix the problem. Anyone?
And yes, I've seen all the advice re: join v. lookup but the design is already in production and signed off on in QA, so really looking for options to get the existing design working over there.

</a>