Greg Smith wrote:
> One of the components to the write queue is some notion that writes that
> have been waiting longest should eventually be flushed out. Linux has
> this number called dirty_expire_centiseconds which suggests it enforces
> just that, set to a default of 30 seconds. This is why some 5-minute
> interval checkpoints with default parameters, effectively spreading the
> checkpoint over 2.5 minutes, can work under the current design.
> Anything you wrote at T+0 to T+2:00 *should* have been written out
> already when you reach T+2:30 and sync. Unfortunately, when the system
> gets busy, there is this "congestion control" logic that basically
> throws out any guarantee of writes starting shortly after the expiration
> time.
Should we be writing until 2:30 then sleep 30 seconds and fsync at 3:00?
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +