Problems with a large hash table

Mediratta, Bharat bharat@fusionone.com
Sun, 25 Nov 2001 23:47:34 -0800


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C1764E.9C6A66B0
Content-Type: text/plain;
	charset="iso-8859-1"


Today I started getting the following message in my syslog,
using v1.0.34:

starting `/usr/local/dcc/libexec -R -i 1003 -h /usr/local/dcc
execlp(/usr/local/dcc/libexec -R -i 1003 -h /usr/local/dcc: Permission
denied

This is weird.  For starters, "libexec" is a directory, not a
program.  Perhaps I'm reading the output wrong, though.  So,
I stop my dccd using cdcc.  Then when I try to restart dccd
I get the following message:

/usr/local/dcc/dcc_db.hash is filled with 303101 entries

And then dccd fails to start.  I check in my /usr/local/dcc 
directory and I see that there's a 30Mb dcc_db file, a 30Mb 
dcc_db-old file and no dcc_db.hash file.  Hmm.  I go and get 
1.0.36 and install it and try to start dccd with that version.
Same error.  So I run "dbclean -S" (which I never do normally) 
and it churns away for a while  generating:

1.0.36 expired 118152 records and 118171 checksums in /usr/local/dcc/dcc_db
hashed 132654 records containing 971410 checksums, compressed 0 records
1220608 hash entries total, 303089 or 24% used

Now I have the 30Mb dcc_db files but I also have a 13Mb dcc_db.hash
file.  And now I can start dccd.

So my questions are:
1. What did I do wrong?
2. What can I do to prevent it from happening again?

Thanks!
-Bharat

------_=_NextPart_001_01C1764E.9C6A66B0
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>Problems with a large hash table</TITLE>
</HEAD>
<BODY>
<BR>

<P><FONT SIZE=2>Today I started getting the following message in my syslog,</FONT>
<BR><FONT SIZE=2>using v1.0.34:</FONT>
</P>

<P><FONT SIZE=2>starting `/usr/local/dcc/libexec -R -i 1003 -h /usr/local/dcc</FONT>
<BR><FONT SIZE=2>execlp(/usr/local/dcc/libexec -R -i 1003 -h /usr/local/dcc: Permission denied</FONT>
</P>

<P><FONT SIZE=2>This is weird.&nbsp; For starters, &quot;libexec&quot; is a directory, not a</FONT>
<BR><FONT SIZE=2>program.&nbsp; Perhaps I'm reading the output wrong, though.&nbsp; So,</FONT>
<BR><FONT SIZE=2>I stop my dccd using cdcc.&nbsp; Then when I try to restart dccd</FONT>
<BR><FONT SIZE=2>I get the following message:</FONT>
</P>

<P><FONT SIZE=2>/usr/local/dcc/dcc_db.hash is filled with 303101 entries</FONT>
</P>

<P><FONT SIZE=2>And then dccd fails to start.&nbsp; I check in my /usr/local/dcc </FONT>
<BR><FONT SIZE=2>directory and I see that there's a 30Mb dcc_db file, a 30Mb </FONT>
<BR><FONT SIZE=2>dcc_db-old file and no dcc_db.hash file.&nbsp; Hmm.&nbsp; I go and get </FONT>
<BR><FONT SIZE=2>1.0.36 and install it and try to start dccd with that version.</FONT>
<BR><FONT SIZE=2>Same error.&nbsp; So I run &quot;dbclean -S&quot; (which I never do normally) </FONT>
<BR><FONT SIZE=2>and it churns away for a while&nbsp; generating:</FONT>
</P>

<P><FONT SIZE=2>1.0.36 expired 118152 records and 118171 checksums in /usr/local/dcc/dcc_db</FONT>
<BR><FONT SIZE=2>hashed 132654 records containing 971410 checksums, compressed 0 records</FONT>
<BR><FONT SIZE=2>1220608 hash entries total, 303089 or 24% used</FONT>
</P>

<P><FONT SIZE=2>Now I have the 30Mb dcc_db files but I also have a 13Mb dcc_db.hash</FONT>
<BR><FONT SIZE=2>file.&nbsp; And now I can start dccd.</FONT>
</P>

<P><FONT SIZE=2>So my questions are:</FONT>
<BR><FONT SIZE=2>1. What did I do wrong?</FONT>
<BR><FONT SIZE=2>2. What can I do to prevent it from happening again?</FONT>
</P>

<P><FONT SIZE=2>Thanks!</FONT>
<BR><FONT SIZE=2>-Bharat</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C1764E.9C6A66B0--