Bug 1409569 - write-behind to be disabled during 3.2 upgrade
Summary: write-behind to be disabled during 3.2 upgrade
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: doc-Installation_Guide
Version: rhgs-3.2
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: RHGS 3.2.0
Assignee: Laura Bailey
QA Contact: Prasad Desala
URL:
Whiteboard:
Depends On:
Blocks: 1351553
TreeView+ depends on / blocked
 
Reported: 2017-01-02 13:40 UTC by Atin Mukherjee
Modified: 2017-03-24 01:08 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-24 01:08:47 UTC
Target Upstream Version:


Attachments (Terms of Use)

Comment 7 Atin Mukherjee 2017-02-09 08:16:34 UTC
Laura - to avoid confusion I have modified the title of this bug.

Comment 17 Raghavendra G 2017-02-20 05:34:08 UTC
Option: performance.flush-behind
Default Value: on
Description: If this option is set ON, instructs write-behind translator to perform flush in background, by returning success (or any errors, if any of previous  writes were failed) to application even before flush FOP is sent to backend filesystem. 

Option: performance.write-behind-window-size
Default Value: 1MB
Description: Size of the write-behind buffer for a single file (inode).

Option: performance.resync-failed-syncs-after-fsync
Default Value: (null)
Description: If sync of "cached-writes issued before fsync" (to backend) fails, this option configures whether to retry syncing them after fsync or forget them. If set to on, cached-writes are retried till a "flush" fop (or a successful sync) on sync failures. fsync itself is failed irrespective of the value of this option. 

Option: performance.strict-o-direct
Default Value: off
Description: This option when set to off, ignores the O_DIRECT flag.

Option: performance.strict-write-ordering
Default Value: off
Description: Do not let later writes overtake earlier writes even if they do not overlap

Same set of options are available but with different names for Glusterfs NFS server (GNFS-v3):

Option: performance.nfs.flush-behind
Default Value: on
Description: If this option is set ON, instructs write-behind translator to perform flush in background, by returning success (or any errors, if any of previous  writes were failed) to application even before flush FOP is sent to backend filesystem. 

Option: performance.nfs.write-behind-window-size
Default Value: 1MB
Description: Size of the write-behind buffer for a single file (inode).

Option: performance.nfs.strict-o-direct
Default Value: off
Description: This option when set to off, ignores the O_DIRECT flag.

Option: performance.nfs.strict-write-ordering
Default Value: off
Description: Do not let later writes overtake earlier writes even if they do not overlap

Comment 18 Raghavendra G 2017-02-20 05:36:06 UTC
(In reply to Raghavendra G from comment #17)
> Option: performance.resync-failed-syncs-after-fsync
> Default Value: (null)

Default Value: off

Comment 20 Raghavendra G 2017-02-28 04:05:38 UTC
performance.strict-o-direct:

Specifies whether to attempt to minimize the cache effects of I/O for a file. If performance.write-behind is enabled, this option should be disabled.

Correction:
The second line above is incorrect. This option is valid _only_ if performance.write-behind is _enabled_. So, please remove it. I've added some content below:

"Specifies whether to attempt to minimize the cache effects of I/O for a file. When an fd is opened with O_DIRECT flag, write-back caching is disabled for writes happening on that fd only if performance.strict-o-direct is set to on. If this option is off, O_DIRECT will have no effect on caching. In other words, O_DIRECT is ignored by write-behind if performance.strict-o-direct is off"

Comment 21 Raghavendra G 2017-02-28 04:08:31 UTC
performance.flush-behind:

Specifies whether the write-behind translator performs flush operations in the background by returning results to the application before flush file operations are sent to the backend file system.

A minor correction:

Specifies whether the write-behind translator performs flush operations in the background by faking a success to the application before even before flush file operations are sent to the backend file system.

Comment 22 Raghavendra G 2017-02-28 04:10:36 UTC
(In reply to Raghavendra G from comment #21)
> performance.flush-behind:

Similar changes are required for performance.nfs.flush-behind.

> 
> Specifies whether the write-behind translator performs flush operations in
> the background by returning results to the application before flush file
> operations are sent to the backend file system.
> 
> A minor correction:
> 
> Specifies whether the write-behind translator performs flush operations in
> the background by faking a success to the application before even before
> flush file operations are sent to the backend file system.

Comment 23 Raghavendra G 2017-02-28 04:11:29 UTC
(In reply to Raghavendra G from comment #20)
> performance.strict-o-direct:

Similar changes are required for performance.nfs.strict-o-direct 

> 
> Specifies whether to attempt to minimize the cache effects of I/O for a
> file. If performance.write-behind is enabled, this option should be disabled.
> 
> Correction:
> The second line above is incorrect. This option is valid _only_ if
> performance.write-behind is _enabled_. So, please remove it. I've added some
> content below:
> 
> "Specifies whether to attempt to minimize the cache effects of I/O for a
> file. When an fd is opened with O_DIRECT flag, write-back caching is
> disabled for writes happening on that fd only if performance.strict-o-direct
> is set to on. If this option is off, O_DIRECT will have no effect on
> caching. In other words, O_DIRECT is ignored by write-behind if
> performance.strict-o-direct is off"

Comment 27 Prasad Desala 2017-03-09 11:00:48 UTC
Verified the link provided in Comment 26 and the changes looks good.
Moving this BZ to verified.

Comment 28 Prasad Desala 2017-03-09 11:05:34 UTC
Also, changes made in the doc provided in Comment 15 wrt write-behind looks good.

Comment 29 Laura Bailey 2017-03-24 01:08:47 UTC
Moving to CLOSED CURRENTRELEASE since RHGS 3.2 GA was yesterday. All documentation is available from https://access.redhat.com/documentation/en/red-hat-gluster-storage/.


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