Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: timonkMark,
The Xref an Join nodes build their lists of cartesian products in memory. The reason for the buffer error is that the size of the cross product in yoru xref exceeds the size of the memory buffer setting. This parameter and setting was added to LAE to prevent users from completely eating up the memory on their system, and to allow them control.
The important detail here isn't the size of the inputs, its the size of the resulting cartesian cross product your xref is producing while matching data. (e.g. if you have 3 records at both inputs, and each is a match for the other, you end up with 9 records at output. That list is built up in memory)
You note a "slightly different match key" in your working Xref. That difference in matching keys is resulting in smaller matched lists in memory, and so the data passes.
You should review how you are matching your data. Do you have a lot of duplicate values for matching? Is your match key too general?
You can increase the buffer parameter and see if you are just slightly larger than the current setting. It is set in the ls_brain_node.prop file in your installation. The "ls.brain.node.join.maxBufferSize".
Regards,
Timon Koufopoulos
MDS Lavastorm Support.