Skip to content

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

Merged
zuston merged 1 commit intoapache:branch-0.7from
zuston:branch-0.7
Apr 17, 2023
Merged

[#772][0.7] fix(kerberos): cache proxy user ugi to avoid memory leak (#773)#824
zuston merged 1 commit intoapache:branch-0.7from
zuston:branch-0.7

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/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