Issue Details (XML | Word | Printable)

Key: DOC-104
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Norman Dunbar
Reporter: Коренберг Марк
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Documentation

gfix -write sync documentation is wrong

Created: 25/Feb/15 06:49 AM   Updated: 13/Feb/18 08:07 PM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Environment: Firebird 2.5


 Description  « Hide
http://www.firebirdsql.org/manual/gfix-sync.html

gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT."

THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss.

So, what I want:
1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file.
(Also, I'm not sure it is the same as forcedwrites=ON)
2. Add to documentation something like this:
"""
In order to bring performance/integrity to reasonable state, you may do that:
gfix -write async
Forced writes=off
MaxUnflushedWrites = 0
MaxUnflushedWriteTime = -1
"""
(As far as I see in strace, it issues fsync() at every commit at least.)

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Коренберг Марк made changes - 25/Feb/15 06:51 AM
Field Original Value New Value
Description http://www.firebirdsql.org/manual/gfix-sync.html

gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT."

THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss.

In order to bring performance/integrity to reasonable state, you may do that:



So, what I want:
1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file.
(Also, I'm not sure it is the same as forcedwrites=ON)
2. Add to documentation:
"""
gfix -write async
Forced writes=off
MaxUnflushedWrites = 0
MaxUnflushedWriteTime = -1
"""
(As far as I see in strace, it issues fsync() at every commit at least.)
http://www.firebirdsql.org/manual/gfix-sync.html

gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT."

THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss.

So, what I want:
1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file.
(Also, I'm not sure it is the same as forcedwrites=ON)
2. Add to documentation something like this:
"""
In order to bring performance/integrity to reasonable state, you may do that:
gfix -write async
Forced writes=off
MaxUnflushedWrites = 0
MaxUnflushedWriteTime = -1
"""
(As far as I see in strace, it issues fsync() at every commit at least.)
Dmitry Yemanov made changes - 25/Feb/15 08:19 PM
Project Web site [ 10007 ] Documentation [ 10005 ]
Key WEB-131 DOC-104
Assignee Alexey Kovyazin [ alexey.kovyazin ] Paul Vinkenoog [ paulvink ]
Paul Vinkenoog made changes - 11/Nov/15 02:51 PM
Assignee Paul Vinkenoog [ paulvink ] Norman Dunbar [ normandunbar ]
Norman Dunbar made changes - 13/Feb/18 08:07 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]