-
Type:
Bug
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: Thor
-
Labels:None
-
Pull Request URL:
-
Compatibility:Point
A balanced splitter uses a [configurable] small memory buffer to hold rows.
It blocks when this limit is read until other arms have caught up.
To know when it has read ahead enough, it uses a rowSize method, but unfortunately this was based on the size returned from the generated output meta, and not the actual potential footprint.
This is particularly significant when child datasets are involved, where the actual memory footprint is variable and quite likely much bigger than the nominal size of the parent record.
Elsewhere in similar situations a size serializer is used to get the actual size.
Balanced splitter should do the same.