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

GH-35015: [Go] Fix parquet memleak #35973

Merged
merged 24 commits into from
Jun 8, 2023

Conversation

candiduslynx
Copy link
Contributor

@candiduslynx candiduslynx commented Jun 7, 2023

Rationale for this change

Some memory leaks resulted in partially skipped memory checks in pqarrow package.
This PR brings the checks back.

What changes are included in this PR?

Releases in proper places.

Are these changes tested?

Yes, the tests from #35015 are fully enabled now.

Are there any user-facing changes?

No.

@github-actions
Copy link

github-actions bot commented Jun 7, 2023

⚠️ GitHub issue #35015 has been automatically assigned in GitHub to PR creator.

Copy link
Contributor Author

@candiduslynx candiduslynx left a comment

Choose a reason for hiding this comment

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

@zeroshade I've cracked the mem leaks issue.
The extra code pieces (some are dirty and some asserts are incorrect for maps) I used to find the issues were removed in a single commit (so you can take a look): 0f26525

go/arrow/array/extension.go Show resolved Hide resolved
go/arrow/memory/buffer.go Outdated Show resolved Hide resolved
go/arrow/memory/checked_allocator.go Show resolved Hide resolved
go/arrow/memory/checked_allocator.go Show resolved Hide resolved
go/arrow/memory/checked_allocator.go Show resolved Hide resolved
go/parquet/pqarrow/encode_arrow_test.go Show resolved Hide resolved
go/parquet/pqarrow/encode_arrow_test.go Show resolved Hide resolved
go/parquet/pqarrow/encode_dictionary_test.go Show resolved Hide resolved
go/parquet/pqarrow/encode_dictionary_test.go Show resolved Hide resolved
go/parquet/pqarrow/helpers.go Show resolved Hide resolved
@github-actions github-actions bot added awaiting committer review Awaiting committer review and removed awaiting review Awaiting review labels Jun 7, 2023
@candiduslynx
Copy link
Contributor Author

@zeroshade I guess the value type issue is caused by #35899. Is there some place I can fix the (generated?) code to make it pass?

@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jun 7, 2023
@zeroshade
Copy link
Member

zeroshade commented Jun 7, 2023

Looks like you've got some tests failing with Too many releases, you can enable that check locally by using the -tags assert flag when you run go test

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jun 7, 2023
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jun 8, 2023
@candiduslynx
Copy link
Contributor Author

Looks like you've got some tests failing with Too many releases, you can enable that check locally by using the -tags assert flag when you run go test

Yeah, I forgot to remove the extra release for mem buffer (as I moved it to the initialization place): bf0e4a9

@candiduslynx
Copy link
Contributor Author

@zeroshade I've fixed the extra release in bf0e4a9
I see that one release script test was cancelled (maybe it needs more time?), but the tests are passing

Copy link
Member

@zeroshade zeroshade left a comment

Choose a reason for hiding this comment

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

LGTM just one nitpick here

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jun 8, 2023
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jun 8, 2023
@candiduslynx
Copy link
Contributor Author

LGTM just one nitpick here

Done in 95a0333

@candiduslynx
Copy link
Contributor Author

@zeroshade just a mention that everything has passed & it only waits for you to merge

@zeroshade zeroshade merged commit 17311b6 into apache:main Jun 8, 2023
21 checks passed
@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jun 8, 2023
@candiduslynx candiduslynx deleted the fix/parquet/memleak branch June 9, 2023 04:34
@ursabot
Copy link

ursabot commented Jun 10, 2023

Benchmark runs are scheduled for baseline = 8b5919d and contender = 17311b6. 17311b6 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️1.03% ⬆️0.03%] test-mac-arm
[Finished ⬇️9.8% ⬆️5.56%] ursa-i9-9960x
[Finished ⬇️0.21% ⬆️0.06%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 17311b6a ec2-t3-xlarge-us-east-2
[Finished] 17311b6a test-mac-arm
[Finished] 17311b6a ursa-i9-9960x
[Finished] 17311b6a ursa-thinkcentre-m75q
[Finished] 8b5919d8 ec2-t3-xlarge-us-east-2
[Finished] 8b5919d8 test-mac-arm
[Finished] 8b5919d8 ursa-i9-9960x
[Finished] 8b5919d8 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Go][Parquet] Memory leaks in parquet/pqarrow
3 participants