Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.8 fix] VRTComplexSource: fix excessive RAM usage with many sources (fixes #8967, 3.8.0 regression) #8970

Merged
merged 1 commit into from
Dec 16, 2023

Conversation

rouault
Copy link
Member

@rouault rouault commented Dec 16, 2023

(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.

In master, this is changed to actually use one single instance of them for all sources, placed at the dataset level. In that branch, we can't do that as it would break ABI. So instead clear them after their immediate use (like was done in GDAL < 3.8)

Master fix in #8969

…Geo#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.

In master, this is changed to actually use one single instance of
them for all sources, placed at the dataset level. In that branch,
we can't do that as it would break ABI. So instead clear them after
their immediate use (like was done in GDAL < 3.8)
@rouault rouault added this to the 3.8.2 milestone Dec 16, 2023
@rouault rouault changed the title VRTComplexSource: fix excessive RAM usage with many sources (fixes #8967, 3.8.0 regression) [3.8 fix] VRTComplexSource: fix excessive RAM usage with many sources (fixes #8967, 3.8.0 regression) Dec 16, 2023
@coveralls
Copy link
Collaborator

Coverage Status

coverage: 67.934% (+0.001%) from 67.933%
when pulling bd62140 on rouault:fix_8967_3_8
into 0905f17 on OSGeo:release/3.8.

@rouault rouault merged commit 929e9a9 into OSGeo:release/3.8 Dec 16, 2023
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants