| Summary: | [RHEL-6] Account and container server makes excessive and redundant stat() calls | ||
|---|---|---|---|
| Product: | Red Hat Gluster Storage | Reporter: | Prashanth Pai <ppai> |
| Component: | gluster-swift | Assignee: | Prashanth Pai <ppai> |
| Status: | CLOSED ERRATA | QA Contact: | surabhi <sbhaloth> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rhgs-3.1 | CC: | amukherj, ppai, rcyriac, rhinduja, rhs-bugs, sasundar, sbhaloth, storage-qa-internal, thiago |
| Target Milestone: | Development Freeze | ||
| Target Release: | RHGS 3.2.0 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | swiftonfile-1.13.1-10.el6rhs | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1351640 | Environment: | |
| Last Closed: | 2017-03-23 04:56:57 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 1351640, 1374302 | ||
| Bug Blocks: | 1351522 | ||
|
Description
Prashanth Pai
2016-09-22 11:30:35 UTC
Upstream patches: http://review.gluster.org/#/c/14543/ http://review.gluster.org/#/c/14460/ Downstream patches merged: https://code.engineering.redhat.com/gerrit/#/q/topic:bug-1378424 On previpous versions while doing GET on container, lots of redundant stat calls were made , with the fix now the redundant stat calls are not seen.Performance is not tested it,s only the reduced number of calls verified via strace.
pid 8567] accept(5, {sa_family=AF_INET, sin_port=htons(47532), sin_addr=inet_addr("127.0.0.1")}, [16]) = 6
[pid 8567] fcntl(6, F_GETFL) = 0x2 (flags O_RDWR)
[pid 8567] fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0
[pid 8567] fcntl(6, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
[pid 8567] fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0
[pid 8567] gettimeofday({1481800913, 460029}, NULL) = 0
[pid 8567] accept(5, 0x7fff2429c520, [16]) = -1 EAGAIN (Resource temporarily unavailable)
[pid 8567] gettimeofday({1481800913, 460317}, NULL) = 0
[pid 8567] recvfrom(6, "GET /test/0/AUTH_test/c1/ HTTP/1"..., 8192, 0, NULL, NULL) = 282
[pid 8567] getsockname(6, {sa_family=AF_INET, sin_port=htons(6011), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
[pid 8567] gettimeofday({1481800913, 461091}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 461148}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 461421}, NULL) = 0
[pid 8567] lstat("/mnt/gluster-object/test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 8567] lstat("/mnt/gluster-object/test/..", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 8567] stat("/mnt/gluster-object/test/c1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 8567] getxattr("/mnt/gluster-object/test/c1", "user.swift.metadata", 0x0, 0) = 148
[pid 8567] getxattr("/mnt/gluster-object/test/c1", "user.swift.metadata", "{"X-Object-Count":[0,0],"X-Timestamp":["1481799921.98239",0],"X-Type":["container",0],"X-PUT-Timestamp":["1481799921.97939",0],"X-Bytes-Used":[0,0]}", 148) = 148
[pid 8567] open("/mnt/gluster-object/test/c1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 23 entries */, 32768) = 552
[pid 8567] getdents(8, /* 20 entries */, 32768) = 488
[pid 8567] getdents(8, /* 0 entries */, 32768) = 0
[pid 8567] close(8) = 0
[pid 8567] getxattr("/mnt/gluster-object/test/c1/dirobject", "user.swift.metadata", 0x0, 0) = 183
[pid 8567] getxattr("/mnt/gluster-object/test/c1/dirobject", "user.swift.metadata", "{"Content-Length":"0","ETag":"d41d8cd98f00b204e9800998ecf8427e","X-Timestamp":"1481800157.44880","X-Object-Type":"marker_dir","X-Type":"Object","Content-Type":"application/directory"}", 183) = 183
[pid 8567] brk(0x231c000) = 0x231c000
[pid 8567] gettimeofday({1481800913, 518749}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 518822}, NULL) = 0
[pid 8567] poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
[pid 8567] gettimeofday({1481800913, 518892}, NULL) = 0
[pid 8567] open("/mnt/gluster-object/test/c1/dirobject", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
[pid 8567] getdents(8, /* 2 entries */, 32768) = 48
[pid 8567] getdents(8, /* 0 entries */, 32768) = 0
[pid 8567] close(8) = 0
[pid 8567] gettimeofday({1481800913, 521279}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 521326}, NULL) = 0
[pid 8567] poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
[pid 8567] gettimeofday({1481800913, 521456}, NULL) = 0
[pid 8567] setxattr("/mnt/gluster-object/test/c1", "user.swift.metadata", "{"X-Object-Count":[501,0],"X-Timestamp":["1481799921.98239",0],"X-Type":["container",0],"X-PUT-Timestamp":["1481799921.97939",0],"X-Bytes-Used":[0,0]}", 150, 0) = 0
[pid 8567] gettimeofday({1481800913, 524083}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 524205}, NULL) = 0
[pid 8567] sendto(6, "HTTP/1.1 200 OK\r\nContent-Length:"..., 2647, 0, NULL, 0) = 2647
[pid 8567] gettimeofday({1481800913, 524458}, NULL) = 0
[pid 8567] gettimeofday({1481800913, 524496}, NULL) = 0
[pid 8567] shutdown(6, SHUT_RDWR) = 0
[pid 8567] close(6) = 0
[pid 8567] poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 60000
Marking the BZ verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2017-0489.html |