Bug 801582
| Summary: | ACL memory leak | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Brian Foster <bfoster> |
| Component: | glusterfs | Assignee: | Brian Foster <bfoster> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Anush Shetty <ashetty> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 2.0 | CC: | gluster-bugs, rwheeler, sdharane, vbellur |
| Target Milestone: | Beta | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glusterfs-3.4.0qa2-1 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-08-10 07:46:49 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Brian, does your patch to upstream fix the issue? should this be moved to "ON_QA"? Amar, Unfortunately no, this is a separate issue. I ran this test before (to make sure I wasn't introducing the problem) and after the refcount change and still saw increasing RSS. To be precise, I should also point out I don't have any evidence to suggest that the memory leak here is necessarily in the ACL code... I found and resolved a similar leak reproducible as follows:
while [ true ]
do
getfattr -n user.test /mnt/test
done
I then determined the root cause is the same for this bug. The root cause is an extra dict_ref() inside of mdc_inode_xatt_update() in md-cache. Posting a fix shortly...
CHANGE: http://review.gluster.com/3138 (md-cache: fix dict memory leak in mdc_inode_xatt_update) merged in master by Anand Avati (avati) Verified with glusterfs-3.4.0.17rhs-1.el6rhs.x86_64 |
Description of problem: A memory leak occurs when ACLs are continuously removed and re-added. Version-Release number of selected component (if applicable): Upstream. How reproducible: 100% Steps to Reproduce: 1. Mount a gluster volume with ACLs enabled. 2. Create a file. 3. Run the following command on the file: while [ true ] do setfacl -x u:test /mnt/test setfacl -m u:test:r /mnt/test done 4. Run 'top -p <pidofglusterfs>' and observe RES. Actual results: Resident set size increases to consume all memory. Expected results: RSS remains stable.