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

[#772][0.7] fix(kerberos): cache proxy user ugi to avoid memory leak (#773) #824

Merged
merged 1 commit into from
Apr 17, 2023

Conversation

zuston
Copy link
Member

@zuston zuston commented Apr 17, 2023

What changes were proposed in this pull request?

  1. To avoid memory leak by caching of proxy user UGI.

Why are the changes needed?

Fix: #772

The Hadoop filesystem instance will be created too many time in cache, which will cause the shuffle server memory leak.

As we know, the filesystem cache's key is built by the scheme、authority and UGI. The scheme and authority are not changed every time. But for UGI, if we invoke the createProxyUser, it will always create a new one, that means the every invoking Filesystem.get(), it will be cached due to different key.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

  1. Existing UTs
  2. Added tests

…apache#773)

1. To avoid memory leak by caching of proxy user UGI.

Fix: apache#772

The Hadoop filesystem instance will be created too many time in cache,
which will cause the shuffle server memory leak.

As we know, the filesystem cache's key is built by the scheme、authority and UGI.
The scheme and authority are not changed every time. But for UGI, if we invoke the
createProxyUser, it will always create a new one, that means the every invoking `Filesystem.get()`,
it will be cached due to different key.

No.

1. Existing UTs
2. Added tests
@codecov-commenter
Copy link

codecov-commenter commented Apr 17, 2023

Codecov Report

Merging #824 (d0ae1a9) into branch-0.7 (5776bdc) will decrease coverage by 0.01%.
The diff coverage is 71.42%.

@@               Coverage Diff                @@
##             branch-0.7     #824      +/-   ##
================================================
- Coverage         60.78%   60.77%   -0.01%     
  Complexity         1793     1793              
================================================
  Files               214      214              
  Lines             12374    12380       +6     
  Branches           1045     1046       +1     
================================================
+ Hits               7521     7524       +3     
- Misses             4449     4450       +1     
- Partials            404      406       +2     
Impacted Files Coverage Δ
...uniffle/common/security/HadoopSecurityContext.java 79.54% <71.42%> (-2.04%) ⬇️

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@zuston zuston merged commit 23f479f into apache:branch-0.7 Apr 17, 2023
xianjingfeng pushed a commit to xianjingfeng/incubator-uniffle that referenced this pull request Jun 20, 2023
… leak (apache#773) (apache#824)

1. To avoid memory leak by caching of proxy user UGI.

Fix: apache#772

The Hadoop filesystem instance will be created too many time in cache, which will cause the shuffle server memory leak.

As we know, the filesystem cache's key is built by the scheme、authority and UGI. The scheme and authority are not changed every time. But for UGI, if we invoke the createProxyUser, it will always create a new one, that means the every invoking `Filesystem.get()`, it will be cached due to different key.

No.

1. Existing UTs
2. Added tests
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.

3 participants