Subject Re: [ib-support] forced writes off under NT/2K/XP
Author Helen Borrie
At 10:51 PM 16/02/2003 +0000, you wrote:
>Sorry if this has been answered before, but I just
>need a clarification. An earlier message states:
>"Forced Writes ON will write the data to disk as soon as
>there's a change.


>Forced Writes OFF, by definition, will
>write the data to disk when the system is idle,

True for non-Windows platforms

>but under
>Windows this is performed only when all of the connections
>are disconnected.

It's worse than this: there is evidence that asynchronous writes to disk
on Windows are deferred until the database server is shutdown. So, even if
there is idle time with no current connections, a 24/7 Windows server
effectively won't write to disk at all unless you deliberately do a server

> Your database could start with 3MB in
>size and insert 3GB and never see the physical size increase
>until all connections are disconnected. To my knowledge,
>the problem doesn't exist on the other platforms(OS)."
>Is this problem still present on Firebird 1.5 for NT?

Yes. It's an OS-specific problem, essentially, that relies on the OS
"behaving as expected" with asynchronous writes. Windows does not behave
as expected. Realise that Fb 1.5 is BETA (how many times do we need to
repeat this?) and it's fair to say that there is still a lot of cerebral
energy going into looking for a workaround for this quirk of
Windows. Maybe you will see a proven solution in 1.5, maybe not until the
next ODS upgrade (Fb 2).

>What about Firebird 1.02? What about Firebird 1.0?

Extraneous question...

>[On a sidenote, for a feature as potentially havoc-ridden
>as this, EMS Quickdesk does not issue a proper warning in
>the check box to disable it...]

I don't see why it should...a client program cannot tell which platform the
server is running on.

>Also, bug entry 447008 at sourceforge,
>is very confusing, the summary says:
>Win32 Forced Writes Default = ON
>With the introduction of IB 6.0 the default settings
>for newly created databases, under Win32, was chnaged
>to OFF. This change was made to improve database
>performance but at the expense of database
>So which is the default? ON or OFF?

The "change" in that very old bug-tracker report refers to the step from IB
5.x to IB 6. Switching the default to be FW on was one of the first things
that happened to the early Firebird code.

The default for IB 6.x (and probably IB 7, don't know for sure) is Forced
Writes OFF.

The default for _ALL_ versions of Firebird is Forced Writes ON. By
default, we mean - this is the setting of your server installation unless
you change it.