Subject: vacuum problem

From: David Feldcamp <[email-masked]>
Date: Thu, 21 May 92 14:49:17 -0700

I sent this problem in as a bug report a number of weeks ago, but since I haven't heard
anything and the performance degradation caused by not running vacuum is killing the
application, I thought I'd ask here...

After doing a 'vacuum' in the monitor I begin to get the message:

WARN:Apr 21 13:00:48:not enough memory for hashjoin.

frequently when doing non-trivial queries.  For example,

char	*quel =
	"retrieve unique (b.node) from a, b in graph "
		"where (a.node = STR) and (a.edge = b.edge) and (a.node != b.node) "
			"and (b.pid = %d) sort by node";

Not surpisingly, these queries did not return any results.  The number of instances
in the classes and the number of instances selected are both quite small (< 10) in
my test cases.

This has happened twice in the last two days.  The first time I ended up rebuilding
the entire installation (since there were other problems).  This corrected the problem.
The second time I did a destroydb on the affected database and then recreated it.
This also corrected the problem.  I was also able to reproduce the problem partially
(the message appeared but I still got the query results) by using 'vacuum' script
from the command line.

I never see this problem when I haven't run a vacuum on a database.  The only workaround
I've found is to destroy and recreate the database when the performance gets really
bad.

I am running version 3.1 on a 24MB Sun IPX, OS 4.1.2 (53MB swap) with the extended 
kernel IPC resources.