-
Notifications
You must be signed in to change notification settings - Fork 28.2k
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
[SPARK-7490] [CORE] [Minor] MapOutputTracker.deserializeMapStatuses: close input streams #5982
Conversation
GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly.
Can one of the admins verify this patch? |
Actually, I'm not 100% sure it did pass, the output is somewhat confusing the last few lines are:
|
Actually, do you mind creating a JIRA for this? That would help us to track backports, etc. |
Jenkins, this is ok to test. |
Merged build triggered. |
Merged build started. |
Test build #32126 has started for PR 5982 at commit |
Test build #32126 has finished for PR 5982 at commit
|
Merged build finished. Test FAILed. |
Test FAILed. |
retest this please. There's a likely possibility that the test failure is not related. |
Merged build triggered. |
Merged build started. |
Test build #32141 has started for PR 5982 at commit |
Also @evanj would you mind at least putting |
Test build #32141 has finished for PR 5982 at commit
|
Merged build finished. Test PASSed. |
Test PASSed. |
Nice catch. |
I have some conflicting advice here; I guess I'll create a JIRA for it? Re: nice catch: I hit a production bug (native memory leak) related to unclosed GZIP streams at Twitter, so I audited all the places that use this using our internal code search tool; This is one that came up. I think FindBugs would also likely find this. |
…close input streams GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly. stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize. (I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes) Author: Evan Jones <[email protected]> Closes #5982 from evanj/master and squashes the following commits: 0d76e85 [Evan Jones] [CORE] MapOutputTracker.deserializeMapStatuses: close input streams (cherry picked from commit 25889d8) Signed-off-by: Sean Owen <[email protected]>
…close input streams GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly. stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize. (I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes) Author: Evan Jones <[email protected]> Closes #5982 from evanj/master and squashes the following commits: 0d76e85 [Evan Jones] [CORE] MapOutputTracker.deserializeMapStatuses: close input streams (cherry picked from commit 25889d8) Signed-off-by: Sean Owen <[email protected]>
…close input streams GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly. stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize. (I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes) Author: Evan Jones <[email protected]> Closes apache#5982 from evanj/master and squashes the following commits: 0d76e85 [Evan Jones] [CORE] MapOutputTracker.deserializeMapStatuses: close input streams
…close input streams GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly. stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize. (I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes) Author: Evan Jones <[email protected]> Closes apache#5982 from evanj/master and squashes the following commits: 0d76e85 [Evan Jones] [CORE] MapOutputTracker.deserializeMapStatuses: close input streams
…close input streams GZIPInputStream allocates native memory that is not freed until close() or when the finalizer runs. It is best to close() these streams explicitly. stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize. (I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes) Author: Evan Jones <[email protected]> Closes apache#5982 from evanj/master and squashes the following commits: 0d76e85 [Evan Jones] [CORE] MapOutputTracker.deserializeMapStatuses: close input streams
GZIPInputStream allocates native memory that is not freed until close() or
when the finalizer runs. It is best to close() these streams explicitly.
@stephenh made the same change for serializeMapStatuses in commit b0d884f. This is the same change for deserialize.
(I ran the unit test suite! it seems to have passed. I did not make a JIRA since this seems "trivial", and the guidelines suggest it is not required for trivial changes)