-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
42809: sql: pool some allocations during flow setup r=yuzefovich a=yuzefovich **flowinfra: slightly tweak the setup of processors in the flow** Previously, the last processor ('headProc') would be removed from f.processors before flow.startInternal to be run in the same goroutine as the one that is doing the setup. However, this was problematic because if that processor implements 'Releasable' interface, it will not be returned to the pool on the flow clean up. Now this is fixed. Addresses: #42770. Release note: None **sql: pool flow allocations** sql: pool flow allocations Previously, new structs for rowBasedFlow and vectorizedFlow would be allocated upon creation. This commit creates pools for both of them. flowinfra.Releasable interface is moved into execinfra package because now components from rowflow, rowexec, and colflow packages implement that. In order to actually be able to release the flow structs, I needed to create separate Cleanup methods (which still share most of the logic) which allows for removal of vectorized memory monitoring logic from the shared FlowCtx. Release note: None Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
- Loading branch information
Showing
6 changed files
with
96 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters