VRTComplexSource: fix excessive RAM usage with many sources (fixes #8967, 3.8.0 regression) #8969
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(fixes #8967, 3.8.0 regression)
m_abyWrkBuffer and m_abyWrkBufferMask were mistakenly put at the VRTComplexSource level, missing that there can be a big number of sources whose lifetime is the same as the VRT dataset, and thus it is inappropriate to have long-lived working buffers at that level. We can actually use one single instance of them for all sources, so move that at the dataset level.