Subject Re: [ib-support] Firebird makes /tmp/core file, and it is HUGE
Author Helen Borrie
At 05:48 PM 02-08-02 -0700, William L. Thomson Jr. wrote:

>Now indexes I have a ton of and do queries based on them, mostly using
>containing queries using the indexes.
>So it must be a sort thing? I may have to make a few more and see. As
>when I do my partitions on my DB server I do not allocate much to /tmp
>as I never see it being used?
>I believe I have like 100+MB for /tmp, give or take 10-20MB's.
>So far that has been enough but if I do use sort, and /tmp files are
>needing to be written. Is there a negative outcome of the server trying
>to write/use a file in /tmp and not being able to?
>I just would like to know before I find myself in that situation.

Indeed: if the server runs out of sort space (doesn't have enough
available) your application will get a fairly fatal error.

If you don't configure sort space explicitly, your /tmp directory is used
by default. If it's physically not big enough to accommodate Firebird's
temp files at runtime (and sort files can get huge) then it doesn't have
any choice but to abend. Each operation has its own sort files, so 100
users all simultaneously doing an ordered query of the select * from
MyMegaTable will potentially eat lots of sort space. You will make your
server a lot more robust by configuring it to use its own specific sort
space (see OpGuide) on a partition that you know will always have enough
space for maximum likely needs.

However, the server is very tidy about cleaning up sort files, AS LONG AS
IT KNOWS ABOUT THEM. If you have users who crash out of operations, or
applications that crash the server, then sort files will get marooned in
your sort space. The server doesn't have any way to revisit the sort space
on restart and make decisions about files that have been left behind
because of abends; and you can't put a gallon into a pint bottle.

If you are logged in as a user with read permissions on the temp sort
spaces (yes, you can configure multiple spaces...) then you can look at
temp files during operations. In the normal course of events, the files
will disappear when the transactions using them are committed or rolled
back; or when the server is shut down normally.

However, I'm a bit doubtful that Firebird is writing any files to a file or
directory named /tmp/core. The /tmp directory is globally configured, for
use by apps and the OS. Firebird's temp files have dynamically generated
names with numbers in them which are, by default (i.e. if you didn't
configure space specifically) written into /tmp. Is "core" the name of the
file or the name of a directory? On RH 7.2 I see Firebird temp files but
they aren't named "core"... It looks a bit like a core dump...


All for Open and Open for All
Firebird Open SQL Database · ·