REVIEW: http://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#2) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#3) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#4) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#5) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#6) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#7) for review on master by Ashish Pandey (aspandey)
REVIEW: https://review.gluster.org/16298 (cluster/ec: Set dirty flag for file Data fop only) posted (#8) for review on master by Ashish Pandey (aspandey)
recursive dir creation ./ec-create.sh && gluster v profile ec2 start && cd /mnt/ec2 && for i in {1..100}; do mkdir $i && cd $i; done && gluster v profile ec2 info v3.8.8 Interval 0 Stats: %-latency Avg-latency Min-Latency Max-Latency No. of calls Fop --------- ----------- ----------- ----------- ------------ ---- 0.00 0.00 us 0.00 us 0.00 us 2 RELEASEDIR 0.04 30.50 us 29.00 us 32.00 us 2 STATFS 6.30 86.02 us 46.00 us 146.00 us 100 SETXATTR 7.08 96.61 us 41.00 us 296.00 us 100 SETATTR 8.49 115.90 us 70.00 us 215.00 us 100 XATTROP 12.67 34.58 us 16.00 us 259.00 us 500 INODELK 31.15 138.93 us 52.00 us 642.00 us 306 LOOKUP 34.27 467.70 us 266.00 us 1190.00 us 100 MKDIR Master Interval 0 Stats: %-latency Avg-latency Min-Latency Max-Latency No. of calls Fop --------- ----------- ----------- ----------- ------------ ---- 0.00 0.00 us 0.00 us 0.00 us 1 RELEASEDIR 0.02 24.00 us 24.00 us 24.00 us 1 STATFS 6.12 84.02 us 48.00 us 158.00 us 100 SETXATTR 6.73 92.41 us 46.00 us 215.00 us 100 SETATTR 12.39 34.02 us 16.00 us 640.00 us 500 INODELK 15.24 104.61 us 55.00 us 236.00 us 200 XATTROP 27.91 125.20 us 48.00 us 331.00 us 306 LOOKUP 31.58 433.43 us 241.00 us 938.00 us 100 MKDIR With Modified idea of Xavi: Interval 0 Stats: %-latency Avg-latency Min-Latency Max-Latency No. of calls Fop --------- ----------- ----------- ----------- ------------ ---- 0.10 72.50 us 24.00 us 121.00 us 2 STATFS 4.87 73.98 us 37.00 us 230.00 us 100 XATTROP 6.75 102.38 us 59.00 us 220.00 us 100 SETXATTR 7.36 111.63 us 53.00 us 305.00 us 100 SETATTR 13.68 41.53 us 17.00 us 284.00 us 500 INODELK 33.54 509.02 us 280.00 us 1080.00 us 100 MKDIR 33.70 167.15 us 51.00 us 3137.00 us 306 LOOKUP Xattrops are the ones we are worried about as you can see, it came back to 100 like it was before :-).
REVIEW: https://review.gluster.org/16821 (cluster/ec: Introduce optimistic changelog in EC) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu)
COMMIT: https://review.gluster.org/16821 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 78c5c5637104cf79578d0fb9173647c9c3421177 Author: Pranith Kumar K <pkarampu> Date: Thu Mar 2 07:14:14 2017 +0530 cluster/ec: Introduce optimistic changelog in EC Problem: Fix to https://bugzilla.redhat.com/show_bug.cgi?id=1316873 has made changes to set dirty flag before every update fop, data or metadata, and unset it after successful operation. That makes some of the fops very slow such as entry operations or metadata operations. Solution: File data operations are the only operation which take some time and setting dirty flag before a fop and unsetting it after serves the purpose as probability of failure of a fop is high when the time duration is more. For all the other operations, set dirty flag at the end of the fop, if any brick is down and need heal. Providing following option to choose between high performance or better heal marking for metadata and entry fops. Set/Unset dirty flag for every update fop at the start of the fop. If ON, this option impacts performance of entry operations or metadata operations as it will set dirty flag at the start and unset it at the end of ALL update fop. If OFF and all the bricks are good, dirty flag will be set at the start only for file fops For metadata and entry fops dirty flag will not be set at the start, if all the bricks are good. This does not impact performance for metadata operations and entry operation but has a very small window to miss marking entry as dirty in case it is required to be healed. Thanks to Xavi and Ashish for the design Picked the .t file from Ashish' patch https://review.gluster.org/16298 BUG: 1408809 Change-Id: I3ce860063f0e2901e50754dcfc3e4ed22daf819f Signed-off-by: Pranith Kumar K <pkarampu> Reviewed-on: https://review.gluster.org/16821 Smoke: Gluster Build System <jenkins.org> Reviewed-by: Xavier Hernandez <xhernandez> Tested-by: Xavier Hernandez <xhernandez> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org>
REVIEW: https://review.gluster.org/16865 (cluster/ec: Don't mark dirty on entry/meta ops in query-info) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)
COMMIT: https://review.gluster.org/16865 committed in master by Atin Mukherjee (amukherj) ------ commit fabce246ae948e8e3060dee4a720cd64ac76fdaf Author: Pranith Kumar K <pkarampu> Date: Tue Mar 7 14:32:18 2017 +0530 cluster/ec: Don't mark dirty on entry/meta ops in query-info We wanted to mark dirty for metadata/entry operations whenever query-info is set and info is not yet there because we are anyway sending xattrop over the network. But this is causing 25% regression from 3.8.8 so removing this optimization Also fixed two small issues that we didn't find in the previous patch 1) reconfigure failure was sending return value 0 for optimistic-changelog 2) ec->optimistic_changelog was set to true even before OPTION_INIT BUG: 1408809 Change-Id: Iabb0b64bd4d3623688790e4b67e5c20b4da977a1 Signed-off-by: Pranith Kumar K <pkarampu> Reviewed-on: https://review.gluster.org/16865 Reviewed-by: Xavier Hernandez <xhernandez> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Smoke: Gluster Build System <jenkins.org>
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.11.0, please open a new bug report. glusterfs-3.11.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://lists.gluster.org/pipermail/announce/2017-May/000073.html [2] https://www.gluster.org/pipermail/gluster-users/