This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1002022 - Change default rollover-time and fsync-interval for changelog
Change default rollover-time and fsync-interval for changelog
Status: CLOSED ERRATA
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: glusterfs (Show other bugs)
2.1
Unspecified Unspecified
high Severity high
: ---
: ---
Assigned To: Amar Tumballi
Vijaykumar Koppad
: ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-28 06:56 EDT by Venky Shankar
Modified: 2014-08-24 20:50 EDT (History)
8 users (show)

See Also:
Fixed In Version: glusterfs-3.4.0.34rhs
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-27 10:35:15 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Venky Shankar 2013-08-28 06:56:44 EDT
As of now:
  rollover-time  = 60 seconds
  fsync-interval = 0 seconds

Geo-Replication works well when the above tunables are set to:

  rollover-time  = 15 seconds
  fsync-interval = 5 seconds
Comment 3 Vijaykumar Koppad 2013-10-15 05:53:22 EDT
Provide the steps to verify that fsync-interval is 5.
Comment 4 Venky Shankar 2013-10-17 02:10:09 EDT
Vijaykumar,

How did you verify fsync-interval 0?
Comment 5 Vijaykumar Koppad 2013-10-18 04:53:18 EDT
Venky, 

    First of all there was no bug to verify that fsync-interval was 0. I didn't file any bug, since I didn't find any problem with functionality. I do have a bug for not having any changelog option in volume set help, Bug 1018195. It is difficult to verify functionally that fsync-interval default value is 5. It would be good at least to have that information in volume-set help. I can't verify without actually having any info.
Comment 7 Venky Shankar 2013-11-13 02:00:18 EST
Vijaykumar,

you can use strace to verify if fsync()'s are happening according to the configured time interval.

* Get pid for glusterfsd

ps auxww | grep glusterfsd | grep yow-1
root     20746  0.0  0.2 629040 21544 ?        Ssl  12:22   0:00 /usr/sbin/glusterfsd -s h3ckers-pride --volfile-id yow.h3ckers-pride.home-vshankar-exports-yow-yow-1 -p /var/lib/glusterd/vols/yow/run/h3ckers-pride-home-vshankar-exports-yow-yow-1.pid -S /var/run/6c5ed63f4e012b48f5e4a4ec8dbd7857.socket --brick-name /home/vshankar/exports/yow/yow-1 -l /usr/var/log/glusterfs/bricks/home-vshankar-exports-yow-yow-1.log --xlator-option *-posix.glusterd-uuid=bcfad80a-d102-4e32-a0b1-89fbb41f1439 --brick-port 49152 --xlator-option yow-server.listen-port=49152


* Get the fd for the CHANGELOG file

ls -l /proc/20746/fd                  
total 0
lr-x------ 1 root root 64 Nov 13 12:22 0 -> /dev/null
l-wx------ 1 root root 64 Nov 13 12:22 1 -> /dev/null
lrwx------ 1 root root 64 Nov 13 12:22 10 -> socket:[55292]
lr-x------ 1 root root 64 Nov 13 12:22 11 -> /dev/urandom
lr-x------ 1 root root 64 Nov 13 12:22 12 -> pipe:[55294]
l-wx------ 1 root root 64 Nov 13 12:22 13 -> pipe:[55294]
lrwx------ 1 root root 64 Nov 13 12:22 14 -> socket:[58983]
lrwx------ 1 root root 64 Nov 13 12:22 15 -> /home/vshankar/exports/yow/yow-1/.glusterfs/changelogs/CHANGELOG
lr-x------ 1 root root 64 Nov 13 12:22 16 -> /home/vshankar/exports/yow/yow-1
lrwx------ 1 root root 64 Nov 13 12:22 17 -> socket:[127121]
lrwx------ 1 root root 64 Nov 13 12:22 18 -> socket:[127126]
lrwx------ 1 root root 64 Nov 13 12:22 19 -> socket:[126074]
l-wx------ 1 root root 64 Nov 13 12:22 2 -> /dev/null
lrwx------ 1 root root 64 Nov 13 12:22 3 -> anon_inode:[eventpoll]
l-wx------ 1 root root 64 Nov 13 12:22 4 -> /usr/var/log/glusterfs/bricks/home-vshankar-exports-yow-yow-1.log
lrwx------ 1 root root 64 Nov 13 12:22 5 -> /var/lib/glusterd/vols/yow/run/h3ckers-pride-home-vshankar-exports-yow-yow-1.pid
lrwx------ 1 root root 64 Nov 13 12:22 6 -> socket:[124763]
lrwx------ 1 root root 64 Nov 13 12:22 7 -> socket:[125287]
lrwx------ 1 root root 64 Nov 13 12:22 8 -> socket:[58860]
lrwx------ 1 root root 64 Nov 13 12:22 9 -> socket:[125288]

FD for the journal: 15

* strace the pid capturing fsync()'s

strace -s 500 -tt -e fsync -f -p 20746
Process 20746 attached with 14 threads
[pid 20833] 12:26:28.845326 fsync(15)   = 0
[pid 20833] 12:26:33.871298 fsync(15)   = 0
[pid 20833] 12:26:39.046555 fsync(15)   = 0


You can observe fsync()'s getting trigerred in interval of 5 seconds.

HTH
Comment 8 Vijaykumar Koppad 2013-11-13 02:11:43 EST
verified default values for rollover-time and fsync-interval as 15s and 5s respectively as on the build glusterfs-3.4.0.43rhs

fsync interval
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#strace -s 500 -tt -e fsync -f -p 4769
Process 4769 attached with 28 threads - interrupt to quit
[pid  5361] 12:32:27.390320 fsync(20)   = 0
[pid  5361] 12:32:32.395743 fsync(20)   = 0
[pid  5361] 12:32:37.400911 fsync(20)   = 0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

rollover-time 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-rw-r--r-- 1 root root     51 Nov 13 12:33 /bricks/brick1/.glusterfs/changelogs/CHANGELOG.1384326230
-rw-r--r-- 1 root root     51 Nov 13 12:33 /bricks/brick1/.glusterfs/changelogs/CHANGELOG.1384326245
-rw-r--r-- 1 root root     51 Nov 13 12:34 /bricks/brick1/.glusterfs/changelogs/CHANGELOG.1384326260
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Comment 9 errata-xmlrpc 2013-11-27 10:35:15 EST
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.

http://rhn.redhat.com/errata/RHBA-2013-1769.html

Note You need to log in before you can comment on or make changes to this bug.