release-20.1: changefeedccl: fix memory leak in rowFetcherCache #49161
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.
Backport 1/1 commits from #49101.
/cc @cockroachdb/release
The rowFetcherCache used by the changefeed to decode KVs into datums
keys the row.Fetcher for a table by using an
*ImmutableTableDescriptor
.Unfortunately, over time, as the
LeaseManager
renews leases, the tabledescriptor used to perform the lookup will change. This leads to a slow
leak of a single
row.Fetcher
every couple of minutes. This ends upbeing pretty bad when backfilling a large table as each row.Fetcher ends
up holding onto a whole
ScanResponse
.Release note (bug fix): Fix memory leak which can affect CHANGEFEEDs
performing scans of large tables.