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
MaxUnflushedWrites = 0
MaxUnflushedWriteTime = -1
(As far as I see in strace, it issues fsync() at every commit at least.)