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

Don't reuse a RowArena for MapFilterProject #4578

Merged
merged 1 commit into from Oct 21, 2020

Conversation

justinj
Copy link
Contributor

@justinj justinj commented Oct 21, 2020

In #4463 we introduced MapFilterProjects on top of Gets to reduce the
amount of data that we had to pack and unpack across operator
boundaries. When doing this, I made one RowArena that was used across
each invocation of MFP, which resulted in memory buildup over time. This
change changes this to occur per-row so that we can throw away
intermediate data.


This change is Reviewable

In MaterializeInc#4463 we introduced MapFilterProjects on top of Gets to reduce the
amount of data that we had to pack and unpack across operator
boundaries. When doing this, I made one RowArena that was used across
each invocation of MFP, which resulted in memory buildup over time. This
change changes this to occur per-row so that we can throw away
intermediate data.
Copy link
Contributor

@frankmcsherry frankmcsherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch; looks good to me!

@justinj justinj merged commit 8f0fcc4 into MaterializeInc:main Oct 21, 2020
@justinj
Copy link
Contributor Author

justinj commented Oct 21, 2020

Andi did the hard work by bisecting to find the problematic commit!

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.

None yet

3 participants