-
Notifications
You must be signed in to change notification settings - Fork 915
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
Add JNI methods for detecting and purging non-empty nulls from LIST and STRUCT #12742
Merged
rapids-bot
merged 19 commits into
rapidsai:branch-23.04
from
razajafri:SP-5430-non-empty
Feb 27, 2023
Merged
Changes from 9 commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
0f72ac7
Added Jni methods for detecting and purging non-empty nulls
razajafri 2b29f3b
Merge remote-tracking branch 'origin/branch-23.04' into SP-5430-non-e…
razajafri 7abf384
fix formatting
razajafri 097a09a
addressed review comments
razajafri dac0b21
removed the unused native method
razajafri 9c1ecc0
Merge remote-tracking branch 'origin/branch-23.04' into SP-5430-non-e…
razajafri d9bd29a
reformatted
razajafri 0a77f17
reformat
razajafri a70910c
Merge remote-tracking branch 'origin/branch-23.04' into SP-5430-non-e…
razajafri faa5e76
Merge branch 'branch-23.04' into SP-5430-non-empty
razajafri 7cd46bd
Merge branch 'branch-23.04' into SP-5430-non-empty
razajafri 7378c6a
Merge branch 'branch-23.04' into SP-5430-non-empty
ttnghia 01688bb
Merge branch 'branch-23.04' into SP-5430-non-empty
razajafri 6b12700
Merge branch 'branch-23.04' into SP-5430-non-empty
ajschmidt8 2843bc8
Merge branch 'branch-23.04' into SP-5430-non-empty
razajafri fbb5e49
closing the vectors
razajafri 508b9e6
release local allocation
razajafri a8a1106
Return an Array of ColumnViews so they can be closed by the caller
razajafri b1f84cb
Merge branch 'branch-23.04' into SP-5430-non-empty
razajafri File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI failed because there is memory leak in Java tests. Sorry I overlooked the Java tests. Please fix them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ColumnVector
as well asHostColumnVector
must be wrapped intry
blocks. Probably the buffer vars need to be wrapped too.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm... makes me want to have this failure on my local so we can avoid this. It will still be good to get to the bottom of this discrepancy.
In the meanwhile, I will push a fix. Thanks for pointing us to this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, the discrepancy isn't ideal.
Could it be caused by the types of GPUs that are used in CI vs. on our local machines?
I'm wondering if that or the amount of memory on a given GPU would contribute to this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe there is a variable that controls the test behavior, and that var is set by the local environment. @revans2 Do you know about this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a memory leak happens and java's GC is fast, then the leak is cleared up before RMM is shut down and there is no error. If GC is slow, then the leak is not cleared and you get the error. We have a flag to print out messages to help debug leaks, but it is off by default because it makes the tests take a lot longer. Just set
-Dai.rapids.refcount.debug=true
on the maven commend line when running the tests. Even if they pass you can then look at the logs to see if any leaks were detected and use the stack traces to track down what is leaked and why.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But in this case aren't the vectors off the heap? Did you mean the MemoryCleaner instead of GC?